← Back to Blog
AI Agentsβ€’15 min readβ€’October 9, 2025

Claude Agents & Subagents: The Complete Guide to Specialized AI Workflows

Discover how Claude Code's subagent system revolutionizes AI-assisted development by creating specialized AI personalities for different tasks. Learn to build, configure, and deploy powerful agent workflows that maintain context and deliver expert-level results.

🎯 What You'll Master

By the end of this comprehensive guide, you'll understand how to:

  • β€’ Create and configure specialized subagents for different development tasks
  • β€’ Design effective agent workflows with proper context management
  • β€’ Implement automatic delegation and explicit invocation patterns
  • β€’ Build production-ready agent systems with proper tool permissions
  • β€’ Optimize performance and avoid common pitfalls in agent design

What Are Claude Subagents?

Claude subagents are specialized AI personalities that operate within Claude Code, each designed for specific types of tasks. Unlike traditional AI assistants that try to handle everything, subagents are purpose-built experts that can be invoked automatically or explicitly to tackle particular challenges.

🧠 Core Subagent Characteristics

  • Specialized Purpose: Each subagent has a specific expertise area and clear responsibilities
  • Independent Context: Operates in its own context window, preventing pollution of the main conversation
  • Custom System Prompts: Tailored instructions that guide behavior for specific tasks
  • Controlled Tool Access: Can be granted specific tools or inherit all available tools
  • Model Flexibility: Can use different AI models (Sonnet, Opus, Haiku) or inherit from main conversation

The Power of Specialized AI Workflows

The traditional approach of using a single AI assistant for all tasks often leads to context pollution, inconsistent results, and inefficient workflows. Subagents solve these problems by creating a distributed intelligence system where each agent excels at what it's designed to do.

βœ… Benefits of Subagents

  • β€’ Context Preservation: Main conversation stays focused on high-level objectives
  • β€’ Specialized Expertise: Each agent is fine-tuned for specific domains
  • β€’ Reusability: Agents can be shared across projects and teams
  • β€’ Flexible Permissions: Granular control over tool access
  • β€’ Performance Optimization: Parallel processing and efficient resource usage

❌ Problems They Solve

  • β€’ Context Pollution: No more mixed concerns in conversation history
  • β€’ Inconsistent Quality: Specialized agents deliver consistent, expert results
  • β€’ Tool Confusion: Agents only use tools relevant to their purpose
  • β€’ Workflow Inefficiency: Automatic delegation based on task type
  • β€’ Knowledge Silos: Agents can be designed to share knowledge effectively

Getting Started: Your First Subagent

Creating your first subagent is straightforward. Let's walk through the process step by step, using the built-in `/agents` command for the best experience.

πŸš€ Quick Start Process

  1. 1. Open the subagents interface
    /agents
  2. 2. Create a new agent
    • β€’ Choose between project-level or user-level scope
    • β€’ Project agents are available only in current project
    • β€’ User agents are available across all projects
  3. 3. Define your subagent
    • β€’ Use Claude generation for best results, then customize
    • β€’ Describe when and how the agent should be used
    • β€’ Select specific tools or inherit all tools
    • β€’ Press 'e' to edit system prompt in your editor
  4. 4. Save and deploy
    • β€’ Agent becomes available immediately
    • β€’ Use automatically when appropriate
    • β€’ Invoke explicitly when needed

Subagent Configuration Deep Dive

Understanding the configuration options is crucial for building effective subagents. Let's explore each aspect in detail, from file locations to tool permissions.

File Locations and Priority

Subagents are stored as Markdown files with YAML frontmatter in specific locations that determine their scope and priority.

πŸ“ Storage Locations

TypeLocationScopePriority
Project Subagents.claude/agents/Current project onlyHighest
User Subagents~/.claude/agents/All projectsLower
CLI SubagentsCommand line flagSession onlyMedium

Configuration File Format

Each subagent is defined using a specific Markdown structure with YAML frontmatter. Here's the complete format with all available options:

πŸ“ Complete Configuration Template

---
name: your-subagent-name
description: Natural language description of when this subagent should be invoked
tools: tool1, tool2, tool3  # Optional - inherits all tools if omitted
model: sonnet  # Optional - specify model alias or 'inherit'
---

Your subagent's system prompt goes here. This can be multiple paragraphs
and should clearly define the subagent's role, capabilities, and approach
to solving problems.

Include specific instructions, best practices, and any constraints
the subagent should follow.

Key elements to include:
- Clear role definition
- Specific task responsibilities
- Step-by-step workflows
- Quality standards
- Error handling approaches
- Output format requirements

Configuration Fields Explained

βš™οΈ Field Reference

name (Required)

Unique identifier using lowercase letters and hyphens. Used for invocation and file naming.

description (Required)

Natural language description that helps Claude decide when to invoke this subagent automatically.

tools (Optional)

Comma-separated list of specific tools. If omitted, inherits all tools from the main thread.

model (Optional)

Model to use: 'sonnet', 'opus', 'haiku', or 'inherit'. Defaults to configured subagent model.

Real-World Subagent Examples

Let's examine practical subagent implementations that you can use as templates for your own projects. These examples demonstrate different approaches to common development tasks.

Code Reviewer Subagent

A specialized code reviewer that automatically analyzes code changes for quality, security, and maintainability.

πŸ” Code Reviewer Configuration

---
name: code-reviewer
description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
tools: Read, Grep, Glob, Bash
model: inherit
---

You are a senior code reviewer ensuring high standards of code quality and security.

When invoked:
1. Run git diff to see recent changes
2. Focus on modified files
3. Begin review immediately

Review checklist:
- Code is simple and readable
- Functions and variables are well-named
- No duplicated code
- Proper error handling
- No exposed secrets or API keys
- Input validation implemented
- Good test coverage
- Performance considerations addressed

Provide feedback organized by priority:
- Critical issues (must fix)
- Warnings (should fix)
- Suggestions (consider improving)

Include specific examples of how to fix issues.
Focus on actionable feedback that improves code quality.

Debugger Subagent

A debugging specialist that excels at root cause analysis and systematic problem-solving.

πŸ› Debugger Configuration

---
name: debugger
description: Debugging specialist for errors, test failures, and unexpected behavior. Use proactively when encountering any issues.
tools: Read, Edit, Bash, Grep, Glob
---

You are an expert debugger specializing in root cause analysis.

When invoked:
1. Capture error message and stack trace
2. Identify reproduction steps
3. Isolate the failure location
4. Implement minimal fix
5. Verify solution works

Debugging process:
- Analyze error messages and logs
- Check recent code changes
- Form and test hypotheses
- Add strategic debug logging
- Inspect variable states

For each issue, provide:
- Root cause explanation
- Evidence supporting the diagnosis
- Specific code fix
- Testing approach
- Prevention recommendations

Focus on fixing the underlying issue, not just symptoms.
Always verify fixes with appropriate tests.

Data Scientist Subagent

A data analysis expert specialized in SQL queries, BigQuery operations, and data insights.

πŸ“Š Data Scientist Configuration

---
name: data-scientist
description: Data analysis expert for SQL queries, BigQuery operations, and data insights. Use proactively for data analysis tasks and queries.
tools: Bash, Read, Write
model: sonnet
---

You are a data scientist specializing in SQL and BigQuery analysis.

When invoked:
1. Understand the data analysis requirement
2. Write efficient SQL queries
3. Use BigQuery command line tools (bq) when appropriate
4. Analyze and summarize results
5. Present findings clearly

Key practices:
- Write optimized SQL queries with proper filters
- Use appropriate aggregations and joins
- Include comments explaining complex logic
- Format results for readability
- Provide data-driven recommendations

For each analysis:
- Explain the query approach
- Document any assumptions
- Highlight key findings
- Suggest next steps based on data

Always ensure queries are efficient and cost-effective.
Validate results and check for data quality issues.

Advanced Usage Patterns

Once you understand the basics, you can implement more sophisticated patterns that leverage the full power of the subagent system.

Automatic Delegation

