kitt-create-subagents
Expert guidance for creating, building, and using 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.
Best use case
kitt-create-subagents is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Expert guidance for creating, building, and using 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.
Teams using kitt-create-subagents should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/kitt-create-subagents/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How kitt-create-subagents Compares
| Feature / Agent | kitt-create-subagents | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Expert guidance for creating, building, and using 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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
<agent_identification> **Before proceeding, identify which agent you are:** - **I am Claude Code** → Follow [CLAUDE] instructions - **I am GitHub Copilot** → Follow [COPILOT] instructions - **I am Gemini CLI** → No native agent support Instructions without markers apply to all agents. </agent_identification> <cli_paths> | Resource | [CLAUDE] | [COPILOT] | |----------|----------|-----------| | Agents | `~/.claude/agents/` | `~/.copilot/agents/` | </cli_paths> <objective> Subagents are specialized agent 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 the agent 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](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](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](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](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](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](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](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 complexity (Sonnet for reasoning, Haiku for simple tasks) </success_criteria>
Related Skills
mcp-create-declarative-agent
Skill converted from mcp-create-declarative-agent.prompt.md
kitt-create-slash-commands
Expert guidance for creating slash commands. Use when working with slash commands, creating custom commands, understanding command structure, or learning YAML configuration.
kitt-create-plans
Create hierarchical project plans optimized for solo agentic development. Use when planning projects, phases, or tasks that the AI agent will execute. Produces agent-executable plans with verification criteria, not enterprise documentation. Handles briefs, roadmaps, phase plans, and context handoffs.
create-workflow
Create Jazz workflow automation files (WORKFLOW.md). Use this for scheduling Jazz agents to run recurring tasks. For OS-level scripts/commands, use create-system-routine.
create-rule
Create persistent AI agent rules and instructions. Use when you want to create a rule, add coding standards, set up project conventions, configure file-specific patterns, or create AGENTS.md/GEMINI.md rule files across Cursor, Gemini CLI, or Codex.
create-prompt
Expert prompt engineering for creating effective prompts for Claude, GPT, and other LLMs. Use when writing system prompts, user prompts, few-shot examples, or optimizing existing prompts for better performance.
create-expert-skill
Create production-ready skills from expert knowledge. Extracts domain expertise and system ontologies, uses scripts for deterministic work, loads knowledge progressively. Use when building skills that must work reliably in production.
create-event-handlers
Sets up RabbitMQ event publishers and consumers following ModuleImplementationGuide.md Section 9. RabbitMQ only (no Azure Service Bus). Creates publishers with DomainEvent (tenantId preferred), consumers with handlers, naming {domain}.{entity}.{action}, required fields (id, type, version, timestamp, tenantId, source, data). Use when adding event-driven communication, async workflows, or integrating via events.
create-custom-prompt
Prompt for creating custom prompt files
create-assistant
Create and configure Vapi voice AI assistants with models, voices, transcribers, tools, hooks, and advanced settings. Use when building voice agents, phone bots, customer support assistants, or any conversational AI that handles phone or web calls.
create-agents-md
Create or rewrite AGENTS.md files for Open Mercato packages and modules. Use this skill when adding a new package, creating a new module, or when an existing AGENTS.md needs to be created or refactored. Ensures prescriptive tone, MUST rules, checklists, and consistent structure across all agent guidelines.
create-agent-with-sanity-context
Build AI agents with structured access to Sanity content via Context MCP. Covers Studio setup, agent implementation, and advanced patterns like client-side tools and custom rendering.