Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Guide for creating effective skills. Use when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
.claude/skills/kxiandaoyan-skill-creator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-14 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 71% | 0% |
This skill provides guidance for creating effective skills.
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialized knowledge, workflows, and tools. Think of them as "onboarding guides" for specific domains or tasks—they transform Claude from a general-purpose agent into a specialized agent equipped with procedural knowledge that no model can fully possess.
The context window is a public good. Skills share the context window with everything else Claude needs: system prompt, conversation history, other Skills' metadata, and the actual user request.
Default assumption: Claude is already very smart. Only add context Claude doesn't already have. Challenge each piece of information: "Does Claude really need this explanation?" and "Does this paragraph justify its token cost?"
Prefer concise examples over verbose explanations.
Match the level of specificity to the task's fragility and variability:
High freedom (text-based instructions): Use when multiple approaches are valid, decisions depend on context, or heuristics guide the approach.
Medium freedom (pseudocode or scripts with parameters): Use when a preferred pattern exists, some variation is acceptable, or configuration affects behavior.
Low freedom (specific scripts, few parameters): Use when operations are fragile and error-prone, consistency is critical, or a specific sequence must be followed.
Think of Claude as exploring a path: a narrow bridge with cliffs needs specific guardrails (low freedom), while an open field allows many routes (high freedom).
Every skill consists of a required SKILL.md file and optional bundled resources:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter: name (required), description (required)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash/etc.)
├── references/ - Documentation loaded into context as needed
└── assets/ - Files used in output (templates, icons, etc.)references/ files and link from SKILL.mdDo NOT include: README.md, CHANGELOG.md, or other auxiliary documentation. Skills are for AI agents, not users.
Three-level loading system:
Keep SKILL.md under 500 lines. When splitting content to references, clearly describe when to read them.
Key principle: Keep core workflow in SKILL.md; move variant-specific details to reference files.
Example structure for multi-domain skills:
bigquery-skill/
├── SKILL.md (overview + navigation)
└── references/
├── finance.md
├── sales.md
└── product.mdClaude only loads the relevant reference file when needed.
Ask: "What would a user say to trigger this skill?" Collect 3-5 real examples.
For each example, identify what scripts, references, or assets would avoid repeated work.
| Resource Type | When to Use | Example | | ------------- | ------------------------------- | ------------------------------------- | | scripts/ | Code rewritten repeatedly | rotate_pdf.py for PDF rotation | | assets/ | Same boilerplate each time | HTML/React starter for webapp builder | | references/ | Documentation needed repeatedly | Database schemas for BigQuery skill |
markdown--- name: my-skill description: Brief description of what it does and when to use it. --- # My Skill [Core instructions here — only what Claude needs and doesn't already know] ## Quick Start [Most common usage] ## Guidelines [Key rules and constraints]
Writing Guidelines: Always use imperative/infinitive form.
Write the YAML frontmatter with name and description:
name: The skill namedescription: Primary trigger mechanism. Must include what the skill does AND when to use it (body only loads after triggering).Write instructions for using the skill and its bundled resources. Keep it concise and focused on what Claude needs to know.
scripts/ — deterministic code to avoid rewritingreferences/ — detailed docs, schemas, API specsassets/ — templates, fonts, boilerplate filesAvoid duplication: Information lives in SKILL.md OR references, not both.
Test on real tasks. Improve based on actual performance gaps.
Iteration workflow:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-14 | fail→pass | 9,922 | 5,162 | -48% | 1 | 1 | 0% | 1,603 | 2,130 | +33% | 0 | 0 | — |
case-01 | fail→pass | 17,560 | 9,760 | -44% | 1 | 1 | 0% | 3,063 | 3,031 | -1% | 0 | 0 | — |
case-02 | pass→pass | 19,114 | 13,417 | -30% | 1 | 1 | 0% | 3,098 | 3,563 | +15% | 0 | 0 | — |
case-03 | fail→fail | 15,117 | 9,190 | -39% | 1 | 1 | 0% | 2,452 | 2,863 | +17% | 0 | 0 | — |
case-04 | pass→pass | 5,115 | 5,174 | +1% | 1 | 1 | 0% | 941 | 2,267 | +141% | 0 | 0 | — |
case-05 | pass→pass | 4,532 | 3,148 | -31% | 1 | 1 | 0% | 813 | 1,860 | +129% | 0 | 0 | — |
case-06 | pass→pass | 3,367 | 2,676 | -21% | 1 | 1 | 0% | 580 | 1,783 | +207% | 0 | 0 | — |
case-07 | fail→pass | 15,719 | 10,971 | -30% | 1 | 1 | 0% | 2,458 | 3,076 | +25% | 0 | 0 | — |
case-13 | pass→pass | 10,374 | 4,612 | -56% | 1 | 1 | 0% | 1,671 | 2,124 | +27% | 0 | 0 | — |
case-08 | pass→pass | 17,786 | 11,660 | -34% | 1 | 1 | 0% | 2,628 | 3,185 | +21% | 0 | 0 | — |
case-09 | pass→pass | 9,178 | 3,439 | -63% | 1 | 1 | 0% | 1,401 | 1,895 | +35% | 0 | 0 | — |
case-10 | pass→pass | 11,393 | 5,388 | -53% | 1 | 1 | 0% | 1,760 | 2,296 | +30% | 0 | 0 | — |
case-11 | fail→pass | 15,452 | 8,031 | -48% | 1 | 1 | 0% | 2,678 | 2,637 | -2% | 0 | 0 | — |
case-12 | fail→pass | 6,419 | 2,956 | -54% | 1 | 1 | 0% | 1,073 | 1,830 | +71% | 0 | 0 | — |
case-15 | pass→pass | 8,342 | 3,117 | -63% | 1 | 1 | 0% | 1,361 | 1,760 | +29% | 0 | 0 | — |
case-16 | fail→pass | 8,017 | 2,900 | -64% | 1 | 1 | 0% | 1,424 | 1,773 | +25% | 0 | 0 | — |
case-17 | pass→pass | 11,245 | 5,513 | -51% | 1 | 1 | 0% | 1,711 | 2,147 | +25% | 0 | 0 | — |
case-18 | pass→pass | 16,186 | 7,340 | -55% | 1 | 1 | 0% | 2,520 | 2,546 | +1% | 0 | 0 | — |
case-19 | pass→pass | 14,492 | 7,252 | -50% | 1 | 1 | 0% | 2,321 | 2,618 | +13% | 0 | 0 | — |
case-20 | pass→pass | 6,460 | 2,724 | -58% | 1 | 1 | 0% | 860 | 1,758 | +104% | 0 | 0 | — |
case-21 | pass→pass | 13,828 | 5,136 | -63% | 1 | 1 | 0% | 2,108 | 2,087 | -1% | 0 | 0 | — |
case-22 | fail→pass | 7,915 | 2,825 | -64% | 1 | 1 | 0% | 1,194 | 1,721 | +44% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.