diff --git a/tools/skill-validator.md b/tools/skill-validator.md index c65d90ef9..4ed4b3eda 100644 --- a/tools/skill-validator.md +++ b/tools/skill-validator.md @@ -325,7 +325,7 @@ If zero findings: report "All {N} rules passed. No findings." and list all passe ## Skill Spec Cheatsheet -Quick-reference for the Agent Skills open standard and Claude Code extensions. +Quick-reference for the Agent Skills open standard. For the full standard, see: [Agent Skills specification](https://agentskills.io/specification) ### Structure @@ -351,48 +351,6 @@ For the full standard, see: [Agent Skills specification](https://agentskills.io/ - Skills are filesystem-based directories, not API payloads — Claude reads them via bash/file tools - Keep SKILL.md focused; offload detailed reference to separate files -### Cross-platform portability -- Same SKILL.md format works on Claude Code, Claude API, Claude.ai, Agent SDK -- Runtime differs per surface: Code has full network access, API has none, claude.ai varies -- Skills don't sync across surfaces — deploy separately to each - -### Extra frontmatter fields (Claude Code only) -- `disable-model-invocation`: `true` = only user can invoke via `/name` -- `user-invocable`: `false` = hidden from `/` menu, only Claude auto-loads it -- `allowed-tools`: restrict tools available during skill execution -- `model`: override model for this skill -- `context`: `fork` runs skill in isolated subagent -- `agent`: which subagent type for `context: fork` — `Explore`, `Plan`, `general-purpose`, or custom -- `hooks`: skill-scoped lifecycle hooks -- `argument-hint`: autocomplete hint like `[issue-number]` - -### String substitutions -- `$ARGUMENTS` / `$ARGUMENTS[N]` / `$N` — argument placeholders -- `${CLAUDE_SESSION_ID}` — current session ID -- If `$ARGUMENTS` absent from content, args appended as `ARGUMENTS: ` - -### Dynamic context injection -- `` !`command` `` syntax runs shell commands at load time, output replaces placeholder -- Runs before Claude sees content — pure preprocessing - -### Subagent execution -- `context: fork` = skill runs in isolated context without conversation history -- Only useful for skills with explicit task instructions, not pure guidelines -- `agent` field picks execution environment; defaults to `general-purpose` - -### Invocation control matrix -| Frontmatter | User invokes | Claude invokes | Description in context | -|---|---|---|---| -| (default) | yes | yes | yes | -| `disable-model-invocation: true` | yes | no | no | -| `user-invocable: false` | no | yes | yes | - -### Context budget -- Skill descriptions budget = 2% of context window, fallback 16k chars -- Override with `SLASH_COMMAND_TOOL_CHAR_BUDGET` env var - ### Practical tips - Keep SKILL.md under 500 lines - `description` drives auto-discovery — use keywords users would naturally say -- Include "ultrathink" in skill content to enable extended thinking -- `.claude/commands/` files still work but skills take precedence on name collision