con un clic
agent-development
Create and audit Claude subagents. Use when building specialized workers with isolated context. Includes frontmatter, allowed-tools, and agent patterns. Not for commands or skills.
Menú
Create and audit Claude subagents. Use when building specialized workers with isolated context. Includes frontmatter, allowed-tools, and agent patterns. Not for commands or skills.
Create single-file commands with dynamic content injection (@path and !command). Use when building commands that need filesystem access, git state, runtime context, or argument handling with $1 placeholders. Includes @file injection, !shell execution, <injected_content> wrappers, and single-file structure patterns. Not for skills (use skill-development) or audit workflows.
Create and refine single-file commands with @/! injection. Use when authoring new commands or improving existing ones. Includes namespacing rules, thin interface patterns, and delegation best practices. Not for skills or agents.
Master Claude Code's context primitives (Skill, Task, Command) and orchestration patterns. Use when designing agent workflows, understanding why some patterns work while others fail (e.g., Task→Task is forbidden but Skill→Skill is allowed), or implementing Chain of Experts architectures. Not for writing prompts or content generation.
Verify completion with evidence using 6-phase gates and three-way audits. Use when claiming task completion, committing code, or validating components. Not for skipping verification or bypassing quality gates.
Audit skill files against quality standards. Use ONLY within Manager Pattern workflow via TaskList. Receives taskId, reads draftPath from task metadata, validates against skill-development rules, writes auditResult to task metadata. Not for manual use.
Create portable skills with SKILL.md. Use when building new skills or documenting patterns. Includes frontmatter syntax, quality standards, and primitives. Not for commands or agents.
| name | agent-development |
| description | Create and audit Claude subagents. Use when building specialized workers with isolated context. Includes frontmatter, allowed-tools, and agent patterns. Not for commands or skills. |
<mission_control> Create and audit agents that follow toolkit standards: proper configuration, tool constraints, and task scope <success_criteria>Agent has valid frontmatter, appropriate allowed-tools, and clear task scope</success_criteria> </mission_control>
If you need to create an agent: Create .claude/agents/name/ with agent.md.
If you need to audit an agent: Invoke this skill directly to validate configuration.
If you need to refine an agent: Compare against patterns and apply fixes.
| If you need... | Read this section... |
|---|---|
| Directory structure | ## PATTERN: Directory |
| Frontmatter format | ## PATTERN: Frontmatter |
| allowed-tools | ## PATTERN: Allowed Tools |
| Perfect agent examples | ## PATTERN: Perfect Agent |
| Common failures | ## ANTI-PATTERN: Common Failures |
| Validation checklist | ## Validation Checklist |
Agents are specialized workers with isolated context. Unlike skills (portable knowledge), agents are configured workers with specific tool access and task scope.
Key insight: Agents are "configured workers" - they have specific capabilities defined by their configuration, unlike skills which encode knowledge.
Why this matters:
Agents use a simple directory structure:
.claude/agents/agent-name/
└── agent.md
| Item | Purpose |
|---|---|
agent.md | Agent configuration with frontmatter |
No references/ | Agents are self-configuring |
.claude/agents/
├── planning-agent/
│ └── agent.md
├── code-review-agent/
│ └── agent.md
└── testing-agent/
└── agent.md
Agents use YAML frontmatter for configuration:
---
name: agent-name
description: "Brief description, non spoiling of the content. Use when {trigger condition + keywords + key sentences user might say that should lead the agent to be invoked}. Not for {exclusions}."
allowed-tools:
- Read
- Write
- Glob
model: sonnet # Optional: sonnet, opus, haiku
temperature: 0 # Optional: 0-1
---
| Field | Required? | Purpose |
|---|---|---|
name | Yes | Agent identifier |
description | Yes | Auto-discovery |
allowed-tools | No | Tool whitelist |
model | No | Claude model (sonnet/opus/haiku) |
temperature | No | Response creativity (0-1) |
| Element | Purpose | Required? |
|---|---|---|
| Brief description | Action summary (non-spoiling) | Yes |
| "Use when" | Activation conditions | Yes |
| Keywords/triggers | User phrases that activate | Yes |
| "Not for" | Exclusions | Yes |
Basic:
description: "Plan implementation tasks. Use when starting new work or features that need planning."
Intermediate:
description: "Create implementation plans with TDD discipline. Use when starting new features, following test-driven development, or planning complex implementations. Not for bug fixes or quick tasks."
Gold Standard:
description: "Plan implementation using TDD discipline with parallel execution. Use when building new features, following test-driven development, or planning complex implementations. Creates test-first plans with verification gates. Not for bug fixes, hotfixes, or trivial changes."
## PATTERN: Allowed Tools
The `allowed-tools` field restricts which tools the agent can use:
```yaml
---
name: restricted-agent
description: "Agent with limited capabilities."
allowed-tools:
- Read
- Write
---
| Category | Tools |
|---|---|
| File Operations | Read, Write, Glob, Grep |
| Code Intelligence | LSP operations |
| Execution | Bash, Task |
| VS Code | All mcp__vscode-* tools |
| Web | WebFetch, WebSearch, mcp__exa-* |
| Orchestration | Skill, AskUserQuestion |
| Do | Don't |
|---|---|
| Restrict to minimum needed | Use broad tool access |
| Limit destructive tools | Allow rm, rm -rf without hooks |
| Use for behavior guidance | Use as security (personal project) |
| Document why restrictions exist | Add without reason |
Minimal (Read-only analysis):
allowed-tools:
- Read
- Glob
- Grep
- LSP
Standard (Read-write):
allowed-tools:
- Read
- Write
- Glob
- Grep
- Bash
- LSP
Full access:
allowed-tools:
- Read
- Write
- Glob
- Grep
- Bash
- Task
- LSP
- WebFetch
- WebSearch
---
name: analysis-agent
description: "Analyze code and find patterns. Use when exploring codebase. Includes pattern matching and file discovery. Not for modifications."
allowed-tools:
- Read
- Glob
- Grep
- LSP
model: sonnet
---
---
name: planning-agent
description: "Create implementation plans with TDD. Use when starting features. Creates test-first plans with verification. Not for bug fixes."
allowed-tools:
- Read
- Write
- Glob
- Grep
- Bash
- Task
- Skill
model: sonnet
---
---
name: full-agent
description: "Complete development workflow agent. Use for autonomous development. Includes planning, implementation, testing. Not for research tasks."
allowed-tools:
- Read
- Write
- Glob
- Grep
- Bash
- Task
- Skill
- LSP
- WebFetch
- WebSearch
- mcp__vscode-*
model: opus
temperature: 0.7
---
❌ Wrong:
allowed-tools:
- Read
- Write
- Bash
- Task
- Skill
- ALL_TOOLS # Never do this
Fix: Restrict to minimum needed:
✅ Correct:
allowed-tools:
- Read
- Glob
- Grep
❌ Wrong:
---
name: planning-agent
description: "Plan tasks."
---
Fix: Define clear scope in description:
✅ Correct:
---
name: planning-agent
description: "Create implementation plans with TDD. Use when starting features. Not for modifications."
---
❌ Wrong:
---
name: analysis-agent
description: "Deep analysis."
---
Fix: Specify model for specialized tasks:
✅ Correct:
---
name: analysis-agent
description: "Deep analysis. Use for complex investigations."
model: opus
---
❌ Wrong:
.claude/agents/planning-agent/
├── agent.md
└── references/
└── patterns.md
✅ Correct:
.claude/agents/planning-agent/
└── agent.md
Or use a Skill if references are needed:
.claude/skills/planning/
├── SKILL.md
└── references/
└── patterns.md
❌ Wrong:
description: "Run /meta:refine:all operations."
Fix: Never reference slash commands:
✅ Correct:
description: "Run refinement operations. Use when improving multiple components. Orchestrates all refine operations."
Before claiming agent authoring complete:
Structure:
.claude/agents/name/ directoryagent.md filereferences/ folderFrontmatter:
name fieldConfiguration:
allowed-tools defined (or omitted for defaults)Best Practices:
| Question | Answer Should Be... |
|---|---|
| Does agent use directory structure? | Yes, .claude/agents/name/ |
| Does agent have frontmatter? | Yes, with name and description |
| Does allowed-tools exist? | Yes, restricted to minimum |
| Does agent reference /meta? | No, never references slash commands |
| Is task scope clear? | Yes, description defines scope |
| Is model specified? | Yes, for specialized tasks |
<critical_constraint> Portability:
skill-name" or "invoke skill-name and read its file"Self-Contained:
Configuration: