Agent skills
Agent skills are reusable packages of instructions, context, and sometimes code that an agent loads when a task calls for them. Rather than carrying every procedure in every conversation, the agent pulls in the relevant skill and leaves the rest out of its context.
A skill is essentially a documented procedure the agent can follow: how your team does database migrations, what the release checklist is, how to structure a component in your design system. Some also carry executable code the agent can call.
The value is the same as the value of a runbook for a human. It stops the agent from reinventing a process, and it means the process improves in one place rather than in whichever prompt happened to describe it that day.
What this means in practice
Skills sit alongside rules files rather than replacing them. Rules are conventions that apply to everything; skills are procedures that apply to specific tasks. If you find yourself pasting the same multi-step process into prompts, that is a skill waiting to be written.
A minimal SKILL.md
--- name: release-checklist description: Run our release process end to end --- Steps: 1. pnpm test && pnpm typecheck — abort on any failure. 2. Bump version in package.json (semver: ask if unclear which). 3. Update CHANGELOG.md from commits since the last tag. 4. Tag vX.Y.Z, push the tag, then pnpm publish --access public. Rules: - Never publish if the working tree is dirty. - If publish fails, do NOT retag; report and stop.
One job, hard abort conditions, and the failure rule at the end — skills earn their keep on the steps that must not be improvised.
Prompts for the tools this applies to
Related terms
- Custom instructions
Custom instructions are standing directions you give an AI tool that apply to every request rather than a single one — preferred language and framework, response style, conventions to follow.
- CLAUDE.md
CLAUDE.md is a Markdown file in your repository that Claude Code reads at the start of every session.
- Subagent
A subagent is an agent spawned by another agent to handle a scoped piece of work in its own context window.
- Spec-driven development
Spec-driven development means writing a precise specification before generating any code, then using that spec as the prompt.