The Complete Guide to Building Skills for Claude
Source: Anthropic (claude.ai)
TLDR: Skills are folders containing SKILL.md + optional scripts/references that teach Claude workflows. Use progressive disclosure, good YAML frontmatter, and the skill-creator to build effective skills in 15–30 minutes.
Introduction
A skill is a set of instructions — packaged as a simple folder — that teaches Claude how to handle specific tasks or workflows. Skills are one of the most powerful ways to customize Claude for your specific needs. Instead of re-explaining your preferences, processes, and domain expertise in every conversation, skills let you teach Claude once and benefit every time.
Skills are powerful when you have repeatable workflows: generating frontend designs from specs, conducting research with consistent methodology, creating documents that follow your team's style guide, or orchestrating multi-step processes. They work well with Claude's built-in capabilities like code execution and document creation. For those building MCP integrations, skills add another powerful layer helping turn raw tool access into reliable, optimized workflows.
What you'll learn:
- Technical requirements and best practices for skill structure
- Patterns for standalone skills and MCP-enhanced workflows
- How to test, iterate, and distribute your skills
Who this is for:
- Developers who want Claude to follow specific workflows consistently
- Power users who want Claude to follow specific workflows
- Teams looking to standardize how Claude works across their organization
Chapter 1: Fundamentals
What is a skill?
A skill is a folder containing:
- SKILL.md (required): Instructions in Markdown with YAML frontmatter
- scripts/ (optional): Executable code (Python, Bash, etc.)
- references/ (optional): Documentation loaded as needed
- assets/ (optional): Templates, fonts, icons used in output
Core design principles
Progressive Disclosure
Skills use a three-level system:
- First level (YAML frontmatter): Always loaded in Claude's system prompt. Provides just enough information for Claude to know when each skill should be used.
- Second level (SKILL.md body): Loaded when Claude thinks the skill is relevant to the current task. Contains the full instructions and guidance.
- Third level (Linked files): Additional files bundled within the skill directory that Claude can choose to navigate and discover only as needed.
Composability
Claude can load multiple skills simultaneously. Your skill should work well alongside others, not assume it's the only capability available.
Portability
Skills work identically across Claude.ai, Claude Code, and API. Create a skill once and it works across all surfaces without modification.
Skills + MCP
MCP provides the professional kitchen: access to tools, ingredients, and equipment. Skills provide the recipes: step-by-step instructions on how to create something valuable.
| MCP (Connectivity) | Skills (Knowledge) |
|---|
| Connects Claude to your service | Teaches Claude how to use your service effectively |
| Provides real-time data access | Captures workflows and best practices |
| What Claude can do | How Claude should do it |
Chapter 2: Planning and Design
Start with use cases
Before writing any code, identify 2–3 concrete use cases your skill should enable.
Good use case definition:
- Trigger: User says "help me plan this sprint" or "create sprint tasks"
- Steps: Fetch project status, analyze velocity, suggest prioritization, create tasks
- Result: Fully planned sprint with tasks created
Common skill categories:
Document & Asset Creation — consistent output (documents, designs, code)
Workflow Automation — multi-step processes with validation
MCP Enhancement — workflow guidance on top of tool access
Define success criteria
- Skill triggers on 90% of relevant queries
- Completes workflow in fewer tool calls than baseline
- 0 failed API calls per workflow
- Users don't need to prompt about next steps
Chapter 3: Technical Requirements
File structure
your-skill-name/
├── SKILL.md # Required - main skill file
├── scripts/ # Optional - executable code
├── references/ # Optional - documentation
└── assets/ # Optional - templates, etc.
Critical rules
- SKILL.md: Must be exactly SKILL.md (case-sensitive)
- Folder naming: Use kebab-case (
notion-project-setup ✅) - No README.md inside the skill folder — all docs go in SKILL.md or references/
YAML frontmatter (required)
---
name: your-skill-name
description: What it does. Use when user asks to [specific phrases].
---
Description requirements:
- Include BOTH: what the skill does AND when to use it (trigger conditions)
- Under 1024 characters
- No XML tags
- Include specific tasks users might say
Good description example:
description: Manages Linear project workflows including sprint planning, task creation,
and status tracking. Use when user mentions "sprint", "Linear tasks", "project planning",
or asks to "create tickets".
Chapter 4: Testing and Iteration
Testing approaches
Manual testing in Claude.ai — fast iteration
Scripted testing in Claude Code — repeatable validation
Programmatic testing via skills API — evaluation suites
Recommended testing areas
Triggering tests — skill loads at the right times
Functional tests — correct outputs, API success
Performance comparison — fewer tool calls, fewer tokens vs. baseline
Using the skill-creator skill
Say: "Use the skill-creator skill to help me build a skill for [your use case]"
It can generate skills from descriptions, review for issues, and suggest improvements. Expect 15–30 minutes to build and test your first working skill.
Chapter 5: Distribution and Sharing
Current distribution (January 2026)
Download the skill folder
Zip if needed
Upload to Claude.ai via Settings > Capabilities > Skills
Or place in Claude Code skills directory
Via API: Use
/v1/skills endpoint and
container.skills parameter for programmatic use.
Recommended approach
Host on GitHub — public repo, clear README, example usage
Document in your MCP repo — link to skills, explain value of using both
Create installation guide — download, install, enable, test
Positioning: Focus on outcomes, not features. "Enables teams to set up complete project workspaces in seconds" beats "YAML frontmatter and Markdown instructions."
Chapter 6: Patterns and Troubleshooting
Common patterns
Sequential workflow orchestration — multi-step processes in order
Multi-MCP coordination — workflows spanning multiple services
Iterative refinement — output quality improves with iteration
Context-aware tool selection — same outcome, different tools by context
Domain-specific intelligence — specialized knowledge beyond tool access
Troubleshooting
Skill won't upload
- "Could not find SKILL.md" → Rename to exactly SKILL.md
- "Invalid frontmatter" → Check YAML delimiters (---)
- "Invalid skill name" → Use kebab-case, no spaces
Skill doesn't trigger
- Revise description: add trigger phrases, be specific
- Ask Claude: "When would you use the [skill name] skill?" — adjust based on response
Skill triggers too often
- Add negative triggers to description
- Be more specific about scope
MCP connection issues
- Verify MCP server is connected
- Check API keys and permissions
- Test MCP independently without skill
Instructions not followed
- Keep instructions concise
- Put critical instructions at the top
- Use explicit validation ("CRITICAL: Before calling X, verify...")
Chapter 7: Resources and References
Official documentation
- Best Practices Guide
- Skills Documentation
- API Reference
- MCP Documentation
Example skills
- GitHub: anthropics/skills — Anthropic-created skills to customize
- Partner Skills Directory — Asana, Atlassian, Canva, Figma, Sentry, Zapier, and more
Quick checklist
Before you start: Identified 2–3 use cases, tools identified, reviewed guide
During development: Folder kebab-case, SKILL.md exists, YAML has --- delimiters, name kebab-case, description has WHAT + WHEN, no XML tags
Before upload: Tested triggering, functional tests pass, compressed as .zip
After upload: Test in real conversations, monitor under/over-triggering, iterate