Claude Skills are modular, reusable instruction sets that teach Claude domain-specific expertise, workflows, and best practices. Think of them as plug-in knowledge modules: instead of re-prompting Claude with the same context every session, you define a Skill once — a structured SKILL.md file — and Claude reads it before tackling relevant tasks.
Skills 1.0 introduced the concept. Skills 2.0 matures it into a composable, production-ready system.
What's New in Skills 2.0
1. Composable Skill Stacks
The biggest architectural shift in 2.0 is skill composition. Claude can now read and apply multiple skills in a single task, combining their guidance intelligently.
For example, a request like "create an AI-powered Word document summarizing this PDF" might trigger:
/mnt/skills/public/pdf/SKILL.md— for PDF extraction best practices/mnt/skills/public/docx/SKILL.md— for Word document generation- An Anthropic API skill — for the AI-powered summarization layer
Claude resolves conflicts between skills gracefully, prioritizing user-uploaded skills over public ones, and more specific guidance over general guidance.
2. Scoped Skill Tiers
Skills are now organized into three tiers with clear precedence:
| Tier | Path | Description |
|---|---|---|
| Public | /mnt/skills/public/ | Maintained by Anthropic. Broadly applicable. |
| Example | /mnt/skills/examples/ | Reference implementations. Use as templates. |
| User | /mnt/skills/user/ | Your custom skills. Highest priority. |
User-uploaded skills override public ones when both apply to the same task — giving teams full control over Claude's behavior in their domain.
3. Richer SKILL.md Schema
Skills 2.0 formalizes the SKILL.md structure with a YAML frontmatter block:
---
name: my-skill
description: When and why Claude should use this skill.
license: Complete terms in LICENSE.txt
---
## Context
...
## Steps
...
The description field is critical — Claude uses it to decide whether to load the skill at all. A well-written description acts as a routing predicate. Poor descriptions mean the skill gets missed; precise ones mean it fires reliably.
4. Skill Auto-Discovery
Claude now scans available skill directories at the start of relevant tasks. Rather than requiring explicit skill invocation, Claude uses the view tool to list and read applicable SKILL.md files before writing any code or producing output.
This is a shift from imperative skill loading (you tell Claude which skill to use) to declarative skill matching (you describe what the skill does, Claude figures out when to apply it).
Building a Custom Skill
Here's a minimal example of a custom skill for generating internal engineering RFCs:
---
name: rfc-generator
description: Use when the user asks to write an RFC, technical proposal, or architecture
decision record (ADR). Triggers on: "write an RFC", "create a proposal",
"draft an ADR", or any request for a structured technical document.
license: internal
---
## RFC Structure
Always generate RFCs with the following sections:
1. **Summary** — One paragraph. What is being proposed and why.
2. **Motivation** — The problem this solves. Link to prior art.
3. **Detailed Design** — The meat. Include API surfaces, data models, diagrams.
4. **Drawbacks** — Be honest. No proposal is without tradeoffs.
5. **Alternatives Considered** — What else was evaluated and why it was rejected.
6. **Unresolved Questions** — What still needs to be figured out.
Drop this at /mnt/skills/user/rfc-generator/SKILL.md and Claude will pick it up automatically for RFC-related requests.
Skill Description Engineering
The quality of your description field determines how reliably Claude activates a skill. Treat it like a classifier label.
Weak: "Use this skill for document tasks."
Strong: "Use when the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with tables of contents, headings, page numbers, or letterheads."
Key principles:
- Be explicit about file types and extensions — Claude pattern-matches on these reliably
- List trigger phrases — enumerate common ways users phrase the request
- Include negative examples — "Do NOT use for PDFs, spreadsheets..." reduces false positives
- Describe the deliverable — "the output must be a .docx file" anchors Claude's intent
Skills vs. System Prompts
| System Prompt | Skill | |
|---|---|---|
| Scope | Every conversation | Triggered by task relevance |
| Reusability | Per-deployment | Shareable across deployments |
| Composability | Single block | Stack multiple skills |
| Maintainability | Coupled to deployment config | Version-controlled independently |
| Best for | Persona, tone, global constraints | Domain expertise, file workflows, tool usage |
Use system prompts for who Claude is. Use Skills for what Claude knows how to do.
Current Public Skills
| Skill | Path | Trigger |
|---|---|---|
docx | /mnt/skills/public/docx/ | Word document creation/editing |
pdf | /mnt/skills/public/pdf/ | PDF manipulation and extraction |
pptx | /mnt/skills/public/pptx/ | Presentation creation/editing |
xlsx | /mnt/skills/public/xlsx/ | Spreadsheet creation/editing |
frontend-design | /mnt/skills/public/frontend-design/ | Web UI / component creation |
product-self-knowledge | /mnt/skills/public/product-self-knowledge/ | Anthropic product facts |
Getting Started
- Browse available public skills:
view /mnt/skills/public - Read a skill to understand the format:
view /mnt/skills/public/docx/SKILL.md - Create your first custom skill at
/mnt/skills/user/<your-skill>/SKILL.md - Use the
skill-creatorexample skill to bootstrap and evaluate new skills
Skills 2.0 turns one-off prompting into reusable, composable expertise. The more precisely you define what Claude should know and when to apply it, the more reliably Claude performs across your entire product surface.
Tags