[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI may ask user whether to skip.
Quick Summary
Goal: Create new custom agents, audit existing agent quality, or enhance agent definitions.
Workflow: Detect mode (Create/Audit/Enhance) from $ARGUMENTS → Execute → Validate
Key Rules:
- Agent files:
.claude/agents/{name}.md with YAML frontmatter + markdown body as system prompt
- Agent does NOT inherit Claude Code system prompt — write complete instructions
- Minimize tools to only what the agent needs
- System prompt structure:
## Role → ## Workflow → ## Key Rules → ## Output
Modes
| Mode |
Trigger |
Action |
| Create |
$ARGUMENTS describes a new agent |
Create agent file |
| Audit |
mentions verify, audit, review, check, quality |
Audit existing agents |
| Enhance |
mentions refactor, enhance, improve, optimize |
Improve existing agent |
Mode 1: Create Agent
- Clarify —
AskUserQuestion: purpose, read-only vs read-write, model preference, memory needs
- Check Existing — Glob
.claude/agents/*.md for similar agents. Avoid duplication.
- Scaffold — Create
.claude/agents/{name}.md using frontmatter template below
- Write System Prompt — Structure:
## Role → ## Workflow → ## Key Rules → ## Output
- Validate — Run audit checklist below
Mode 2: Audit Agents
- Discover — Glob
.claude/agents/*.md
- Parse — Read first 30 lines of each, extract frontmatter
- Validate — Check each audit rule below
- Report — Issues grouped by severity (Error > Warning > Info), include quality scores
- Fix — If user confirms, fix Error-level issues automatically
Mode 3: Enhance Agent
- Read — Load specified agent file
- Analyze — Check against best practices and audit checklist
- Recommend — List improvements with rationale
- Apply — If user confirms, apply enhancements
Agent Frontmatter Schema
---
# REQUIRED
name: my-agent # Lowercase + hyphens only
description: >- # Claude uses this to decide when to delegate
Use this agent when [specific trigger scenarios].
# OPTIONAL — Tools
tools: Read, Grep, Glob, Bash # Allowlist (omit both → inherits all)
disallowedTools: Write, Edit # Denylist (removes from inherited set)
# Task(agent1, agent2) restricts spawnable subagents
# OPTIONAL — Model
model: inherit # inherit | sonnet | opus | haiku
# OPTIONAL — Permissions
permissionMode: default # default | acceptEdits | dontAsk | bypassPermissions | plan
# OPTIONAL — Limits
maxTurns: 30 # Prevents runaway agents
# OPTIONAL — Skills (content injected at startup)
skills:
- skill-name
# OPTIONAL — MCP Servers
mcpServers:
- server-name
# OPTIONAL — Hooks (scoped to this agent)
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/validate.sh"
# OPTIONAL — Memory (MEMORY.md auto-injected, Read/Write/Edit auto-added)
memory: project # user (~/.claude/agent-memory/) | project (.claude/agent-memory/) | local (gitignored)
# OPTIONAL — Execution
background: false # true = always background task
isolation: worktree # Run in temporary git worktree
---
Tool Restriction Patterns
| Agent Type |
Recommended tools |
| Explorer/Scout |
Read, Grep, Glob, Bash |
| Reviewer (read-only) |
Read, Grep, Glob |
| Writer/Implementer |
Read, Write, Edit, Grep, Glob, Bash |
| Researcher |
Read, Grep, Glob, WebFetch, WebSearch |
| Orchestrator |
Read, Grep, Glob, Task(sub1, sub2) |
Available tools: Read, Write, Edit, MultiEdit, Glob, Grep, Bash, WebFetch, WebSearch, Task, NotebookRead, NotebookEdit, TaskCreate, TaskUpdate, AskUserQuestion, + MCP tools.
Model Selection
| Model |
Best For |
haiku |
Fast read-only: scanning, search, file listing |
sonnet |
Balanced: code review, debugging, analysis |
opus |
High-stakes: architecture, complex implementation |
inherit |
Default — match parent's model |
Description Best Practices
# BAD — too vague, Claude won't auto-delegate
description: Reviews code
# GOOD — specific trigger conditions
description: >-
Use this agent for comprehensive code review after implementing features,
before merging PRs, or when assessing code quality and technical debt.
- Include "Use this agent when..." phrasing with concrete scenarios
- Add "use proactively" to encourage auto-invocation
Common Anti-Patterns
| Anti-Pattern |
Fix |
| No tool restrictions |
Add tools allowlist |
| Vague description |
Write specific trigger conditions |
| Giant system prompt |
Keep concise, use skills for detail |
No maxTurns |
Set 20-30 to prevent runaway |
| Recursive subagents |
Restrict Task in tools |
| Windows long prompts (>8191 chars) |
Use file-based agents, not --agents CLI |
Context Passing
- Agent receives ONLY its system prompt + task prompt — NOT parent conversation
- Parent receives ONLY agent's final result — NOT intermediate tool calls
- This isolation is the primary context management benefit
Audit Checklist
| # |
Check |
Rule |
Severity |
| 1 |
Frontmatter exists |
Must have --- delimiters |
Error |
| 2 |
Name present & valid |
Lowercase + hyphens only |
Error |
| 3 |
Description present |
Non-empty, >20 chars |
Error |
| 4 |
No duplicate names |
Unique across all agent files |
Error |
| 5 |
Description quality |
Specific trigger scenarios |
Warning |
| 6 |
Tools minimal |
Only what agent needs |
Warning |
| 7 |
Prompt structure |
Has ## Role + ## Workflow |
Warning |
| 8 |
Model set |
When task differs from default |
Info |
| 9 |
maxTurns set |
Recommended 20-30 |
Info |
Quality Score: Valid frontmatter (20) + Description >50 chars (20) + Tools restricted (15) + Role section (15) + Workflow section (10) + Model set (10) + maxTurns set (10) = 100. Rating: 80+ Excellent, 60-79 Good, 40-59 Needs Work, <40 Poor.
File Priority (highest first)
--agents CLI flag (session only)
.claude/agents/*.md (project)
~/.claude/agents/*.md (user)
- Plugin
agents/ directory
Same name across levels: higher-priority wins. Use claude agents CLI to list all.
Requirements
$ARGUMENTS
IMPORTANT Task Planning Notes (MUST FOLLOW)
- Always break work into small todo tasks
- Always add a final review todo task
1---2name: custom-agent3description: [AI & Tools] Create, verify, or enhance Claude Code custom agents (.claude/agents/*.md). Triggers on: create agent, new agent, agent schema, audit agent, verify agent, review agent, enhance agent, refactor agent, agent quality, custom agent.4---5
6> **[IMPORTANT]** Use `TaskCreate` to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI may ask user whether to skip.
7
8## Quick Summary
9
10**Goal:** Create new custom agents, audit existing agent quality, or enhance agent definitions.
11
12**Workflow:** Detect mode (Create/Audit/Enhance) from `$ARGUMENTS` → Execute → Validate
13
14**Key Rules:**
15- Agent files: `.claude/agents/{name}.md` with YAML frontmatter + markdown body as system prompt
16- Agent does NOT inherit Claude Code system prompt — write complete instructions
17- Minimize tools to only what the agent needs
18- System prompt structure: `## Role` → `## Workflow` → `## Key Rules` → `## Output`
19
20## Modes
21
22| Mode | Trigger | Action |
23|------|---------|--------|
24| **Create** | `$ARGUMENTS` describes a new agent | Create agent file |
25| **Audit** | mentions verify, audit, review, check, quality | Audit existing agents |
26| **Enhance** | mentions refactor, enhance, improve, optimize | Improve existing agent |
27
28## Mode 1: Create Agent
29
301. **Clarify** — `AskUserQuestion`: purpose, read-only vs read-write, model preference, memory needs
312. **Check Existing** — Glob `.claude/agents/*.md` for similar agents. Avoid duplication.
323. **Scaffold** — Create `.claude/agents/{name}.md` using frontmatter template below
334. **Write System Prompt** — Structure: `## Role` → `## Workflow` → `## Key Rules` → `## Output`
345. **Validate** — Run audit checklist below
35
36## Mode 2: Audit Agents
37
381. **Discover** — Glob `.claude/agents/*.md`
392. **Parse** — Read first 30 lines of each, extract frontmatter
403. **Validate** — Check each audit rule below
414. **Report** — Issues grouped by severity (Error > Warning > Info), include quality scores
425. **Fix** — If user confirms, fix Error-level issues automatically
43
44## Mode 3: Enhance Agent
45
461. **Read** — Load specified agent file
472. **Analyze** — Check against best practices and audit checklist
483. **Recommend** — List improvements with rationale
494. **Apply** — If user confirms, apply enhancements
50
51---
52
53## Agent Frontmatter Schema
54
55```yaml
56---
57# REQUIRED
58name: my-agent # Lowercase + hyphens only
59description: >- # Claude uses this to decide when to delegate
60 Use this agent when [specific trigger scenarios].
61
62# OPTIONAL — Tools
63tools: Read, Grep, Glob, Bash # Allowlist (omit both → inherits all)
64disallowedTools: Write, Edit # Denylist (removes from inherited set)
65# Task(agent1, agent2) restricts spawnable subagents
66
67# OPTIONAL — Model
68model: inherit # inherit | sonnet | opus | haiku
69
70# OPTIONAL — Permissions
71permissionMode: default # default | acceptEdits | dontAsk | bypassPermissions | plan
72
73# OPTIONAL — Limits
74maxTurns: 30 # Prevents runaway agents
75
76# OPTIONAL — Skills (content injected at startup)
77skills:
78 - skill-name
79
80# OPTIONAL — MCP Servers
81mcpServers:
82 - server-name
83
84# OPTIONAL — Hooks (scoped to this agent)
85hooks:
86 PreToolUse:
87 - matcher: "Bash"
88 hooks:
89 - type: command
90 command: "./scripts/validate.sh"
91
92# OPTIONAL — Memory (MEMORY.md auto-injected, Read/Write/Edit auto-added)
93memory: project # user (~/.claude/agent-memory/) | project (.claude/agent-memory/) | local (gitignored)
94
95# OPTIONAL — Execution
96background: false # true = always background task
97isolation: worktree # Run in temporary git worktree
98---
99```
100
101## Tool Restriction Patterns
102
103| Agent Type | Recommended `tools` |
104|---|---|
105| Explorer/Scout | `Read, Grep, Glob, Bash` |
106| Reviewer (read-only) | `Read, Grep, Glob` |
107| Writer/Implementer | `Read, Write, Edit, Grep, Glob, Bash` |
108| Researcher | `Read, Grep, Glob, WebFetch, WebSearch` |
109| Orchestrator | `Read, Grep, Glob, Task(sub1, sub2)` |
110
111Available tools: Read, Write, Edit, MultiEdit, Glob, Grep, Bash, WebFetch, WebSearch, Task, NotebookRead, NotebookEdit, TaskCreate, TaskUpdate, AskUserQuestion, + MCP tools.
112
113## Model Selection
114
115| Model | Best For |
116|---|---|
117| `haiku` | Fast read-only: scanning, search, file listing |
118| `sonnet` | Balanced: code review, debugging, analysis |
119| `opus` | High-stakes: architecture, complex implementation |
120| `inherit` | Default — match parent's model |
121
122## Description Best Practices
123
124```yaml
125# BAD — too vague, Claude won't auto-delegate
126description: Reviews code
127
128# GOOD — specific trigger conditions
129description: >-
130 Use this agent for comprehensive code review after implementing features,
131 before merging PRs, or when assessing code quality and technical debt.
132```
133
134- Include "Use this agent when..." phrasing with concrete scenarios
135- Add "use proactively" to encourage auto-invocation
136
137## Common Anti-Patterns
138
139| Anti-Pattern | Fix |
140|---|---|
141| No tool restrictions | Add `tools` allowlist |
142| Vague description | Write specific trigger conditions |
143| Giant system prompt | Keep concise, use `skills` for detail |
144| No `maxTurns` | Set 20-30 to prevent runaway |
145| Recursive subagents | Restrict `Task` in tools |
146| Windows long prompts (>8191 chars) | Use file-based agents, not `--agents` CLI |
147
148## Context Passing
149
150- Agent receives ONLY its system prompt + task prompt — NOT parent conversation
151- Parent receives ONLY agent's final result — NOT intermediate tool calls
152- This isolation is the primary context management benefit
153
154## Audit Checklist
155
156| # | Check | Rule | Severity |
157|---|-------|------|----------|
158| 1 | Frontmatter exists | Must have `---` delimiters | Error |
159| 2 | Name present & valid | Lowercase + hyphens only | Error |
160| 3 | Description present | Non-empty, >20 chars | Error |
161| 4 | No duplicate names | Unique across all agent files | Error |
162| 5 | Description quality | Specific trigger scenarios | Warning |
163| 6 | Tools minimal | Only what agent needs | Warning |
164| 7 | Prompt structure | Has `## Role` + `## Workflow` | Warning |
165| 8 | Model set | When task differs from default | Info |
166| 9 | maxTurns set | Recommended 20-30 | Info |
167
168**Quality Score:** Valid frontmatter (20) + Description >50 chars (20) + Tools restricted (15) + Role section (15) + Workflow section (10) + Model set (10) + maxTurns set (10) = 100. Rating: 80+ Excellent, 60-79 Good, 40-59 Needs Work, <40 Poor.
169
170## File Priority (highest first)
171
1721. `--agents` CLI flag (session only)
1732. `.claude/agents/*.md` (project)
1743. `~/.claude/agents/*.md` (user)
1754. Plugin `agents/` directory
176
177Same `name` across levels: higher-priority wins. Use `claude agents` CLI to list all.
178
179## Requirements
180
181<user-prompt>$ARGUMENTS</user-prompt>
182
183---
184
185**IMPORTANT Task Planning Notes (MUST FOLLOW)**
186
187- Always break work into small todo tasks
188- Always add a final review todo task