Claude Code can automatically delegate tasks to appropriate subagents based on the task description and current context. This happens seamlessly when you make requests that match a subagent's expertise.

πŸ€– Automatic Delegation Examples

User Request: "Review my recent changes for security issues"

β†’ Automatically delegates to code-reviewer subagent

User Request: "This test is failing, can you help debug it?"

β†’ Automatically delegates to debugger subagent

User Request: "Analyze the user engagement data from last month"

β†’ Automatically delegates to data-scientist subagent

Explicit Invocation

Sometimes you want to explicitly request a specific subagent, especially when you need specialized expertise or want to ensure a particular approach is used.

🎯 Explicit Invocation Examples

Use the code-reviewer subagent to check my recent changes
Have the debugger subagent investigate this error
Ask the data-scientist subagent to analyze this dataset

Chaining Subagents

For complex workflows, you can chain multiple subagents together, where the output of one becomes the input for another. This creates sophisticated multi-step processes.

πŸ”— Chaining Examples

First use the code-analyzer subagent to find performance issues, then use the optimizer subagent to fix them
Use the data-scientist to analyze the data, then the report-writer to create a summary
Have the tester run tests, then the debugger fix any failures

Best Practices for Subagent Design

Following these best practices will help you create effective, reliable subagents that enhance your development workflow rather than complicate it.

βœ… Do's

  • β€’ Start with Claude generation: Use the built-in generator, then customize
  • β€’ Design focused subagents: Single, clear responsibilities
  • β€’ Write detailed prompts: Include specific instructions and examples
  • β€’ Limit tool access: Only grant necessary tools
  • β€’ Version control: Check project subagents into git
  • β€’ Test thoroughly: Use real scenarios to validate

❌ Don'ts

  • β€’ Don't create overly broad agents: Avoid "do everything" subagents
  • β€’ Don't skip verification: Always include quality checks
  • β€’ Don't ignore tool permissions: Be explicit about access
  • β€’ Don't forget context limits: Design for context window constraints
  • β€’ Don't skip testing: Validate with real-world scenarios
  • β€’ Don't overcomplicate: Start simple, iterate

Performance Considerations

Understanding the performance characteristics of subagents helps you design efficient workflows and avoid common bottlenecks.

⚑ Performance Tips

  • Context Efficiency: Subagents preserve main context, enabling longer overall sessions
  • Latency Trade-offs: Subagents start with clean context, which may add initial latency
  • Parallel Processing: Multiple subagents can work simultaneously on different tasks
  • Model Selection: Use appropriate models for different complexity levels
  • Tool Optimization: Limit tools to reduce decision complexity

CLI-Based Configuration

For quick testing, automation scripts, or session-specific subagents, you can define subagents directly from the command line using the `--agents` flag.

πŸ’» CLI Configuration Example

claude --agents '{
  "code-reviewer": {
    "description": "Expert code reviewer. Use proactively after code changes.",
    "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
    "tools": ["Read", "Grep", "Glob", "Bash"],
    "model": "sonnet"
  },
  "quick-debugger": {
    "description": "Fast debugging for simple issues.",
    "prompt": "You are a debugging specialist. Focus on quick fixes for common problems.",
    "tools": ["Read", "Bash"],
    "model": "haiku"
  }
}'

Managing Your Subagent Ecosystem

As your subagent collection grows, effective management becomes crucial. Here are strategies for maintaining a healthy, productive subagent ecosystem.

Using the /agents Command

The `/agents` command provides a comprehensive interface for managing your subagent collection.

πŸ› οΈ Management Capabilities

  • β€’ View all subagents: See built-in, user, and project subagents
  • β€’ Create new subagents: Guided setup with Claude generation
  • β€’ Edit existing subagents: Modify prompts, tools, and configurations
  • β€’ Delete subagents: Remove unused or outdated agents
  • β€’ Manage tool permissions: Easy tool selection interface
  • β€’ Resolve conflicts: See which subagents are active when duplicates exist

Direct File Management

For advanced users or automation, you can manage subagents directly through the file system.

πŸ“ File Management Commands

