
A Claude Code skill is a folder at .claude/skills/name/SKILL.md that becomes a /name command. Setup, locations, bundled skills, and a real example.

A skill is procedural knowledge: instructions, scripts and resources Claude pulls in only when needed. Claude Code always sees each skill's name and description, but the body only enters context when the skill is invoked - so a library of skills stays cheap until used.
Make this folder structure inside your project:
.claude/
skills/
pr-summary/
SKILL.md
Inside SKILL.md:
---
name: pr-summary
description: Summarize a pull request's diff into a short changelog entry
---
Read the diff of the current pull request. Write:
1. One line on what changed.
2. One line on why it matters to a user.
3. Any risks a reviewer should check first.
Keep it under 120 words, plain English, no filler.
That is the whole skill. Run /pr-summary in Claude Code and it follows the procedure. The name must be lowercase letters, digits and hyphens, and the folder name should match it.
Files in .claude/commands/ still work, and they are fine for a one-off prompt you want to trigger manually. Skills are the upgrade: they can bundle scripts and reference files, they are described well enough that Claude invokes them on its own when relevant, and they follow the same open format used on claude.ai and the API. If you are writing something new today, write a skill.
Anthropic bundles several you can call immediately, including /doctor, /code-review, /batch, /debug, /loop, /claude-api, /run, /verify and /run-skill-generator - the last one literally generates a new skill for you, which is the fastest legitimate starting point if a blank SKILL.md feels intimidating.
Claude decides whether to load your skill from the description field alone. "Helps with docs" will never fire. "Summarize a pull request's diff into a changelog entry" fires every time you are near a PR. Write it as: what it does + when to use it.
Krater implements the same Agent Skills standard, so the SKILL.md format above is identical there. The difference: you do not need the file at all. Tell the Krater agent "create a skill that does X" and it writes the SKILL.md for you behind an approval card - 39 seconds in our test, about 2.5 credits, usable across 400+ models. Any SKILL.md you write for Claude Code can also be uploaded into Krater's Settings > Skills tab, so work is portable both ways. The walkthrough with real screenshots is in our skill creation guide.
We build Krater. Everything above about Claude Code is verified against Anthropic's docs - the Krater pitch is just one section, and it is honest about what it is.
No - they are just files in your repo or config. They cost tokens only when invoked, same as any prompt.
Yes. A skill folder can contain scripts Claude executes, which is why you should review any skill folder before enabling it, especially one downloaded from the internet.
Almost always the description. Claude picks skills by matching your request against that field - make it specific about the trigger, not about the implementation.
MCP connects Claude Code to external tools and data. Skills teach it procedures. They pair well: an MCP server gives access, a skill encodes how your team wants that access used.