Claude Code Skills: Teach Claude Your Playbooks
Claude Code skills are saved playbooks Claude loads on demand. How to create your first SKILL.md, when skills trigger, and which skills to add first.
Claude Code skills are saved playbooks: small text files that teach Claude a procedure once so you never paste the same instructions twice. You write a file called SKILL.md, drop it into a folder, and from then on Claude either loads it automatically when the task matches or runs it the moment you type /skill-name.
I think of a skill as a recipe card taped inside a kitchen cabinet. It does not clutter the counter (your context window) all day. It only comes out when you cook that exact dish. That detail matters more than anything else in this guide: a skill costs almost nothing until the moment it is used, so you can grow a whole skills library without slowing Claude down. No skills marketplace shopping spree required to start, either — your first skill is five lines of text.
What is a Claude Code skill, exactly?
If you searched for «Claude Code skills что это» or wondered what these things are: technically, a skill is a folder containing one SKILL.md file. The file has two parts. At the top sits a short header (called frontmatter) between two --- markers — it tells Claude when the skill is relevant. Below it go plain instructions in normal language. The folder name becomes the command you type: a file at ~/.claude/skills/weekly-report/SKILL.md gives you /weekly-report. Personal skills in ~/.claude/skills/ work in all your projects; project skills in .claude/skills/ apply to one project; skills shipped inside plugins get a prefix like /plugin-name:skill-name so names never clash.
Do skills actually work in Claude Code?
Yes — they are a first-class feature, not a hack. Claude Code even ships with bundled skills like /code-review, /debug and /loop, available in every session. There are two trigger paths: Claude reads your skill descriptions and loads one automatically when your request matches, or you invoke one directly by typing slash plus its name. One more thing that confuses people coming from older tutorials: custom slash commands have been merged into skills. A file in .claude/commands/ still works, but a skill folder does the same job and adds extras, like supporting files and control over who is allowed to trigger it.
How do you create and add skills to Claude Code?
mkdir -p ~/.claude/skills/meeting-notes
Personal skills live in ~/.claude/skills/ and follow you into every project. Too scary? Just ask Claude to run this for you.
--- description: Turn raw meeting notes into action items. Use when the user pastes notes or asks for follow-ups. --- From the notes provided, produce: 1. A three-line summary 2. Action items, each with an owner 3. Open questions nobody answered
Your first skill in four steps
- 1Create the folder: mkdir -p ~/.claude/skills/meeting-notes
- 2Save the SKILL.md above — the description line is what Claude matches against
- 3Test it both ways: paste some messy notes (Claude should load the skill itself), then type /meeting-notes directly
- 4Edit the file any time — changes to SKILL.md are picked up live, within the current session, no restart needed
What skills should you add to Claude Code first?
Skip the «best Claude Code skills» listicles for a week and mine your own chat history instead — the skills best practices crowd agrees on this one. Good first candidates: a writing-voice skill (how you sound, what words you ban), a formatting skill for reports or posts, and a /summarize-changes skill that explains what changed in your project in human language. Three power-ups worth knowing as you go. First, $ARGUMENTS lets a skill accept input: a /fix-issue skill with «Fix issue $ARGUMENTS» inside runs as /fix-issue 123. Second, disable-model-invocation: true in the frontmatter means only you can trigger the skill — Claude cannot fire it on its own, which is exactly what you want for anything with side effects, like publishing. Third, allowed-tools pre-approves specific tools while the skill runs, so Claude stops asking permission for the same safe command ten times.
Start a line in SKILL.md with !`git diff HEAD` (a command inside backticks after an exclamation mark) and Claude Code runs that command first, then pastes its real output into the prompt before Claude reads a word. Your skill reasons about actual current data instead of guessing. This works with any shell command.
How is Claude Code so good at coding?
People ask how Claude Code got so good, and a big part of the answer is context discipline: it loads detail only when needed. Skills follow the same philosophy. Only the short description sits in memory by default; the full playbook loads on invocation. That is why the docs recommend keeping SKILL.md under 500 lines and moving long reference material into supporting files inside the skill folder, linked from the main file. Among Claude Code skills examples in the official docs, even a full codebase-visualizer skill keeps its SKILL.md tiny and ships the heavy lifting as a bundled script.
Lab: build a skill without writing it yourself
0/4The meta-move that ends this guide: tell Claude — «Watch what I keep asking you to do, then propose three skills with ready SKILL.md files». The best skills library is not downloaded from GitHub. It is distilled from your own repetition.

Author
Evgeny Arsentyev
PhD · Chief Product Officer at a healthtech company
▌ Reading is the blue pill
Want to actually build this?
Guides explain. The free course transforms — personalized, gamified, and built to get you shipping fast.
◉ Take the red pill →