How to use Claude Skills
Using a skill takes two steps: put it somewhere the assistant can find it, then simply ask for the thing it does. There is no command to "run" a skill — the assistant picks it up on its own when your request matches what the skill says it's for.
New to the idea? Start with what a Claude Skill is.
Installing in Claude Code
Add a marketplace
Skills are distributed through plugins. Register a repository that publishes them — Anthropic's own reference collection is the usual starting point.
/plugin marketplace add anthropics/skillsInstall a set of skills
Install a plugin from that marketplace directly, or run /plugin, choose "Browse and install plugins", and pick a bundle from the list.
/plugin install document-skills@anthropic-agent-skillsJust ask
Nothing further to configure. Describe the task in plain language — "use the PDF skill to pull the form fields out of this file" — and the matching skill is loaded for you.
Using skills elsewhere
- Claude.ai
- Anthropic's example skills are already available on paid plans, and custom skills can be uploaded from settings. Nothing is installed on your own machine — the skill lives with your account.
- The Claude API
- Skills can be uploaded and attached to API requests, which is how they get used inside applications you build rather than in a chat window.
Writing your own skill
Writing one is mostly writing. Create a folder, add a file called SKILL.md, and open it with YAML frontmatter carrying two required fields — name and description — followed by your instructions in Markdown. The folder name must match the name field.
---
name: quarterly-report
description: Formats quarterly figures into our standard report layout. Use when the user asks for a quarterly report, board summary, or end-of-quarter numbers.
---
# Quarterly report
## Steps
1. Group the figures by business line.
2. Compare each line against the same quarter last year.
3. Lead the summary with the largest movement, up or down.
## Formatting
- Currency to the nearest thousand.
- Every table gets a total row.Spend your effort on the description. It is the only part the assistant reads before deciding whether the skill applies, so it should say what the skill does and name the situations that should trigger it — including the words someone would actually use when asking. "Helps with reports" will lose to a description that lists the phrases your team really types.
When a skill doesn't fire
- The skill never activates
- Almost always the description. If it doesn't name the situation in the words you'd actually use, the assistant has no reason to connect your request to it.
- An invalid name
- The name field allows only lowercase letters, numbers and single hyphens, up to 64 characters, and has to match the folder name exactly — no capitals, no spaces, no leading, trailing or doubled hyphens.
- A SKILL.md that's too long
- The whole body loads once the skill activates, so length costs context every time. The spec suggests staying under 500 lines and moving detail into references/ files that load only when needed.
- Two skills that overlap
- If two descriptions cover the same ground, which one gets picked becomes unpredictable. Give each a clearly distinct trigger, or merge them.
Related
- Claude Skills vs MCP servers — which one your problem actually needs.
- What is an MCP server? — for when instructions aren't the missing piece.
Frequently asked questions
›How do you install a Claude Skill?
In Claude Code, skills arrive through plugins: register a marketplace with /plugin marketplace add anthropics/skills, then install a bundle with /plugin install document-skills@anthropic-agent-skills. On Claude.ai, the example skills are already there on paid plans and custom ones are uploaded from settings. Through the API, a skill is uploaded and attached to your requests.
›Can you install skills from a GitHub repository?
Yes — that's what registering a marketplace does. Pointing Claude Code at a repository that publishes skills makes its plugins installable, which is how Anthropic's own collection is distributed.
›How do you trigger a skill once it's installed?
You don't invoke it directly. Describe the task normally and the assistant matches your wording against each installed skill's description, loading the one that fits. If it isn't firing when you expect, the description is the thing to rewrite.
›How do you create your own skill?
Make a folder, add a SKILL.md inside it, and start that file with YAML frontmatter containing a name and a description. The name must match the folder and use only lowercase letters, numbers and hyphens. Everything after the frontmatter is your instructions, in ordinary Markdown. Scripts and reference files are optional extras.
›Why isn't my skill being used?
Check the description first — it's the only part the assistant sees when deciding, so it has to name the situation in the words you actually use. After that, check that the name field is valid and matches the folder name exactly, and that no second skill describes the same territory.