CR

create-subagents

It guides the creation of isolated agent instances by defining system prompts, tool permissions, and task orchestration.

Install

mkdir -p .claude/skills/create-subagents && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2725" && unzip -o skill.zip -d .claude/skills/create-subagents && rm skill.zip

Installs to .claude/skills/create-subagents

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Expert guidance for creating, building, and using Claude Code subagents and the Task tool. Use when working with subagents, setting up agent configurations, understanding how agents work, or using the Task tool to launch specialized agents.
240 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Define isolated subagent roles and constraints
  • Configure tool access for specific subagent tasks
  • Orchestrate multi-agent workflows using the Task tool
  • Write XML-structured system prompts
  • Manage project-level and user-level agent configurations

How it works

It creates specialized Claude instances that run in isolated contexts with limited tool access, returning final outputs to the main conversation.

Inputs & outputs

You give it
Subagent configuration and system prompt
You get back
Isolated agent instance capable of autonomous execution

When to use create-subagents

  • Create a dedicated code reviewer agent
  • Set up task-specific agent workflows
  • Define subagent system prompts

About this skill

<objective> Subagents are specialized Claude instances that run in isolated contexts with focused roles and limited tool access. This skill teaches you how to create effective subagents, write strong system prompts, configure tool access, and orchestrate multi-agent workflows using the Task tool.

Subagents enable delegation of complex tasks to specialized agents that operate autonomously without user interaction, returning their final output to the main conversation. </objective>

<quick_start> <workflow>

  1. Run /agents command
  2. Select "Create New Agent"
  3. Choose project-level (.claude/agents/) or user-level (~/.claude/agents/)
  4. Define the subagent:
    • name: lowercase-with-hyphens
    • description: When should this subagent be used?
    • tools: Optional comma-separated list (inherits all if omitted)
    • model: Optional (sonnet, opus, haiku, or inherit)
  5. Write the system prompt (the subagent's instructions) </workflow>
<example> ```markdown --- name: code-reviewer description: Expert code reviewer. Use proactively after code changes to review for quality, security, and best practices. tools: Read, Grep, Glob, Bash model: sonnet --- <role> You are a senior code reviewer focused on quality, security, and best practices. </role>

<focus_areas>

  • Code quality and maintainability
  • Security vulnerabilities
  • Performance issues
  • Best practices adherence </focus_areas>

<output_format> Provide specific, actionable feedback with file:line references. </output_format>

</example>
</quick_start>

<file_structure>
| Type | Location | Scope | Priority |
|------|----------|-------|----------|
| **Project** | `.claude/agents/` | Current project only | Highest |
| **User** | `~/.claude/agents/` | All projects | Lower |
| **Plugin** | Plugin's `agents/` dir | All projects | Lowest |

Project-level subagents override user-level when names conflict.
</file_structure>

<configuration>
<field name="name">
- Lowercase letters and hyphens only
- Must be unique
</field>

<field name="description">
- Natural language description of purpose
- Include when Claude should invoke this subagent
- Used for automatic subagent selection
</field>

<field name="tools">
- Comma-separated list: `Read, Write, Edit, Bash, Grep`
- If omitted: inherits all tools from main thread
- Use `/agents` interface to see all available tools
</field>

<field name="model">
- `sonnet`, `opus`, `haiku`, or `inherit`
- `inherit`: uses same model as main conversation
- If omitted: defaults to configured subagent model (usually sonnet)
</field>
</configuration>

<execution_model>
<critical_constraint>
**Subagents are black boxes that cannot interact with users.**

Subagents run in isolated contexts and return their final output to the main conversation. They:
- ✅ Can use tools like Read, Write, Edit, Bash, Grep, Glob
- ✅ Can access MCP servers and other non-interactive tools
- ❌ **Cannot use AskUserQuestion** or any tool requiring user interaction
- ❌ **Cannot present options or wait for user input**
- ❌ **User never sees subagent's intermediate steps**

The main conversation sees only the subagent's final report/output.
</critical_constraint>

<workflow_design>
**Designing workflows with subagents:**

Use **main chat** for:
- Gathering requirements from user (AskUserQuestion)
- Presenting options or decisions to user
- Any task requiring user confirmation/input
- Work where user needs visibility into progress

Use **subagents** for:
- Research tasks (API documentation lookup, code analysis)
- Code generation based on pre-defined requirements
- Analysis and reporting (security review, test coverage)
- Context-heavy operations that don't need user interaction

**Example workflow pattern:**

Main Chat: Ask user for requirements (AskUserQuestion) ↓ Subagent: Research API and create documentation (no user interaction) ↓ Main Chat: Review research with user, confirm approach ↓ Subagent: Generate code based on confirmed plan ↓ Main Chat: Present results, handle testing/deployment

</workflow_design>
</execution_model>

<system_prompt_guidelines>
<principle name="be_specific">
Clearly define the subagent's role, capabilities, and constraints.
</principle>

<principle name="use_pure_xml_structure">
Structure the system prompt with pure XML tags. Remove ALL markdown headings from the body.

```markdown
---
name: security-reviewer
description: Reviews code for security vulnerabilities
tools: Read, Grep, Glob, Bash
model: sonnet
---

<role>
You are a senior code reviewer specializing in security.
</role>

<focus_areas>
- SQL injection vulnerabilities
- XSS attack vectors
- Authentication/authorization issues
- Sensitive data exposure
</focus_areas>

<workflow>
1. Read the modified files
2. Identify security risks
3. Provide specific remediation steps
4. Rate severity (Critical/High/Medium/Low)
</workflow>
</principle> <principle name="task_specific"> Tailor instructions to the specific task domain. Don't create generic "helper" subagents.

❌ Bad: "You are a helpful assistant that helps with code" ✅ Good: "You are a React component refactoring specialist. Analyze components for hooks best practices, performance anti-patterns, and accessibility issues." </principle> </system_prompt_guidelines>

<subagent_xml_structure> Subagent.md files are system prompts consumed only by Claude. Like skills and slash commands, they should use pure XML structure for optimal parsing and token efficiency.

<recommended_tags> Common tags for subagent structure:

  • <role> - Who the subagent is and what it does
  • <constraints> - Hard rules (NEVER/MUST/ALWAYS)
  • <focus_areas> - What to prioritize
  • <workflow> - Step-by-step process
  • <output_format> - How to structure deliverables
  • <success_criteria> - Completion criteria
  • <validation> - How to verify work </recommended_tags>

<intelligence_rules> Simple subagents (single focused task):

  • Use role + constraints + workflow minimum
  • Example: code-reviewer, test-runner

Medium subagents (multi-step process):

  • Add workflow steps, output_format, success_criteria
  • Example: api-researcher, documentation-generator

Complex subagents (research + generation + validation):

  • Add all tags as appropriate including validation, examples
  • Example: mcp-api-researcher, comprehensive-auditor </intelligence_rules>

<critical_rule> Remove ALL markdown headings (##, ###) from subagent body. Use semantic XML tags instead.

Keep markdown formatting WITHIN content (bold, italic, lists, code blocks, links).

For XML structure principles and token efficiency details, see @skills/create-agent-skills/references/use-xml-tags.md - the same principles apply to subagents. </critical_rule> </subagent_xml_structure>

<invocation> <automatic> Claude automatically selects subagents based on the `description` field when it matches the current task. </automatic> <explicit> You can explicitly invoke a subagent:
> Use the code-reviewer subagent to check my recent changes
> Have the test-writer subagent create tests for the new API endpoints
</explicit> </invocation> <management> <using_agents_command> Run `/agents` for an interactive interface to: - View all available subagents - Create new subagents - Edit existing subagents - Delete custom subagents </using_agents_command>

<manual_editing> You can also edit subagent files directly:

  • Project: .claude/agents/subagent-name.md
  • User: ~/.claude/agents/subagent-name.md </manual_editing> </management>
<reference> **Core references**:

Subagent usage and configuration: references/subagents.md

  • File format and configuration
  • Model selection (Sonnet 4.5 + Haiku 4.5 orchestration)
  • Tool security and least privilege
  • Prompt caching optimization
  • Complete examples

Writing effective prompts: references/writing-subagent-prompts.md

  • Core principles and XML structure
  • Description field optimization for routing
  • Extended thinking for complex reasoning
  • Security constraints and strong modal verbs
  • Success criteria definition

Advanced topics:

Evaluation and testing: references/evaluation-and-testing.md

  • Evaluation metrics (task completion, tool correctness, robustness)
  • Testing strategies (offline, simulation, online monitoring)
  • Evaluation-driven development
  • G-Eval for custom criteria

Error handling and recovery: references/error-handling-and-recovery.md

  • Common failure modes and causes
  • Recovery strategies (graceful degradation, retry, circuit breakers)
  • Structured communication and observability
  • Anti-patterns to avoid

Context management: references/context-management.md

  • Memory architecture (STM, LTM, working memory)
  • Context strategies (summarization, sliding window, scratchpads)
  • Managing long-running tasks
  • Prompt caching interaction

Orchestration patterns: references/orchestration-patterns.md

  • Sequential, parallel, hierarchical, coordinator patterns
  • Sonnet + Haiku orchestration for cost/performance
  • Multi-agent coordination
  • Pattern selection guidance

Debugging and troubleshooting: references/debugging-agents.md

  • Logging, tracing, and correlation IDs
  • Common failure types (hallucinations, format errors, tool misuse)
  • Diagnostic procedures
  • Continuous monitoring </reference>

<success_criteria> A well-configured subagent has:

  • Valid YAML frontmatter (name matches file, description includes triggers)
  • Clear role definition in system prompt
  • Appropriate tool restrictions (least privilege)
  • XML-structured system prompt with role, approach, and constraints
  • Description field optimized for automatic routing
  • Successfully tested on representative tasks
  • Model selection appropriate for task comp

Content truncated.

When not to use it

  • Tasks requiring direct user interaction
  • Simple tasks that do not benefit from isolation

Prerequisites

Claude Code environmentDefined task requirements

Limitations

  • Cannot use AskUserQuestion or wait for user input
  • Intermediate steps are hidden from the user

How it compares

Unlike standard chat, subagents operate as black boxes without user interaction, ensuring focused execution of specific sub-tasks.

Compared to similar skills

create-subagents side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
create-subagents (this skill)68moNo flagsIntermediate
opencode-cli147moReviewAdvanced
claude-automation-recommender472moReviewBeginner
mcp-integration218moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by glittercowboy

View all by glittercowboy

You might also like

opencode-cli

SpillwaveSolutions

This skill should be used when configuring or using the OpenCode CLI for headless LLM automation. Use when the user asks to "configure opencode", "use opencode cli", "set up opencode", "opencode run command", "opencode model selection", "opencode providers", "opencode vertex ai", "opencode mcp servers", "opencode ollama", "opencode local models", "opencode deepseek", "opencode kimi", "opencode mistral", "fallback cli tool", or "headless llm cli". Covers command syntax, provider configuration, Vertex AI setup, MCP servers, local models, cloud providers, and subprocess integration patterns.

14174

claude-automation-recommender

anthropics

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

47140

mcp-integration

anthropics

This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.

21123

hook-development

anthropics

This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.

11122

agent-factory

alirezarezvani

Claude Code agent generation system that creates custom agents and sub-agents with enhanced YAML frontmatter, tool access patterns, and MCP integration support following proven production patterns

8109

swarm-advanced

ruvnet

Advanced swarm orchestration patterns for research, development, testing, and complex distributed workflows

7110

Search skills

Search the agent skills registry