What are Claude Code Skills?
Claude Code Skills are modular capabilities that extend Claude's functionality automatically. Skills package instructions, metadata, and optional resources (scripts, templates, documentation) that Claude uses on-demand when relevant to your request. Unlike commands that you invoke explicitly, Skills work behind the scenes - Claude automatically loads them when they match your task.
graph TB
A[👤 User Request] --> B[🔍 Skill Triggered]
B --> C[📋 Level 1: Metadata Always Loaded]
C --> D[📚 Level 2: SKILL.md Instructions]
D --> E[📦 Level 3: Resources & Scripts]
E --> F[✅ Task Complete]
style B fill:#F97316,stroke:#fff,color:#000
style D fill:#F97316,stroke:#fff,color:#000
Key Capabilities
- Automatic Activation - Claude triggers Skills automatically when they match your request
- Progressive Context Loading - Three-level loading: metadata (always), instructions (when triggered), resources (as needed)
- Domain Expertise Packaging - Bundle workflows, best practices, scripts, and reference materials
- Zero Token Cost When Idle - Skills only consume context when actively used
- Filesystem-Based Architecture - Skills exist as directories with SKILL.md and optional resources
- Executable Scripts Support - Include Python/Node scripts that run without loading into context
Installation
Skills are typically created manually or installed from templates. Here's how to use the example skills-creator from Claude Code Templates:
npx claude-code-templates@latest --skill=development/skill-creator
Where are skills installed?
Skills are saved in .claude/skills/ directory in your project:
your-project/
├── .claude/
│ └── skills/
│ └── my-skill/
│ ├── SKILL.md # ← Required skill instructions
│ └── scripts/ # Optional executable scripts
│ └── helper.py # Example script
├── src/
│ └── components/
├── package.json
└── README.md
How Skills Work
Skills activate automatically when Claude detects they're relevant to your request. You don't invoke them explicitly - just describe what you need, and Claude uses the appropriate Skill behind the scenes.
# Start Claude Code
claude
# Skills activate automatically based on your request
> Review this code for security vulnerabilities
# Claude automatically uses the code-review Skill if installed
Progressive Loading: Skills load in three levels - metadata (always loaded), instructions (when triggered), and resources (as needed). This means you can install many Skills without performance penalty.
Usage Examples
Example 1: PDF Processing Skill
claude
> Extract text from this PDF and create a summary
# Claude automatically detects PDF task and loads pdf-processing Skill
Result: The Skill provides Claude with PDF extraction expertise. Claude reads SKILL.md instructions, uses bundled pdfplumber scripts, and delivers extracted text with summary. Advanced features like form-filling documentation (FORMS.md) remain unloaded unless needed.
Example 2: Database Schema Skill
claude
> Write a query to get all users with pending orders
# Claude detects database query and loads database-schema Skill
Result: Skill loads with your database schema as reference material. Claude accesses table definitions, relationships, and example queries from bundled files. The schema file only enters context if Claude needs to reference it - otherwise it stays on the filesystem.
Example 3: API Integration Skill
claude
> Show me how to authenticate with the Stripe API
# Claude recognizes API integration task and loads stripe-api Skill
Result: Skill provides Stripe API documentation, authentication patterns, and example code. Claude can execute bundled test scripts to validate API calls without loading script code into context - only the output appears.
Official Documentation
For more information about Skills in Claude Code, see the official documentation.