A skill is a folder with a SKILL.md file in it: a short description on top, then instructions, a checklist or a procedure. Claude can pull it in when your request matches the description, or you can run it yourself by typing / and its name.
Skills exist for the instructions you keep pasting into chat, and for the parts of CLAUDE.md that have grown from facts into procedures. The difference is cost. CLAUDE.md loads at the start of every session; a skill’s body loads only when it’s used.
How it loads
At the start of a session, Claude sees each skill’s name and description, and nothing more. That’s enough for it to know the skill exists. When a task matches, or when you type /deploy, the full SKILL.md is read into the context window and Claude follows it.
A skill folder can also hold supporting files: a long reference doc, examples, a script. SKILL.md points to them, and Claude opens one only when it needs it, so a large skill can stay cheap until the moment it’s useful.
Where they live
~/.claude/skills/<name>/SKILL.md: personal, in every project on your machine..claude/skills/<name>/SKILL.md: this project. Commit it and your team gets it too.- Inside a plugin: runs namespaced, as
/plugin-name:skill-name.
The folder name becomes the command. Claude Code also ships bundled skills, such as /code-review and /debug.
Skills and slash commands
Custom commands have been merged into skills. An old .claude/commands/deploy.md file and a new .claude/skills/deploy/SKILL.md both give you /deploy, and old command files keep working. Skills add a folder for supporting files and frontmatter that controls who can invoke them: disable-model-invocation: true means only you can (use it for anything with side effects, like a deploy), and user-invocable: false means only Claude can.
A skill can also run in its own subagent with context: fork, which keeps its work out of your main conversation.
The catch
Every skill Claude may invoke costs a little context on every turn, because its description is always listed. Write that description carefully: it’s the only thing Claude reads when deciding whether to load the skill. Keep SKILL.md itself focused (the docs suggest under 500 lines) and move detail into supporting files.