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

  1. 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/skills
  2. Install 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-skills
  3. Just 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

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.