Heads up: some links below are referral links. They cost you nothing extra and never change what we recommend. How this site makes money.
The short answer
A Skill is an organised folder of instructions, scripts and resources that Claude discovers and loads when the task calls for it. It turns a general assistant into one that knows your specific way of doing something.
The minimum is a directory with a SKILL.md file whose YAML frontmatter has a
name and a description.
How Skills differ from just asking
The difference is persistence and automatic triggering.
Custom instructions apply to everything. A prompt applies once. A Skill sits in the background and loads only when relevant — Claude reads the descriptions of available Skills, decides which fit the task, and pulls in the full instructions for those.
So you can have many Skills without them competing, because only the applicable ones get loaded.
The pre-built ones
Claude ships with Skills for the common document formats: PowerPoint (pptx), Excel (xlsx), Word (docx) and PDF.
These are why asking for a formatted Word document or a real spreadsheet produces a properly constructed file rather than a description of one. They're available across the API, claude.ai and the cloud platforms.
Building your own
The structure is simple — a directory with a SKILL.md at its root:
my-skill/SKILL.md
That file starts with YAML frontmatter carrying the required metadata:
name: quarterly-report
description: Builds our quarterly report in the house format. Use when asked for a quarterly report, QBR deck, or quarter-end summary.
Then the instructions themselves in Markdown below.
The description is the most important line
Claude uses it to decide whether to invoke the Skill at all. A vague description means the Skill either never triggers or triggers constantly. Be explicit about when it applies — include the phrasings someone would actually use.
Start simple
Begin with plain instructions in Markdown before adding scripts and resources. Structure it to be scannable: headers, bullets for options, code blocks for examples. You can always expand it later.
Where Skills work
Custom Skills are available across Claude's products. You can create them in Claude Code, upload them
through the API's /v1/skills endpoints (as a zip or individual files), or add them in
claude.ai settings.
The Python SDK includes a files_from_dir helper that takes a directory path, which is the
easiest route if you're uploading programmatically.
What makes a good Skill
- A repeated task with a specific right answer. Your report format, your review checklist, your deployment steps.
- Knowledge Claude can't infer. Internal conventions, house style, the reason you do something the non-obvious way.
- Anything you've corrected twice. If you've explained the same preference more than once, that's a Skill.
Not worth it for one-offs, or for things Claude already does well without instruction.
Common questions
What is a SKILL.md file?
Do I need to code to create a Skill?
How does Claude know when to use a Skill?
Are there pre-built Skills?
Skills work across Claude's products
Create them in Claude Code, upload via the API, or add them in settings — included with your plan.