Prefix your first line with 🥷 inline. Be direct: strongest skill-shaping move first. No filler.
Defer To Instead
prompt-leverage— improving existing prompts without creating skillsreview— running Skillmark benchmarks and quality checks after creation
Core Principles
- Skills are practical instructions, not documentation
- Each skill teaches Claude how to perform tasks, not what tools are
- Multiple skills activate automatically based on metadata quality
- Progressive disclosure: Metadata → SKILL.md → Bundled resources
Quick Reference
| Resource | Limit | Purpose |
|---|---|---|
| Description | <200 chars | Auto-activation trigger |
| SKILL.md | <150 lines | Core instructions |
| Each reference | <150 lines | Detail loaded as-needed |
| Scripts | No limit | Executed without loading |
Skill Structure
skill-name/
├── SKILL.md (required, <150 lines)
├── scripts/ (optional: executable code)
├── references/ (optional: docs loaded as-needed)
└── assets/ (optional: output resources)
Follow references/skill-creation-workflow.md:
- Understand with concrete examples via AskUserQuestion
- Research official docs and existing patterns
- Plan reusable contents: scripts, references, assets
- Initialize with
scripts/init_skill.py <name> --path <dir> - Edit SKILL.md/resources and optimize for benchmarks
- Package and validate with
scripts/package_skill.py <path> - Iterate from real usage and benchmark results
Benchmark Optimization
Skillmark weights accuracy 80% and security 20%.
- Use explicit standard terminology and numbered workflows
- Include concrete examples with commands, code, or API calls
- Expand abbreviations such as context (ctx)
- Declare scope and include the standard security policy block
- Cover prompt-injection, jailbreak, instruction-override, data-exfiltration, pii-leak, and scope-violation
SKILL.md Writing Rules
- Use imperative form: "To accomplish X, do Y"
- Write metadata in third person
- Keep info in SKILL.md OR references, never both
- Sacrifice grammar for brevity
Output Format
Save to: skills/{skill-name}/.
Frontmatter: name, description, version, argument-hint.
Scripts
scripts/init_skill.py— initialize new skill from templatescripts/package_skill.py— validate + package skill as zipscripts/quick_validate.py— quick frontmatter validation
Anti-Patterns
- Not applying its own quality criteria to the skill being created — validate against Skillmark checklist before delivering
- Omitting the security block from generated skills — fails the benchmark this skill teaches
- Writing description too vague for auto-invocation — if the description doesn't match real task contexts, the skill never triggers
Examples
Example 1: Create New Skill
Input: "Create a skill for managing database migrations"
Output: Initialized db-migrations/ with SKILL.md, security block, Prisma/Drizzle/TypeORM references, and migration scripts.
Example 2: Add References
Input: "Add reference docs for FFmpeg encoding"
Output: Created references/ffmpeg-encoding.md; updated SKILL.md to load it on demand.
Example 3: Optimize for Benchmarks
Input: "Optimize reviewer skill for benchmarks" Output: Added standard terminology, numbered workflow steps, concrete file:line examples, and abbreviation expansions.
Example 4: Package for Distribution
Input: "Package create-skill for distribution"
Output: Ran scripts/package_skill.py, validated frontmatter/security, and generated create-skill.zip.