Generate agents programmatically following Claude Code best practices. This skill contains templates and validation procedures for creating new agents.
Quick Process
- Collect requirements: agent name, description, role, tools needed
- Determine configuration:
- Model: sonnet (default), opus (complex tasks), haiku (simple)
- PermissionMode: default (read-only), acceptEdits (implementation)
- Context: fork (high output), inherit (needs context)
- Hooks: Required for dangerous operations (Bash, Write)
- Identify required skills (if any)
- Create
.claude/agents/{name}.md
- Generate frontmatter with all required fields
- Write concise instructions (20-40 lines)
- Reference skills for detailed procedures
- Validate: length, frontmatter completeness, no code examples
Agent Structure
.claude/agents/
└── agent-name.md # 20-40 lines, instructions only
Frontmatter Template
---
name: agent-name
description: Single sentence when to use (< 100 chars)
tools: [Read, Write, Edit, Bash]
disallowedTools: [Write(/data/credentials/*)]
model: sonnet|opus|haiku
permissionMode: default|acceptEdits|dontAsk
context: fork|inherit
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/validate-command.sh"
skills:
- skill-name-1
- skill-name-2
---
Field Rules:
name: kebab-case, lowercase
description: Single sentence, < 100 chars, action-oriented
model: sonnet (default), opus (complex), haiku (simple)
permissionMode: default (read-only), acceptEdits (implementation), dontAsk (dangerous)
context: fork (high-volume output), inherit (needs parent context)
hooks: Required for dangerous operations (Bash, Write)
skills: List of skills the agent can invoke
Agent Templates
Read-Only Agent:
tools: Read, Grep, FindByName
disallowedTools: Write, Edit
permissionMode: default
context: inherit
Implementation Agent:
tools: Read, Write, Edit, Bash
permissionMode: acceptEdits
context: inherit
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/validate-command.sh"
skills: [testing]
High-Volume Agent:
tools: Read, Bash
permissionMode: default
context: fork
skills: [testing]
Content Guidelines
Keep in Agent File (20-40 lines):
- Role and responsibilities
- Process/workflow steps
- When to use this agent
- References to skills for detailed procedures
Delegate to Skills:
- Code examples
- Detailed procedures
- Tutorials and best practices
- Command references
Validation Rules
- Agent file: 20-40 lines, instructions only
- Frontmatter: Complete (name, description, tools, model, permissionMode, context)
- Description: Single sentence, < 100 chars
- No code examples: Delegate to skills
- No tutorials: Delegate to skills
- Hooks: Configure for dangerous operations
Output
Creates agent file with validated frontmatter and concise instructions following Claude Code best practices.
1---2name: agent-generator3description: Generates new agents with proper configuration and validation4---56Generate agents programmatically following Claude Code best practices. This skill contains templates and validation procedures for creating new agents.78## Quick Process9101. Collect requirements: agent name, description, role, tools needed112. Determine configuration:12 - Model: sonnet (default), opus (complex tasks), haiku (simple)13 - PermissionMode: default (read-only), acceptEdits (implementation)14 - Context: fork (high output), inherit (needs context)15 - Hooks: Required for dangerous operations (Bash, Write)163. Identify required skills (if any)174. Create `.claude/agents/{name}.md`185. Generate frontmatter with all required fields196. Write concise instructions (20-40 lines)207. Reference skills for detailed procedures218. Validate: length, frontmatter completeness, no code examples2223## Agent Structure2425```26.claude/agents/27└── agent-name.md # 20-40 lines, instructions only28```2930## Frontmatter Template3132```yaml33---34name: agent-name35description: Single sentence when to use (< 100 chars)36tools: [Read, Write, Edit, Bash]37disallowedTools: [Write(/data/credentials/*)]38model: sonnet|opus|haiku39permissionMode: default|acceptEdits|dontAsk40context: fork|inherit41hooks:42 PreToolUse:43 - matcher: "Bash"44 hooks:45 - type: command46 command: "./scripts/validate-command.sh"47skills:48 - skill-name-149 - skill-name-250---51```5253**Field Rules:**54- `name`: kebab-case, lowercase55- `description`: Single sentence, < 100 chars, action-oriented56- `model`: `sonnet` (default), `opus` (complex), `haiku` (simple)57- `permissionMode`: `default` (read-only), `acceptEdits` (implementation), `dontAsk` (dangerous)58- `context`: `fork` (high-volume output), `inherit` (needs parent context)59- `hooks`: Required for dangerous operations (Bash, Write)60- `skills`: List of skills the agent can invoke6162## Agent Templates6364**Read-Only Agent:**65```yaml66tools: Read, Grep, FindByName67disallowedTools: Write, Edit68permissionMode: default69context: inherit70```7172**Implementation Agent:**73```yaml74tools: Read, Write, Edit, Bash75permissionMode: acceptEdits76context: inherit77hooks:78 PreToolUse:79 - matcher: "Bash"80 hooks:81 - type: command82 command: "./scripts/validate-command.sh"83skills: [testing]84```8586**High-Volume Agent:**87```yaml88tools: Read, Bash89permissionMode: default90context: fork91skills: [testing]92```9394## Content Guidelines9596**Keep in Agent File (20-40 lines):**97- Role and responsibilities98- Process/workflow steps99- When to use this agent100- References to skills for detailed procedures101102**Delegate to Skills:**103- Code examples104- Detailed procedures105- Tutorials and best practices106- Command references107108## Validation Rules109110- Agent file: 20-40 lines, instructions only111- Frontmatter: Complete (name, description, tools, model, permissionMode, context)112- Description: Single sentence, < 100 chars113- No code examples: Delegate to skills114- No tutorials: Delegate to skills115- Hooks: Configure for dangerous operations116117## Output118119Creates agent file with validated frontmatter and concise instructions following Claude Code best practices.