@lsendel/claude-agents
Version:
Supercharge Claude Code with specialized AI sub-agents for code review, testing, debugging, documentation & more. Now with process & standards management! Easy CLI tool to install, manage & create custom AI agents for enhanced development workflow
281 lines (208 loc) • 7.28 kB
Markdown
# How to Create a New Agent
This guide explains how to create a new agent for the Claude Sub-Agents system that is fully compatible with Claude Code's native format.
## Agent Structure
Each agent is now a single `.md` file with YAML frontmatter:
### Agent Definition File (`agents/[agent-name].md`)
This is the core agent definition with YAML frontmatter and detailed instructions.
```markdown
name: your-agent-name
description: Brief description of what the agent does. Shown in agent listings.
tools: Read, Grep, Glob, Bash # List required tools
You are a [role description]. Your role is to [primary responsibility].
## Process
When invoked, immediately:
1. [First action]
2. [Second action]
3. Begin systematic work without delay
## Checklist
### Category 1
- [ ] Task item 1
- [ ] Task item 2
- [ ] Task item 3
### Category 2
- [ ] Task item 1
- [ ] Task item 2
## Output Format
Organize your output by sections:
### 📋 Section 1
Description of section 1 content
### 🔍 Section 2
Description of section 2 content
## Guidelines
1. **Be Specific**: Include concrete examples
2. **Be Thorough**: Cover all aspects
3. **Be Actionable**: Provide clear next steps
## Example Output
```
### 📋 Section 1
Example content here...
```
Remember: Your goal is to [restate primary objective].
```
### Example Agent File
```markdown
name: your-agent-name
description: Clear description with trigger words for auto-delegation. Use when dealing with specific tasks.
tools: Read, Grep, Glob # Optional - inherits all tools if omitted
version: 1.0.0 # Optional
author: Your Name # Optional
tags: [tag1, tag2] # Optional
You are a [role description]. Your role is to [primary responsibility].
## Process
When invoked, immediately:
1. [First action]
2. [Second action]
3. Begin systematic work without delay
## Output Format
[Describe expected output format]
```
**Important Notes**:
- No separate metadata.json file needed
- No slash commands - agents use description-based auto-delegation
- Tools field is optional - agents inherit all tools if not specified
- Description should include trigger words for better matching
## Step-by-Step Creation Process
1. **Create the agent file**:
```bash
# Create your agent file directly
touch agents/your-agent-name.md
```
2. **Write the agent definition**:
- Add YAML frontmatter with:
- `name`: Agent identifier (lowercase with hyphens)
- `description`: Clear description with trigger words
- `tools`: Optional tool restrictions
- Write the system prompt below the frontmatter
- Include clear instructions and output format
3. **Optimize the description**:
```bash
# Use the optimize command to improve auto-delegation
claude-agents optimize your-agent-name
```
4. **Validate the agent**:
```bash
# Check agent format and quality
claude-agents validate your-agent-name
```
## Best Practices
### Agent Design
- **Single Responsibility**: Each agent should focus on one primary task
- **Clear Instructions**: Use imperative language and numbered steps
- **Immediate Action**: Design agents to start work immediately when invoked
- **Structured Output**: Use consistent formatting with emojis for sections
- **Checklists**: Include comprehensive checklists for thorough coverage
### Description Writing
- Include trigger words that users might naturally use
- Start with action verbs (e.g., "Analyzes", "Creates", "Scans")
- Mention when the agent should be used
- Keep descriptions under 200 characters for readability
### Naming Conventions
- Agent names: lowercase with hyphens (e.g., `code-reviewer`, `requirements-analyst`)
- Tags: descriptive keywords for discoverability
### Tool Selection
- Only include tools the agent actually needs
- Common tools:
- `Read`: For reading files
- `Grep`: For searching code
- `Glob`: For finding files by pattern
- `Bash`: For running commands
- `Edit`/`MultiEdit`: For code modifications
- `Write`: For creating files
### Tool Selection
- Only restrict tools if the agent needs specific limitations
- Most agents should omit the tools field to inherit all available tools
- Common tool restrictions:
- Analysis agents: `Read, Grep, Glob`
- Modification agents: `Read, Edit, MultiEdit, Grep, Glob`
- Generation agents: `Read, Write, Grep, Glob`
## Example: Creating a "Performance Analyzer" Agent
1. **Create the agent file**:
```bash
touch agents/performance-analyzer.md
```
2. **Write the agent**:
```markdown
---
name: performance-analyzer
description: Analyzes code performance bottlenecks and suggests optimizations. Use when code is slow or needs performance tuning.
tools: Read, Grep, Glob, Bash
version: 1.0.0
tags: [performance, optimization, profiling]
---
You are a performance optimization specialist with expertise in profiling and optimizing code.
## Process
When invoked, immediately:
1. Identify the code or system to analyze
2. Look for common performance bottlenecks
3. Measure or estimate performance impact
4. Suggest specific optimizations
## Analysis Areas
- Algorithm complexity (time and space)
- Database query optimization
- Memory usage and leaks
- I/O operations
- Caching opportunities
- Parallel processing potential
## Output Format
### 🔴 Critical Performance Issues
[Issues causing major slowdowns]
### 🟡 Optimization Opportunities
[Areas for improvement]
### 🟢 Performance Best Practices
[Good patterns already in use]
### 📊 Recommendations
[Prioritized list of optimizations]
```
## Installation and Testing
After creating your agent files:
### Installation
```bash
# Install your agent
claude-agents install performance-analyzer
# Or install directly from file
cp agents/performance-analyzer.md ~/.claude/agents/
```
### Verify Installation
```bash
# Check if your agent is installed
npm start -- list | grep your-agent-name
```
### Test in Claude Code
The agent will be triggered automatically when users mention relevant keywords:
- "analyze performance"
- "code is slow"
- "optimize this function"
- "performance bottleneck"
## Quick Start Template
Here's a minimal agent template:
```markdown
name: my-agent
description: Does X when Y happens. Use for Z tasks.
tools: Read, Grep, Glob
You are an expert in [DOMAIN]. Your primary role is to [PURPOSE].
When invoked, immediately:
1. [FIRST ACTION]
2. [SECOND ACTION]
3. [DELIVER RESULTS]
## Output Format
[DESCRIBE OUTPUT STRUCTURE]
```
Save this as `agents/my-agent.md` and install with `claude-agents install my-agent`.
## Troubleshooting
- **Agent not triggering**: Improve description with better trigger words
- **Tools not available**: Remove tools field to inherit all tools
- **Validation fails**: Run `claude-agents validate` to see specific issues
- **Poor auto-delegation**: Use `claude-agents optimize` to improve description
## Contributing
When creating agents for the community:
1. Follow the established patterns
2. Test thoroughly before sharing
3. Document any special requirements
4. Consider edge cases and error handling
5. Make the agent's purpose clear and focused