Skill
Also called Agent skill · SKILL.md · Skills
A named, reusable procedure the agent loads on demand: a folder of instructions and optional scripts, used when a task matches.
A skill is a packaged procedure an agent can pick up when a task calls for it. In practice it is a folder with a SKILL.md describing what the skill does and when to use it, followed by the step-by-step instructions, and sometimes scripts or templates alongside. The harness shows the agent only the name and description until the skill is invoked, then loads the body into context. That makes skills a working example of progressive disclosure.
Skills exist because repeated instructions rot in chat. A deploy procedure you explain in a prompt is gone when the session ends, and the version you paste next week drifts from the version you pasted last week. Putting it in a skill gives it a home, a name, and a single place to fix. The failure mode is the same as with AGENTS.md: skills that try to do too much, or ten near-duplicate skills whose descriptions blur together so the agent picks the wrong one.
Write a skill for anything you have explained twice. Keep the description specific enough that the agent can tell when it applies. Put deterministic steps in scripts the skill can run, and keep the prose for judgment calls. Skills differ from a slash command, which you trigger by hand, in that the agent can choose to use a skill itself, and from a subagent in that a skill runs inside the current session's context rather than in a separate one.
- Claude CodeSkills live in
.claude/skills/<name>/SKILL.md(project) or~/.claude/skills/(personal), invoked by name or chosen by the agent. - Claude CoworkSkills teach it your way of doing a job, such as how your team formats a weekly report.
- CodexRecent versions read the same
SKILL.mdconvention from a skills directory; check your version's docs for the path.
“Every release I re-explain the changelog format and it still gets it slightly wrong.”
“Make it a skill. Description: 'writing release notes'. Body: the format, the sections, one example.”
“Do I have to invoke it?”
“You can with a slash, but it'll also pick it up on its own when you say 'draft the release notes'.”
Course 01 puts every one of these terms to work: you install Claude Code, run the loop, and ship a real project — permission modes, compaction, hooks and all.
Start Course 01 →