Skill Structure
A skill is a directory containing aSKILL.md file with YAML frontmatter:
SKILL.md Format
Frontmatter Fields
- name — unique identifier for the skill (kebab-case)
- description — routing description that tells the agent when to use this skill. Write it as decision logic, not marketing copy.
How Skills Work at Runtime
- Agent sees skill metadata (name + description) in its context
- Agent decides whether the skill is relevant to its current task
- If relevant, agent loads the full SKILL.md content
- Agent follows the instructions in the skill
Best Practices
- Write descriptions as routing logic — include “use when” and “don’t use when” guidance
- Be specific and actionable — agents should be able to follow skills without ambiguity
- Include code examples — concrete API calls and command examples are more reliable than prose
- Keep skills focused — one skill per concern; don’t combine unrelated procedures
- Reference files sparingly — put supporting detail in
references/rather than bloating the main SKILL.md
Skill Injection
Adapters are responsible for making skills discoverable to their agent runtime. Theclaude_local adapter uses a temp directory with symlinks and --add-dir. The codex_local adapter uses the global skills directory. See the Creating an Adapter guide for details.