A Claude Code skill is a folder with a SKILL.md file that teaches Claude a task: a deploy checklist, a review routine, a house style. Claude reads only each skill’s short description until the skill is needed, so you can keep many. Commit skills to your repository and everyone on the team gets them.
What is a Claude Code skill?
A skill is a directory with a SKILL.md file: a short header that says what the skill does and when to use it, then instructions in Markdown. It can hold more files, such as reference notes or scripts, that Claude opens only when it needs them.
Claude uses a skill in two ways. It picks one on its own when your request matches the skill’s description, or you call it by name, for example /release-notes. Until then, only the description is in Claude’s context, which is why a skill costs almost nothing until it runs.
Where do Claude Code skills live?
| Kind | Path | Who gets it |
|---|---|---|
| Project | .claude/skills/<name>/SKILL.md | Everyone working in the repository |
| Personal | ~/.claude/skills/<name>/SKILL.md | You, in every project on your machine |
| Plugin | <plugin>/skills/<name>/SKILL.md | Anyone who installs the plugin, as /plugin-name:skill-name |
| Enterprise | Deployed through managed settings | Everyone in the organization |
If two skills share a name, enterprise wins over personal, and personal over project.
How do you write a skill?
- Make a folder in .claude/skills named for the task, such as release-notes.
- Add a SKILL.md with a name and a description. The description decides when Claude uses it, so say what it does and when.
- Write the steps below the header, as you would explain them to a new teammate.
- Move long reference material into separate files and point to them from SKILL.md, which should stay under 500 lines.
- Try it by typing /release-notes, then by asking for the task in plain words to check Claude picks it on its own.
A complete skill:
---
name: release-notes
description: Writes release notes from the commits since the last tag. Use when someone asks for release notes or a changelog entry.
---
## Commits since the last release
!`git log $(git describe --tags --abbrev=0)..HEAD --oneline`
## Instructions
1. Group the commits into New, Improved and Fixed.
2. Write each line for a customer, not a developer.
3. Leave out internal refactors and dependency bumps.The line starting with ! runs a command and puts its output into the skill before Claude reads it.
Which settings matter in SKILL.md?
| Field | What it does |
|---|---|
| description | What the skill does and when to use it. Claude reads this to decide. |
| name | The command name, as in /name. Defaults to the folder name. |
| disable-model-invocation: true | Only a person can run it. Use for deploys and anything risky. |
| user-invocable: false | Hidden from the / menu; Claude uses it as background knowledge. |
| allowed-tools | Tools the skill may use without asking each time. |
| context: fork | Runs the skill in a separate subagent. |
| paths | File patterns that limit when Claude loads it on its own. |
Claude Code skill examples for teams
- Deploy: the exact steps and checks for shipping, with disable-model-invocation so only a person can start it.
- Review against house rules: what your team checks in a pull request, so every review asks the same questions.
- Release notes: commits since the last tag, grouped and written for customers, as in the example above.
- Database migration: how your team names, writes and tests migrations, and what never to do in production.
- Incident triage: where the logs and dashboards are, and the first five things to check.
- Test writer: your test framework, file layout and the cases your team expects for every change.
Skills vs CLAUDE.md vs subagents vs hooks
| Use it for | When it loads | |
|---|---|---|
| CLAUDE.md | Rules that apply to every task in the project | Every session, in full |
| Skill | A task Claude does sometimes, with its own steps | The description always; the rest when used |
| Subagent | Work that needs its own context window, such as a long review | When Claude hands work to it |
| Hook | Something that must always happen, such as blocking a command | On the event it is set for, every time |
Instructions in CLAUDE.md and skills are guidance Claude follows; a hook is enforced. If an action must never happen, use a hook.
Do skills work in other coding agents?
The SKILL.md format follows Agent Skills, an open standard, so a skill can work in other agents that adopt it. Claude Code adds options of its own, such as disable-model-invocation and context: fork, that other tools may ignore.
In Friday Work, Claude Code runs as your own Claude Code, so your project and personal skills work as they do in the terminal, and its commands and skills appear in the message box. Friday’s own agents can have skills too, added in the agent builder.
Sources
- Skills, Claude Code docs, checked 12 October 2026
- Agent Skills, the open standard