.agents/skills/README.md
Skills are on-demand context files that Claude loads when relevant. They extend AGENTS.md with deep-dive workflows, code templates, and verification steps.
Create a skill when content is:
Do NOT create a skill for:
.agents/skills/
├── my-skill/
│ └── SKILL.md # Required: frontmatter + content
│ └── workflow.md # Optional: supplementary files
│ └── examples.md # Optional: referenced from SKILL.md
└── README.md # This file
---
name: my-skill
description: >
What this skill covers and when to use it. Include key file names,
concepts, and trigger phrases so Claude can match user intent to this
skill. This is the primary field Claude uses for auto-activation.
---
| Field | Required | Description |
|---|---|---|
name | Yes | Skill name, used for $name references and /name slash commands |
description | Yes | What the skill does and when to use it. This is how Claude decides to auto-load the skill. Include file names, concepts, and keywords. |
argument-hint | No | Hint for expected arguments in autocomplete |
user-invocable | No | Set to false to hide from / slash command menu |
disable-model-invocation | No | Set to true to prevent Claude from auto-triggering this skill |
allowed-tools | No | Tools Claude can use without permission when this skill is active |
model | No | Model override for this skill |
context | No | Set to fork for isolated subagent execution |
agent | No | Subagent type to use with context: fork |
hooks | No | Hooks scoped to this skill's lifecycle |
Only use fields from this table. Unknown fields are ignored by Claude Code.
The description is the single most important field. Claude uses it to decide when to auto-load the skill. Include:
config-shared.ts, entry-base.ts)# Bad: too vague, won't match well
description: Helps with flags.
# Good: specific, includes file names and keywords
description: >
How to add or modify Next.js experimental feature flags end-to-end.
Use when editing config-shared.ts, config-schema.ts, define-env-plugin.ts,
next-server.ts, export/worker.ts, or module.compiled.js.
AGENTS.md holds always-loaded guardrails (one-liner rules every session needs). Skills hold deep-dive content loaded on demand.
$skill-name referencesSkills should tell the agent what to do, not just what to know:
flags, dce-edge, react-vendoring.agents/skills/)For complex skills, split into a hub SKILL.md + detail files:
pr-status-triage/
├── SKILL.md # Overview + quick commands
├── workflow.md # Detailed prioritization and patterns
└── local-repro.md # CI env matching guide
Reference detail files from SKILL.md with relative links. Keep SKILL.md scannable as an entry point.