Interactive guide for creating, reviewing, and improving agent skills (SKILL.md folders). Use when the user wants to build a new skill ('create a skill', 'make a skill for X', 'write a SKILL.md', 'turn this workflow into a skill'), review or improve an existing skill, fix a skill that never triggers or triggers too often, or validate a skill folder before sharing it. Do NOT use for general prompt writing, MCP server development, or editing arbitrary markdown files.
74
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
A skill is a folder that teaches an agent how to handle a specific task or workflow:
your-skill-name/
├── SKILL.md # Required — YAML frontmatter + Markdown instructions
├── scripts/ # Optional — executable code (Python, Bash, ...)
├── references/ # Optional — docs loaded only when needed
└── assets/ # Optional — templates, fonts, icons used in outputSkills rely on progressive disclosure: the frontmatter is always in context (so it decides when the skill loads), the SKILL.md body loads when relevant, and linked files load only on demand. Keep each level as small as it can be.
Before writing anything, pin down with the user:
Write each use case as: Trigger → Steps → Result. If the user is vague, propose use cases and confirm rather than guessing silently.
Identify the category — it shapes the structure:
my-skill — no spaces, capitals, or underscores) and it should match the frontmatter name.SKILL.md must be named exactly that, case-sensitive.README.md inside the skill folder.references/ and link to it.The frontmatter is the single most important part — it alone decides whether the skill ever loads.
---
name: your-skill-name
description: [What it does] + [When to use it, with literal trigger phrases] + [negative triggers if needed]
---Rules (hard requirements):
description MUST state both WHAT the skill does and WHEN to use it, under 1024 characters.name must not use reserved prefixes ("claude", "anthropic").Weak: description: Helps with projects.
Strong: description: Manages Linear sprint workflows including planning, task creation, and status tracking. Use when the user mentions "sprint", "Linear tasks", or asks to "create tickets".
For all optional fields (license, compatibility, metadata, allowed-tools) and more good/bad examples, read references/frontmatter.md.
Recommended body structure:
# Skill Name
## Instructions
### Step 1: [First major step]
Exact commands / tool calls, with expected output described.
## Examples
User says X → actions → result.
## Troubleshooting
Error → cause → fix.Best practices:
## Important headers for must-not-skip rules.For proven structural patterns (sequential orchestration, multi-MCP coordination, iterative refinement, context-aware tool selection, domain-specific intelligence), read references/patterns.md.
Run the bundled validator on the skill folder:
python scripts/validate_skill.py /path/to/your-skill-nameIt checks naming, frontmatter format and length, forbidden content, missing linked files, and body size. Fix every ERROR; treat WARNINGs as review prompts. Expected output on success: PASS with 0 errors.
Iterate on a single challenging task until it succeeds, then extract the winning approach into the skill — this gives faster signal than broad testing. Then cover:
Debugging trick: ask the agent "When would you use the [name] skill?" — it will paraphrase the description back; fix what's missing.
Full test-case templates and iteration signals are in references/testing.md.
When asked to review or improve a skill:
python scripts/validate_skill.py <folder>.references/.Before delivering a skill, verify:
nameSKILL.md exact filename; no README.md inside the folder--- delimiters, name, and a WHAT+WHEN description under 1024 charsscripts/, references/, assets/ file actually existsvalidate_skill.py passes with 0 errorsff87d47
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.