In Claude Code, a skill is a reusable playbook: a small folder that teaches Claude how you want a specific task done, so it runs the same way every time. Instead of pasting the same instructions into the chat over and over, you write them down once. Claude Code skills then either kick in automatically when your request matches, or you can call one up yourself by typing a slash command. Think of a skill as a saved recipe Claude keeps in its back pocket.
What a Claude Code skill actually is
Under the hood, a skill is just a folder with one plain-text file inside it, named SKILL.md. That file has two parts. The top is a short label that describes when the skill should be used. The rest is plain-language instructions for how to do the task. No coding required -- if you can write down the steps you'd hand a new assistant, you can write a skill.
A skill is a labeled instruction file. The label says when; the body says how.
Two ways a skill runs
The whole point is that you don't have to remember it's there. Claude reads every skill's short label and picks the right one when your request matches. You can also skip the guessing and invoke a skill by name whenever you want.
/status-report, to run it on demand. The name comes from the skill's folder.Why skills stay cheap: progressive disclosure
You might worry that piling up skills will slow Claude down or crowd its memory. It won't, because of a design choice called progressive disclosure. Only each skill's short label stays in view. The full instructions load only at the moment a skill is actually used. So you can keep a whole shelf of skills on hand and each one costs almost nothing until it's needed. This is a plain way to think about it: Claude sees the spines of the books on the shelf, and only opens the one it needs.
Built-in skills and finding what's available
You don't start from an empty shelf. Claude Code ships with a set of built-in skills you can use right away, including /code-review (review recent changes), /loop (run a task on repeat), and /debug. To see what's on hand, you can ask Claude "What skills are available?" or open the skills menu with /skills. Skills can also bundle extra files alongside the instructions, like a template to fill in or a small script Claude can run, so a skill can do real work, not just remind Claude of the steps.
A real example: your weekly report
Say every Friday you write the same client update, and every Friday you re-explain the format to Claude. That's the signal to make a skill. You write the steps down once -- pull the week's work, group it by project, summarize it in your voice, close with next week's focus -- and save it as a skill. From then on, one line does it:
Claude follows your saved steps exactly, and the report comes out the same shape every time, no re-explaining. The best part: you don't even have to write the skill by hand. You can describe the task to Claude in plain English and ask it to build the skill for you, then tweak the wording until it's right.
When to make one
The rule of thumb is simple: if you keep pasting the same instructions, checklist, or multi-step process into the chat, that's a skill waiting to happen. Deploys, weekly reports, a review checklist, a specific way you format things -- anything repeatable and worth doing consistently. Write it down once, and it stops being something you re-explain and becomes something Claude just knows how to do.
