Skill File Format
A skill is a singleSKILL.md file with YAML frontmatter and Markdown instructions:
Complete SKILL.md Example
API Review: [endpoint or spec name]
Overall: [Looks good / Needs minor fixes / Needs redesign]Issues
- [METHOD /path] [category]: Issue description. Suggestion: …
Positives
- What is well-designed
Frontmatter Reference
string
required
Unique skill identifier in kebab-case. Must be unique across all loaded skills.
string
required
One-sentence description shown in skill lists and the UI.
string
required
Semver version string (e.g.,
"1.0.0").boolean
default:"true"
Whether this skill appears as a slash command. Set to
false for background/system skills.boolean
default:"false"
Prevent the AI from auto-activating this skill based on trigger patterns.
string
Set to
"tool" to route slash command invocation directly to a tool instead of injecting as instructions.string
Tool name to dispatch to when
command-dispatch: tool.string
How to pass slash command args to the tool:
"raw" (as a string) or "parsed" (as structured params).Metadata JSON Schema
Themetadata field is a JSON string (or YAML block scalar) with this structure:
Writing Good Instructions
Be Specific About Tool Usage
Instead of “look at the code”, tell the AI exactly which tools to use:Provide Output Format Templates
Give the AI a concrete output structure to follow:Include Example Interactions
Command Dispatch Skill
For simple slash commands that just run a tool, use command dispatch instead of instructions:/run-tests src/auth.test.ts calls test_run with the file argument.
Testing Your Skill
Related Docs
Using Skills
How to invoke and manage skills.
ClawHub
Publish your skills to the community marketplace.