Anthropic Skills Explained: Fancy Prompts or Something Actually Useful?
Cutting through the jargon to understand what Skills actually are.
I'll be honest: when I first heard "Skills," my eyes rolled.
We already have:
- Agents (sub-processes that do tasks)
- Slash commands (shortcuts to prompts)
- Custom instructions (persistent context)
- CLAUDE.md (project memory)
- MCP servers (external tool connections)
And now... Skills?
Is this just another fancy name for "a prompt you saved somewhere"? Is Anthropic inventing vocabulary to sound more sophisticated?
I spent a week figuring this out. Here's what Skills actually are, when they matter, and whether you should care.
Table of Contents
- What Are Skills, Really?
- Skills vs. Everything Else
- The Progressive Disclosure Architecture
- Real Examples: Skills in Action
- How to Create Your Own Skill
- Where Do Skills Work?
- Is Anthropic Watching Your Skills?
- The Agent Skills Standard
- Should You Actually Use Skills?
1. What Are Skills, Really?
Let me give you the honest definition:
Skills are folders containing instructions and scripts that Claude loads on-demand to perform specific tasks.
That's it. A folder with a SKILL.md file and optionally some code.
But here's what makes them different from "just a prompt":
Skills Can Include Code
A skill isn't just text instructions. It can bundle Python scripts, reference files, templates, and resources. When Claude uses the skill, it can execute that code.
Example: The PDF skill doesn't just tell Claude "here's how PDFs work." It includes a Python script that extracts form fields from PDFs. Claude runs the script, gets structured data, and works with that.
Skills Are Auto-Invoked
You don't type /pdf-skill. You just say "extract the form fields from this PDF" and Claude automatically recognizes it needs the PDF skill, loads it, and uses it.
This is the key difference from slash commands: Claude decides when to use skills based on your request.
Skills Are Portable
The same skill works in:
- Claude.ai (web)
- Claude Desktop
- Claude Code
- Claude API
Write once, use everywhere.
2. Skills vs. Everything Else
Let me clarify the confusion:
| Concept | What It Is | How It's Triggered | Scope |
|---|---|---|---|
| Skills | Folder with instructions + code | Claude auto-invokes based on task | Cross-platform |
| Slash Commands | Markdown prompt templates | You type /command explicitly | Claude Code only |
| Agents | Sub-processes with own context | Claude spawns them for parallel work | Claude Code only |
| Custom Instructions | Persistent preferences | Always active | Per-account |
| CLAUDE.md | Project memory file | Always loaded in project | Per-project |
| MCP Servers | External tool connections | Claude calls tools as needed | Configurable |
The Key Insight
Skills = Instructions + Code + Auto-invocation + Portability
Slash commands are explicit. You decide when to use them. Skills are implicit. Claude decides when to load them.
That's the fundamental difference.
3. The Progressive Disclosure Architecture
This is where Skills get clever.
Anthropic designed a three-tier system:
Tier 1: Metadata (always loaded)
├── Skill name
└── Skill description
Tier 2: Core Instructions (loaded when relevant)
└── Full SKILL.md content
Tier 3: Supplementary Resources (loaded on-demand)
├── reference.md
├── templates/
└── scripts/
How It Works
- At startup, Claude loads ONLY the names and descriptions of all installed skills
- When you make a request, Claude checks if any skill description matches
- If relevant, Claude loads the full
SKILL.mdinto context - If needed, Claude loads additional files from the skill folder
This is like a well-organized manual:
- Table of contents first (fast lookup)
- Specific chapters when needed (relevant detail)
- Appendices on-demand (deep resources)
Why This Matters
Context windows are finite. Loading every skill fully would waste tokens.
Progressive disclosure means skills can be effectively unlimited in size while only loading what's needed for each task.
4. Real Examples: Skills in Action
Let's look at actual skills from Anthropic's repository:
PDF Skill
Purpose: Extract and fill PDF form fields
What it includes:
- Instructions for identifying form fields
- Python script for PDF manipulation
- Guidelines for common PDF operations
How you use it:
"Extract all form fields from contract.pdf and fill in the company name as 'Acme Corp'"
Claude:
- Recognizes this is a PDF task
- Loads the PDF skill
- Runs the Python script to extract fields
- Fills the values
- Returns the modified PDF
Without the skill: Claude would describe how PDFs work conceptually but couldn't actually manipulate them.
Brand Guidelines Skill
Purpose: Apply company brand standards to content
What it includes:
- Color palette specifications
- Typography rules
- Voice and tone guidelines
- Do's and don'ts
How you use it:
"Write a blog post about our new product launch"
Claude:
- Recognizes content creation task
- Loads brand guidelines skill
- Applies brand voice, approved terminology
- Formats according to brand standards
Without the skill: Claude writes generic content that needs manual brand alignment.
MCP Builder Skill
Purpose: Create Model Context Protocol servers
What it includes:
- MCP specification reference
- Code templates for common server patterns
- Testing procedures
- Deployment guidelines
How you use it:
"Create an MCP server that connects to our internal API"
Claude:
- Loads MCP builder skill
- Uses templates and patterns
- Generates properly structured server code
- Includes correct protocol implementation
Without the skill: Claude might generate MCP code with subtle protocol errors.
All 16 Official Skills
| Skill | Purpose |
|---|---|
pdf | PDF manipulation and form filling |
docx | Word document creation |
xlsx | Excel spreadsheet handling |
pptx | PowerPoint presentations |
brand-guidelines | Brand standard enforcement |
frontend-design | UI/UX design assistance |
algorithmic-art | Generative art creation |
canvas-design | Canvas-based design tools |
doc-coauthoring | Collaborative writing |
internal-comms | Internal communication templates |
mcp-builder | MCP server development |
skill-creator | Meta: create new skills |
slack-gif-creator | Generate Slack GIFs |
theme-factory | Theme generation |
web-artifacts-builder | Web component building |
webapp-testing | Web application testing |
5. How to Create Your Own Skill
Minimum Structure
my-skill/
└── SKILL.md
SKILL.md Format
---
name: my-custom-skill
description: A clear description of what this skill does and when Claude should use it
---
# My Custom Skill
## Purpose
Explain what this skill helps accomplish.
## Instructions
Step-by-step guidance for Claude.
## Examples
Show input/output examples.
## Guidelines
- Do this
- Don't do that
With Code
my-skill/
├── SKILL.md
├── scripts/
│ └── process.py
└── templates/
└── output-template.md
In your SKILL.md:
## Execution
When processing data, use the script at `scripts/process.py`.
Installation in Claude Code
# Add skill to project
mkdir -p .claude/skills/my-skill
# Add your SKILL.md and resources
# Or install from marketplace
/plugin marketplace add anthropics/skills
Pro Tips
- Name matters: Claude uses the name to match tasks to skills
- Description is critical: Be specific about when to use this skill
- Keep SKILL.md focused: Put supplementary info in separate files
- Include examples: Claude learns from examples in the skill
6. Where Do Skills Work?
| Platform | Status | Notes |
|---|---|---|
| Claude.ai | ✅ Full support | Pro/Max/Team/Enterprise plans |
| Claude Desktop | ✅ Full support | Via MCP integration |
| Claude Code | ✅ Beta | Plugin marketplace |
| Claude API | ✅ Full support | With code execution tool |
Cross-Platform Portability
This is the big win. A skill you create works everywhere:
~/.claude/skills/my-skill/
└── Available in Claude.ai, Desktop, AND Code
Slash commands are Claude Code only. Skills are universal.
7. Is Anthropic Watching Your Skills?
Short answer: No, not by default.
Telemetry Details
Claude Code supports OpenTelemetry for monitoring, but:
- It's opt-in (not enabled by default)
- Sensitive data is never included
- Prompt content is redacted by default
- You must explicitly set
OTEL_LOG_USER_PROMPTS=1to log prompts
What Anthropic DOES See
If you use Claude.ai or the API:
- Standard usage metrics (token counts, session data)
- Error reports for debugging
- Model feedback when you thumbs-up/down responses
What Anthropic DOESN'T See
- Your custom skill contents (unless you publish them)
- Your prompt content (unless you opt-in)
- Files processed by skills
Skills Are Local
Your skills live in:
~/.claude/skills/(global)project/.claude/skills/(project-specific)
These are just folders on your machine. Anthropic doesn't have access to them.
8. The Agent Skills Standard
Here's something interesting: Anthropic made Skills an open standard.
What This Means
The specification at agentskills.io defines:
- How skills are structured
- How agents discover and load them
- How cross-platform compatibility works
Adopters
Skills aren't just for Claude:
- Cursor supports skills
- VS Code (via extensions)
- GitHub Copilot (planned)
- Gemini CLI (community support)
- OpenCode (community support)
Why Anthropic Open-Sourced It
From their engineering blog:
"Rather than building fragmented, custom agents for each task, organizations can now specialize general-purpose agents by packaging procedural knowledge into reusable capabilities."
They want skills to become the standard way agents learn domain expertise—not just for Claude, but for all AI agents.
The Vision
Long-term, Anthropic envisions agents that can:
- Create their own skills
- Edit and improve skills
- Share skills with other agents
- Evaluate skill effectiveness
Skills as self-evolving agent capabilities.
9. Should You Actually Use Skills?
Yes, If:
| Scenario | Why Skills Help |
|---|---|
| You do the same complex task repeatedly | Codify it once, reuse forever |
| You work across Claude.ai and Claude Code | Portability matters |
| You want Claude to auto-invoke workflows | No explicit commands needed |
| You need to bundle code with instructions | Scripts + prompts together |
| Your team needs standardized procedures | Organization-wide skill distribution |
No, If:
| Scenario | Why Skills Are Overkill |
|---|---|
| Simple one-off tasks | Just type your prompt |
| You prefer explicit control | Slash commands are clearer |
| Claude Code only | Slash commands work fine |
| You don't trust auto-invocation | Sometimes Claude gets it wrong |
The Honest Reality
One reviewer noted:
"I've struggled to get Claude to invoke a skill without me explicitly asking it to."
Auto-invocation isn't perfect. Sometimes you need to say "use the X skill" anyway.
But when it works, it's seamless. And the cross-platform portability is genuinely useful.
My Take
Skills are not just fancy prompts.
They're:
- Portable (work everywhere Claude works)
- Composable (instructions + code + resources)
- Automatic (Claude loads them when relevant)
- Standardized (open spec, multi-platform)
Are they revolutionary? Not quite. They're an evolution of prompt management into something more structured and capable.
Should you invest time in creating skills? Only if you have repeatable workflows that would benefit from bundled code and cross-platform use.
For most developers, slash commands in Claude Code are simpler and explicit. But if you're building organizational workflows or need the same capabilities across Claude.ai and Claude Code, skills are worth learning.
Written while testing the skill-creator skill to create a skill about creating skills. It's skills all the way down.
Sources:




