This skill should be used when creating agents, writing agent frontmatter, configuring subagents, or when "create agent", "agent.md", "subagent", or "Task tool" are mentioned.
Create and validate specialized subagents that extend Claude Code with focused expertise.
Critical distinction:
| Aspect | Agents (This Skill) | Skills |
| -------------- | ------------------------------------------- | -------------------------------------- |
| Purpose | Specialized subagents with focused expertise | Capability packages with instructions |
| Invocation | Task tool (subagent_type parameter) | Automatic (model-triggered by context) |
| Location | agents/ directory | skills/ directory |
| Structure | Single .md file with frontmatter | Directory with SKILL.md + resources |
See agent-vs-skill.md for details.
Copy a template from templates/:
| Template | Use When |
| ----------------- | -------------------------------------------- |
| basic.md | Simple agents with focused expertise |
| advanced.md | Full-featured agents with all config options |
./scripts/scaffold-agent.sh security-reviewer -t reviewer
Before writing code, clarify:
~/.claude/agents/), project (agents/), or plugin?Key questions:
| Type | Purpose | Typical Tools |
|------|---------|---------------|
| Analyzer | Examine without modifying | Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet |
| Implementer | Build and modify code | Full access (inherit) |
| Reviewer | Provide feedback | Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet |
| Tester | Create and manage tests | Glob, Grep, Read, Write, Edit, Bash, ... |
| Researcher | Find and synthesize info | ..., WebSearch, WebFetch |
| Deployer | Handle infrastructure | ..., Bash(kubectl *), Bash(docker *) |
See agent-types.md for details.
---
name: agent-name # Required: kebab-case, matches filename
description: | # Required: when to use + triggers + examples
Use this agent when [conditions]. Triggers on [keywords].
<example>
Context: [Situation]
user: "[User message]"
assistant: "I'll use the agent-name agent to [action]."
</example>
model: inherit # Optional: inherit|haiku|sonnet|opus
tools: Glob, Grep, Read # Optional: restrict tools (default: inherit all)
skills: tdd, debugging # Optional: skills to auto-load (NOT inherited)
permissionMode: default # Optional: default|acceptEdits|bypassPermissions
---
See frontmatter.md for complete schema.
| Model | When to Use |
|-------|-------------|
| inherit | Recommended default - adapts to parent context |
| haiku | Fast exploration, simple tasks, low-latency |
| sonnet | Balanced cost/capability (default if omitted) |
| opus | Nuanced judgment, security/architecture review, irreversible decisions |
Philosophy: Don't over-restrict. Only limit tools when there's a specific safety reason.
Baseline (always include when restricting):
tools: Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet
See tools.md for patterns.
---
name: security-reviewer
description: |
Use this agent for security vulnerability detection.
Triggers on security audits, OWASP, injection, XSS.
<example>
Context: User wants security review.
user: "Review auth code for vulnerabilities"
assistant: "I'll use the security-reviewer agent."
</example>
model: inherit
---
# Security Reviewer
You are a security expert specializing in [expertise].
## Expertise
- Domain expertise 1
- Domain expertise 2
## Process
### Step 1: [Stage Name]
- Action item
- Action item
### Step 2: [Stage Name]
- Action item
## Output Format
For each finding:
- **Severity**: critical|high|medium|low
- **Location**: file:line
- **Issue**: Description
- **Remediation**: How to fix
## Constraints
**Always:**
- Required behavior
**Never:**
- Prohibited action
Descriptions are the most critical field for agent discovery:
Single Responsibility
# Good: Focused
description: SQL injection vulnerability detector
# Bad: Too broad
description: Security expert handling all issues
Document Boundaries
## What I Don't Do
- I analyze, not implement fixes
- I review, not build from scratch
Consistent Output Format
Define structured output so results are predictable and parseable.
After creating an agent, validate against these checklists.
--- on line 1--- before contentname present and matches filename (without .md)description present and non-emptytools uses comma-separated valid tool namesmodel is valid: sonnet, opus, haiku, or inherit[role]-[specialty] or [specialty] patternGood: code-reviewer, test-runner, security-auditor
Bad: helper, my-agent, the-best-agent
Anti-patterns:
Anti-patterns:
tools: (not allowed-tools:)Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGetCommon patterns:
# Read-only
tools: Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet
# Read-only + git
tools: Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet, Bash(git show:*), Bash(git diff:*)
# Research
tools: Glob, Grep, Read, Skill, Task, TaskCreate, TaskUpdate, TaskList, TaskGet, WebSearch, WebFetch
# Full access
# (omit field to inherit all)
# Agent Validation Report: [Agent Name]
## Summary
- **Status**: PASS | FAIL | WARNINGS
- **Location**: [path]
- **Issues**: [count critical] / [count warnings]
## Critical Issues (must fix)
1. [Issue with specific fix]
## Warnings (should fix)
1. [Issue with specific fix]
## Strengths
- [What's done well]
| Scope | Location | Priority | Visibility |
|-------|----------|----------|------------|
| Project | agents/ | Highest | Team via git |
| Personal | ~/.claude/agents/ | Medium | You only |
| Plugin | <plugin>/agents/ | Lowest | Plugin users |
Project agents override personal agents with the same name.
agents/Agents are loaded from:
~/.claude/agents/ (personal)./agents/ (project)Debug with: claude --debug
agents/agent-name.mdPrefer model: inherit to use parent's tool access. Only specify tools: when agent needs different access.
| Reference | Content | |-----------|---------| | agent-vs-skill.md | Agents vs Skills distinction | | frontmatter.md | YAML schema and fields | | tools.md | Tool configuration patterns | | task-tool.md | Task tool integration | | discovery.md | How agents are found and loaded | | agent-types.md | Archetypes: analysis, implementation, etc. | | patterns.md | Best practices and multi-agent patterns | | tasks.md | Task tool patterns for agents | | advanced-features.md | Resumable agents, CLI config |
See EXAMPLES.md for complete real-world agent examples.
See templates/ for starter templates.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer