# Agent Frontmatter YAML frontmatter schema for agent files. ## Required Fields ### `name` Agent identifier. Should match filename without `.md`. ```yaml name: security-reviewer ``` ### `description` When to use + trigger keywords + examples. Most critical field for discovery. **Format:** ```yaml description: | Use this agent when [trigger conditions]. Triggers on [keywords]. Context: [Situation] user: "[User message]" assistant: "[Claude's delegation response]" ``` **Checklist:** - Starts with "Use this agent when..." - Includes 3-5 trigger keywords - Has 3-4 examples covering: typical use, edge case, verb triggers - Specific, not vague **Example:** ```yaml description: | Use this agent for security vulnerability detection in code. Triggers on security audits, OWASP, injection, XSS, auth review. Context: User wants security review. user: "Review this auth code for vulnerabilities" assistant: "I'll use the security-reviewer agent to analyze for security issues." Context: User mentions specific vulnerability type. user: "Check for SQL injection in the user service" assistant: "I'll delegate to the security-reviewer agent for SQL injection analysis." ``` ## Optional Fields ### `model` Model selection. Default: `sonnet` (NOT inherited automatically). ```yaml model: inherit # Use parent's model (recommended) model: haiku # Fast/cheap - simple tasks, quick exploration model: sonnet # Balanced - standard tasks (default if omitted) model: opus # Complex reasoning, high-stakes decisions ``` **Guidance:** - `inherit` — Recommended default. Adapts to parent's model context - `haiku` — Fast exploration, simple pattern matching, low-latency - `sonnet` — Good default. Balanced cost/capability - `opus` — Deeper reasoning, higher quality output, complex analysis **When to use `opus`:** Nuanced judgment, multi-step reasoning, security/architecture review, complex refactoring, irreversible decisions, when quality matters more than speed. **When `sonnet` is fine:** Straightforward implementation, standard review, test generation, docs. ### `skills` Skills to auto-load. **Critical:** Subagents do NOT inherit skills from parent. ```yaml skills: tdd, debugging, type-safety ``` If your agent needs specific skills, you must explicitly list them here. ### `permissionMode` Control permission handling for automation scenarios. ```yaml permissionMode: default # Standard permission handling permissionMode: acceptEdits # Auto-accept edit operations permissionMode: bypassPermissions # Skip permission prompts entirely permissionMode: plan # Planning mode permissions ``` Use `acceptEdits` or `bypassPermissions` for CI/CD or batch processing agents. ### `tools` Restrict tool access. Default: inherits full access from parent. ```yaml # Read-only analysis tools: Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet # With git history tools: Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet, Bash(git show:*), Bash(git diff:*) # Research agent tools: Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet, WebSearch, WebFetch ``` See [tools.md](tools.md) for detailed patterns. ### `color` Status line color for this agent. ```yaml color: orange ``` ## File Naming - Kebab-case: `security-reviewer.md`, `api-tester.md` - No spaces or special characters - Extension must be `.md` - Filename = agent identifier ``` agents/security-reviewer.md → subagent_type: "security-reviewer" agents/db-migrator.md → subagent_type: "db-migrator" ``` ## File Locations | Scope | Path | Priority | |-------|------|----------| | Project | `.claude/agents/` | Highest | | Personal | `~/.claude/agents/` | Medium | | Plugin | `/agents/` | Lowest | Project-level agents take precedence over personal agents. This allows team-specific agents to override personal defaults. ## Minimal Example ```markdown --- name: code-formatter description: | Use this agent for code formatting tasks. Context: User wants code formatted. user: "Format the utils module" assistant: "I'll use the code-formatter agent." model: inherit --- # Code Formatter Format code according to project style guide. ``` ## Standard Example ```markdown --- name: auth-security-reviewer description: | Use this agent when reviewing authentication implementations. Triggers on auth flow review, token security, session management. Context: User wants auth code reviewed. user: "Review the login flow for security issues" assistant: "I'll use the auth-security-reviewer agent." Context: User mentions specific auth concern. user: "Check our JWT token handling" assistant: "I'll delegate to the auth-security-reviewer agent." model: inherit --- # Authentication Security Reviewer ## Expertise - OAuth 2.0 and OIDC - JWT tokens - Session management ## Process 1. Analyze authentication flow 2. Check token handling 3. Verify session security 4. Report findings with severity ```