Skill Creator
Guide for creating effective skills that extend Claude's capabilities.
About Skills
Skills are modular, self-contained packages providing:
- Specialized workflows
- Tool integrations
- Domain expertise
- Bundled resources
Core Principles
Concise is Key
The context window is shared. Only add context Claude doesn't already have. Challenge each piece: "Does Claude really need this?"
Set Appropriate Degrees of Freedom
- High freedom: Text instructions for flexible tasks
- Medium freedom: Pseudocode/scripts with parameters
- Low freedom: Specific scripts for fragile operations
Anatomy of a Skill
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter (name, description)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ - Executable code
├── references/ - Documentation for context
└── assets/ - Files for output
Progressive Disclosure
Three-level loading:
- Metadata - Always in context (~100 words)
- SKILL.md body - When skill triggers (<5k words)
- Bundled resources - As needed (unlimited)
Skill Creation Process
Step 1: Understand with Examples
Gather concrete examples of how the skill will be used.
Step 2: Plan Reusable Contents
Identify scripts, references, and assets needed.
Step 3: Initialize
scripts/init_skill.py <skill-name> --path <output-directory>
Step 4: Edit the Skill
- Implement scripts, references, assets
- Update SKILL.md with instructions
- Keep SKILL.md under 500 lines
Step 5: Package
scripts/package_skill.py <path/to/skill-folder>
Step 6: Iterate
Test on real tasks, notice struggles, improve.
SKILL.md Guidelines
Frontmatter:
name: Skill namedescription: What it does AND when to use it
Body:
- Use imperative/infinitive form
- Reference bundled resources
- Keep under 500 lines