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
Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).
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 — 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. Better quality for code review, debugging, analysis |
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 |
| 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 |
Quality Score: Valid frontmatter (20) + Description >50 chars (20) + Tools restricted (15) + Role section (15) + Workflow section (10) + Model set (10) = 90. 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 ATTENTION FOLLOW)
- Always break work into small todo tasks
- Always add a final review todo task
[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 MUST ATTENTION ask user whether to skip.
AI Mistake Prevention — Failure modes to avoid on every task:
Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.
Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.
Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.
Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.
When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.
Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.
Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.
Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.
Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.
Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.
Keep domain concepts out of generic/shared/infrastructure layers. A reusable layer (shared library, framework, infra module) must reference NO consumer-specific domain concept — tenant/customer/product IDs, business entities, feature rules. The leak compiles and runs, so it passes review silently while coupling the "reusable" layer to one consumer. Push domain fields/logic down into the consumer via subclass or composition.
Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act.
Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.
MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact.
MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction.
Closing Reminders
- MANDATORY IMPORTANT MUST ATTENTION break work into small todo tasks using
TaskCreate BEFORE starting
- MANDATORY IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
- MANDATORY IMPORTANT MUST ATTENTION cite
file:line evidence for every claim (confidence >80% to act)
- MANDATORY IMPORTANT MUST ATTENTION add a final review todo task to verify work quality
[TASK-PLANNING] Before acting, analyze task scope and systematically break it into small todo tasks and sub-tasks using TaskCreate.
Source: duc01226/EasyPlatform — distributed by TomeVault.
1---2name: duc01226-easyplatform-custom-agent3description: Quick Summary4---56## Quick Summary78**Goal:** Create new custom agents, audit existing agent quality, or enhance agent definitions.910**Workflow:** Detect mode (Create/Audit/Enhance) from `$ARGUMENTS` → Execute → Validate1112**Key Rules:**1314- Agent files: `.claude/agents/{name}.md` with YAML frontmatter + markdown body as system prompt15- Agent does NOT inherit Claude Code system prompt — write complete instructions16- Minimize tools to only what the agent needs17- System prompt structure: `## Role` → `## Workflow` → `## Key Rules` → `## Output`1819**Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).**2021## Modes2223| Mode | Trigger | Action |24| ----------- | ---------------------------------------------- | ---------------------- |25| **Create** | `$ARGUMENTS` describes a new agent | Create agent file |26| **Audit** | mentions verify, audit, review, check, quality | Audit existing agents |27| **Enhance** | mentions refactor, enhance, improve, optimize | Improve existing agent |2829## Mode 1: Create Agent30311. **Clarify** — `AskUserQuestion`: purpose, read-only vs read-write, model preference, memory needs322. **Check Existing** — Glob `.claude/agents/*.md` for similar agents. Avoid duplication.333. **Scaffold** — Create `.claude/agents/{name}.md` using frontmatter template below344. **Write System Prompt** — Structure: `## Role` → `## Workflow` → `## Key Rules` → `## Output`355. **Validate** — Run audit checklist below3637## Mode 2: Audit Agents38391. **Discover** — Glob `.claude/agents/*.md`402. **Parse** — Read first 30 lines of each, extract frontmatter413. **Validate** — Check each audit rule below424. **Report** — Issues grouped by severity (Error > Warning > Info), include quality scores435. **Fix** — If user confirms, fix Error-level issues automatically4445## Mode 3: Enhance Agent46471. **Read** — Load specified agent file482. **Analyze** — Check against best practices and audit checklist493. **Recommend** — List improvements with rationale504. **Apply** — If user confirms, apply enhancements5152---5354## Agent Frontmatter Schema5556```yaml57---58# REQUIRED59name: my-agent # Lowercase + hyphens only60description: >- # Claude uses this to decide when to delegate61 Use this agent when [specific trigger scenarios].6263# OPTIONAL — Tools64tools: Read, Grep, Glob, Bash # Allowlist (omit both → inherits all)65disallowedTools: Write, Edit # Denylist (removes from inherited set)66# Task(agent1, agent2) restricts spawnable subagents6768# OPTIONAL — Model69model: inherit # inherit | sonnet | opus | haiku7071# OPTIONAL — Permissions72permissionMode: default # default | acceptEdits | dontAsk | bypassPermissions | plan7374# OPTIONAL — Skills (content injected at startup)75skills:76 - skill-name7778# OPTIONAL — MCP Servers79mcpServers:80 - server-name8182# OPTIONAL — Hooks (scoped to this agent)83hooks:84 PreToolUse:85 - matcher: 'Bash'86 hooks:87 - type: command88 command: './scripts/validate.sh'8990# OPTIONAL — Memory (MEMORY.md auto-injected, Read/Write/Edit auto-added)91memory: project # user (~/.claude/agent-memory/) | project (.claude/agent-memory/) | local (gitignored)9293# OPTIONAL — Execution94background: false # true = always background task95isolation: worktree # Run in temporary git worktree96---97```9899## Tool Restriction Patterns100101| Agent Type | Recommended `tools` |102| -------------------- | --------------------------------------- |103| Explorer/Scout | `Read, Grep, Glob, Bash` |104| Reviewer (read-only) | `Read, Grep, Glob` |105| Writer/Implementer | `Read, Write, Edit, Grep, Glob, Bash` |106| Researcher | `Read, Grep, Glob, WebFetch, WebSearch` |107| Orchestrator | `Read, Grep, Glob, Task(sub1, sub2)` |108109Available tools: Read, Write, Edit, MultiEdit, Glob, Grep, Bash, WebFetch, WebSearch, Task, NotebookRead, NotebookEdit, TaskCreate, TaskUpdate, AskUserQuestion, + MCP tools.110111## Model Selection112113| Model | Best For |114| --------- | ------------------------------------------------------------------------------------------------------ |115| `haiku` | Fast read-only: scanning, search, file listing |116| `sonnet` | Balanced: code review, debugging, analysis |117| `opus` | High-stakes: architecture, complex implementation. Better quality for code review, debugging, analysis |118| `inherit` | Default — match parent's model |119120## Description Best Practices121122```yaml123# BAD — too vague, Claude won't auto-delegate124description: Reviews code125126# GOOD — specific trigger conditions127description: >-128 Use this agent for comprehensive code review after implementing features,129 before merging PRs, or when assessing code quality and technical debt.130```131132- Include "Use this agent when..." phrasing with concrete scenarios133- Add "use proactively" to encourage auto-invocation134135## Common Anti-Patterns136137| Anti-Pattern | Fix |138| ---------------------------------- | ----------------------------------------- |139| No tool restrictions | Add `tools` allowlist |140| Vague description | Write specific trigger conditions |141| Giant system prompt | Keep concise, use `skills` for detail |142| Recursive subagents | Restrict `Task` in tools |143| Windows long prompts (>8191 chars) | Use file-based agents, not `--agents` CLI |144145## Context Passing146147- Agent receives ONLY its system prompt + task prompt — NOT parent conversation148- Parent receives ONLY agent's final result — NOT intermediate tool calls149- This isolation is the primary context management benefit150151## Audit Checklist152153| # | Check | Rule | Severity |154| --- | -------------------- | ------------------------------ | -------- |155| 1 | Frontmatter exists | Must have `---` delimiters | Error |156| 2 | Name present & valid | Lowercase + hyphens only | Error |157| 3 | Description present | Non-empty, >20 chars | Error |158| 4 | No duplicate names | Unique across all agent files | Error |159| 5 | Description quality | Specific trigger scenarios | Warning |160| 6 | Tools minimal | Only what agent needs | Warning |161| 7 | Prompt structure | Has `## Role` + `## Workflow` | Warning |162| 8 | Model set | When task differs from default | Info |163164**Quality Score:** Valid frontmatter (20) + Description >50 chars (20) + Tools restricted (15) + Role section (15) + Workflow section (10) + Model set (10) = 90. Rating: 80+ Excellent, 60-79 Good, 40-59 Needs Work, <40 Poor.165166## File Priority (highest first)1671681. `--agents` CLI flag (session only)1692. `.claude/agents/*.md` (project)1703. `~/.claude/agents/*.md` (user)1714. Plugin `agents/` directory172173Same `name` across levels: higher-priority wins. Use `claude agents` CLI to list all.174175## Requirements176177<user-prompt>$ARGUMENTS</user-prompt>178179---180181**IMPORTANT Task Planning Notes (MUST ATTENTION FOLLOW)**182183- Always break work into small todo tasks184- Always add a final review todo task185186---187188> **[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 MUST ATTENTION ask user whether to skip.189190<!-- SYNC:ai-mistake-prevention -->191192> **AI Mistake Prevention** — Failure modes to avoid on every task:193>194> **Check downstream references before deleting.** Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.195> **Verify AI-generated content against actual code.** AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.196> **Trace full dependency chain after edits.** Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.197> **Trace ALL code paths when verifying correctness.** Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.198> **When debugging, ask "whose responsibility?" before fixing.** Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.199> **Assume existing values are intentional — ask WHY before changing.** Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.200> **Verify ALL affected outputs, not just the first.** Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.201> **Holistic-first debugging — resist nearest-attention trap.** When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.202> **Surgical changes — apply the diff test.** Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.203> **Surface ambiguity before coding — don't pick silently.** If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.204> **Keep domain concepts out of generic/shared/infrastructure layers.** A reusable layer (shared library, framework, infra module) must reference NO consumer-specific domain concept — tenant/customer/product IDs, business entities, feature rules. The leak compiles and runs, so it passes review silently while coupling the "reusable" layer to one consumer. Push domain fields/logic down into the consumer via subclass or composition.205206<!-- /SYNC:ai-mistake-prevention -->207208<!-- SYNC:critical-thinking-mindset -->209210> **Critical Thinking Mindset** — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act.211> **Anti-hallucination:** Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.212213<!-- /SYNC:critical-thinking-mindset -->214215<!-- SYNC:critical-thinking-mindset:reminder -->216217**MUST ATTENTION** apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact.218219<!-- /SYNC:critical-thinking-mindset:reminder -->220221<!-- SYNC:ai-mistake-prevention:reminder -->222223**MUST ATTENTION** apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction.224225<!-- /SYNC:ai-mistake-prevention:reminder -->226227## Closing Reminders228229- **MANDATORY IMPORTANT MUST ATTENTION** break work into small todo tasks using `TaskCreate` BEFORE starting230- **MANDATORY IMPORTANT MUST ATTENTION** search codebase for 3+ similar patterns before creating new code231- **MANDATORY IMPORTANT MUST ATTENTION** cite `file:line` evidence for every claim (confidence >80% to act)232- **MANDATORY IMPORTANT MUST ATTENTION** add a final review todo task to verify work quality233234**[TASK-PLANNING]** Before acting, analyze task scope and systematically break it into small todo tasks and sub-tasks using TaskCreate.235236---237> Source: [duc01226/EasyPlatform](https://github.com/duc01226/EasyPlatform) — distributed by [TomeVault](https://tomevault.io).238<!-- tomevault:4.0:skill_md:2026-06-16 -->