Expert guidance for creating, writing, building, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices.
<essential_principles> Skills are modular, filesystem-based capabilities that provide domain expertise on demand. This skill teaches how to create effective skills.
1. Skills Are Prompts — All prompting best practices apply. Be clear, be direct, use XML structure. Assume Claude is smart - only add context Claude doesn't have.
2. SKILL.md Is Always Loaded — When a skill is invoked, Claude reads SKILL.md. Use this guarantee:
3. Router Pattern for Complex Skills
skill-name/
├── SKILL.md # Router + principles
├── workflows/ # Step-by-step procedures (FOLLOW)
├── references/ # Domain knowledge (READ)
├── templates/ # Output structures (COPY + FILL)
└── scripts/ # Reusable code (EXECUTE)
SKILL.md asks "what do you want to do?" → routes to workflow → workflow specifies which references to read.
When to use each folder:
4. Pure XML Structure — No markdown headings (#, ##, ###) in skill body. Use semantic XML tags:
<objective>...</objective>
<process>...</process>
<success_criteria>...</success_criteria>
Keep markdown formatting within content (bold, lists, code blocks).
5. Progressive Disclosure — SKILL.md under 500 lines. Split detailed content into reference files. Load only what's needed for the current workflow. </essential_principles>
Wait for response before proceeding. </intake>
Progressive disclosure for option 1 (create):
Progressive disclosure for option 3 (add component):
Intent-based routing (if user provides clear intent without selecting menu):
After reading the workflow, follow it exactly. </routing>
<quick_reference> Simple skill (single file):
---