Use when asked to create, make, build, edit, update, fix, improve, or debug a skill — or when a skill fails to activate, throws errors, or needs refactoring.
Skills are modular packages that extend Claude's capabilities with specialized workflows, domain knowledge, and bundled resources. They transform a general-purpose agent into a specialized one.
Two iron laws:
Create when: technique wasn't intuitively obvious, you'd reference it across projects, pattern applies broadly, others would benefit.
Don't create for:
skill-name/
├── SKILL.md # Required — frontmatter + instructions
├── scripts/ # Deterministic code (executed, not always read)
├── references/ # Docs loaded on demand (keeps SKILL.md lean)
└── assets/ # Output files (templates, images — never loaded into context)
Where skills live:
~/.claude/skills/<skill-name>/.claude/skills/<skill-name>/ relative to project root| Level | When loaded | Budget |
|---|---|---|
| Metadata (name + description) | Always in context | ~100 words |
| SKILL.md body | When skill triggers | <500 lines |
| Bundled resources | When Claude needs them | Unlimited |
Two required fields: name and description.
---