# Create a project subagent
mkdir -p .claude/agents
echo '---
name: test-runner
description: Use proactively to run tests and fix failures
---

You are a test automation expert. When you see code changes, 
proactively run the appropriate tests. If tests fail, analyze 
the failures and fix them while preserving the original test intent.' > .claude/agents/test-runner.md

# Create a user subagent
mkdir -p ~/.claude/agents
# ... create subagent file

# List all subagents
find .claude/agents ~/.claude/agents -name "*.md" 2>/dev/null

Advanced Integration Patterns

Once you're comfortable with basic subagents, you can implement more sophisticated patterns that leverage external integrations and advanced capabilities.

MCP Integration

Model Context Protocol (MCP) servers can extend your subagents with external tool access, enabling integration with services like GitHub, Slack, or Google Drive.

πŸ”Œ MCP-Enhanced Subagents

  • β€’ GitHub Integration: Subagents that can create PRs, manage issues, review code
  • β€’ Slack Integration: Subagents that can send notifications, manage channels
  • β€’ Database Access: Subagents that can query and update databases
  • β€’ API Management: Subagents that can interact with external APIs
  • β€’ Cloud Services: Subagents that can manage cloud resources

Dynamic Subagent Selection

Advanced workflows can implement dynamic subagent selection based on context, user preferences, or project requirements.

🎯 Dynamic Selection Strategies

  • β€’ Context-based: Select subagents based on current project type
  • β€’ Performance-based: Choose subagents based on past success rates
  • β€’ User preference: Allow users to specify preferred subagents
  • β€’ Load balancing: Distribute tasks across multiple similar subagents
  • β€’ Fallback chains: Primary and backup subagents for critical tasks

Troubleshooting Common Issues

Even with careful design, you may encounter issues with your subagents. Here are solutions to common problems.

🚨 Common Issues

  • β€’ Subagent not invoked: Check description clarity and task matching
  • β€’ Poor performance: Review tool selection and model choice
  • β€’ Context pollution: Ensure proper context isolation
  • β€’ Tool conflicts: Verify tool permissions and availability
  • β€’ Inconsistent results: Improve system prompt specificity

πŸ”§ Solutions

  • β€’ Improve descriptions: Use action-oriented language
  • β€’ Optimize tools: Limit to essential tools only
  • β€’ Test thoroughly: Validate with real scenarios
  • β€’ Monitor performance: Track success rates and adjust
  • β€’ Iterate quickly: Make small, focused improvements

Key Takeaways

πŸ’‘ Essential Principles

  • β€’ Specialization is key: Create focused subagents with clear responsibilities
  • β€’ Context preservation: Each subagent operates independently to prevent pollution
  • β€’ Automatic delegation: Design descriptions that enable intelligent task routing
  • β€’ Tool optimization: Grant only necessary tools to improve focus and performance
  • β€’ Iterative improvement: Start simple and enhance based on real-world usage
  • β€’ Version control: Manage subagents as code assets with proper versioning
  • β€’ Performance monitoring: Track effectiveness and optimize based on metrics

Conclusion

Claude Code's subagent system represents a paradigm shift in AI-assisted development. By creating specialized AI personalities for different tasks, you can build sophisticated workflows that maintain context, deliver consistent results, and scale with your project complexity.

The key to success lies in understanding that subagents are not just toolsβ€”they're specialized team members with distinct expertise areas. By designing them with clear responsibilities, appropriate tool access, and detailed system prompts, you create a distributed intelligence system that can handle complex, multi-faceted development challenges.

Start with the examples provided in this guide, customize them for your specific needs, and gradually build your own ecosystem of specialized subagents. As you gain experience, you'll discover new patterns and capabilities that can transform how you approach development tasks.

The future of AI-assisted development is not about having one AI that does everythingβ€”it's about having the right AI for the right task, working together seamlessly to achieve your goals.

πŸ“ Source Attribution

This comprehensive guide is based on Anthropic's official documentation for Claude Code subagents and incorporates insights from the open-source agent development community.

Primary sources:

This guide distills the official documentation into actionable insights and provides practical examples that developers can implement immediately in their workflows.