What are Skills?
Core concept
Skills are "skill packs" stored in the file system and can include:
- SKILL.md: the definition file for the skill, required
- scripts/: helper scripts, optional
- templates/: output templates, optional
- references/: reference docs, optional
Skills vs. prompts
You may wonder: what is the difference between Skills and directly sending prompts to Claude?
| Prompts | Skills |
|---|---|
| Temporary, you have to repeat them every time | Persistent, write once and reuse many times |
| Live in conversation history and consume tokens | Loaded on demand and save tokens |
| Cannot be shared across sessions | Can be shared within a team |
| Hard to version-control | Can be managed with Git |
Two types of Skills
Global Skills (personal):
- storage location:
~/.claude/skills/ - scope: all projects
- suitable scenarios: general-purpose personal skills
Project Skills (team):
- storage location:
project-directory/.claude/skills/ - scope: the current project
- suitable scenarios: team sharing and project-specific conventions
How Skills work
When Claude Code starts, it will:
- scan the Skills directories
- parse each
SKILL.mdfile - extract YAML frontmatter metadata
- add the skill content into its "knowledge base"
- automatically match triggers based on the description
SKILL.md File Structure
Basic structure
A complete Skill directory looks like this:
my-skill/
├── SKILL.md # Required: skill definition file
├── scripts/ # Optional: helper scripts
├── templates/ # Optional: output templates
├── references/ # Optional: reference documents
└── examples/ # Optional: example files
SKILL.md template
The SKILL.md file has two parts:
Part 1: YAML Frontmatter (metadata)
---
name: skill-name # Skill name, becomes the /skill-name command
description: short description # Used for Claude's automatic trigger matching
category: development # Category
tags: # Tags
- code
- automation
---
Part 2: Markdown content (instructions)
# Skill Title
## Use cases
When to use this skill
## Execution steps
1. Step one
2. Step two
## Notes
- Note 1
- Note 2
Explanation of key fields
| Field | Required | Explanation |
|---|---|---|
name | Yes | The skill name. Only lowercase letters, numbers, and hyphens are allowed |
description | Yes | The skill description. The more specific it is, the easier it is for Claude to match automatically |
category | No | Category label |
tags | No | Additional category labels |
allowed-tools | No | Tools that may be used without extra permission |
Skills vs. MCP: What is the difference?
Many beginners confuse Skills and MCP, but they are completely different things.
Core differences
| Dimension | Skills | MCP |
|---|---|---|
| Nature | Knowledge and workflow | Tools and interfaces |
| What it provides | Tells AI "how to do it" | Gives AI "what it can use" |
| Storage location | skills/ directory | MCP server |
| Configuration format | Markdown files | JSON config files |
| Trigger method | /skill-name or automatic recognition | Automatically loaded through configuration |
An intuitive analogy
If Claude were a "worker":
- MCP would be the "tools" given to the worker, such as a wrench, a computer, and access permissions
- Skills would be the "operating manual" given to the worker, such as how to do code review or how to submit code
Their relationship
Skills and MCP are not competing with each other. They are complementary:
User task -> Claude recognizes the requirement
↓
Load relevant Skills (know how to do it)
↓
Call tools through MCP (have tools available)
↓
Complete the task
Example
Scenario: code review
- Skills define the review steps, checklist, and output format
- MCP provides the ability to access GitHub PRs and fetch code diffs
Working together: Skills tell Claude "how to review," and MCP gives Claude "the ability to access the code."
Recommendation for choosing
| Your need | Recommended solution |
|---|---|
| Need to define a workflow | Use Skills |
| Need to access external data | Use MCP |
| Need both | Use them together |
Common Resources for Getting Skills
Official resources
- Anthropic official Skills repository - an officially maintained collection of skills
- Claude Code official docs - Skills - official documentation
GitHub community resources
| Repository | Description |
|---|---|
| shanraisshan/claude-code-best-practice | Community-maintained collection covering Skills, Agents, Hooks, and more |
| affaan-m/everything-claude-code | Comprehensive toolkit including preconfigured Skills |
| JackyST0/awesome-agent-skills | Curated Skills resource list |
| jeffallan/claude-skills | 66 professional skills and 300+ reference documents |
| GitCode/awesome-claude-skills | Selected open-source collection |
How to install community Skills
Using find-skills, you only need to tell Claude what you need, and it will automatically search and recommend:
Help me find a skill related to React performance optimization
Claude will search the skills.sh database through find-skills, then list the most relevant skills, and you can choose one to install.
Search tips:
- use specific keywords:
"react testing"is better than"testing" - combine "domain + action":
"nextjs deploy","typescript lint" - prioritize skills with high install counts, since 10K+ usually means battle-tested
- watch the trending list to discover emerging skills