agents-config/skills/agents-managers/SKILL.md
Expert guidance for creating, building, and using Claude Code agents and the Task tool. Use when working with agents, setting up agent configurations, understanding how agents work, or using the Task tool to launch specialized agents.
npx skillsauth add melvynx/aiblueprint agents-managersInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Agents 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>
/agents command.claude/agents/) or user-level (~/.claude/agents/)sonnet, opus, haiku, or inherit)<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 agents 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 agent
- Used for automatic agent 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 agent model (usually sonnet)
</field>
</configuration>
<execution_model>
<critical_constraint>
**Agents are black boxes that cannot interact with users.**
Agents 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 agent's intermediate steps**
The main conversation sees only the agent's final report/output.
</critical_constraint>
<workflow_design>
**Designing workflows with agents:**
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 **agents** 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) ↓ Agent: Research API and create documentation (no user interaction) ↓ Main Chat: Review research with user, confirm approach ↓ Agent: 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 agent'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" agents.
❌ 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>
<agent_xml_structure> Agent.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 agent structure:
<role> - Who the agent 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 agents (single focused task):
Medium agents (multi-step process):
Complex agents (research + generation + validation):
<critical_rule> Remove ALL markdown headings (##, ###) from agent 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 agents. </critical_rule> </agent_xml_structure>
<invocation> <automatic> Claude automatically selects agents based on the `description` field when it matches the current task. </automatic> <explicit> You can explicitly invoke a agent:> Use the code-reviewer agent to check my recent changes
> Have the test-writer agent create tests for the new API endpoints
</explicit>
</invocation>
<background_execution>
Agents can run in the background using the run_in_background parameter, allowing parallel execution while the main conversation continues.
<how_it_works>
Starting a background agent:
The Task tool accepts run_in_background: true to launch agents asynchronously:
Task tool call:
- description: "Analyze security vulnerabilities"
- prompt: "Review all authentication code for security issues..."
- subagent_type: "security-reviewer"
- run_in_background: true
The agent starts immediately and returns an agent_id for tracking.
</how_it_works>
<retrieving_results>
Getting results with TaskOutput:
Use the TaskOutput tool to retrieve results from background agents:
TaskOutput tool call:
- task_id: "agent-12345" # The agent_id from the Task call
- block: true # Wait for completion (default)
- timeout: 30000 # Max wait time in ms
Parameters:
| Parameter | Default | Description |
|-----------|---------|-------------|
| task_id | Required | The agent ID returned from Task tool |
| block | true | Wait for completion or check current status |
| timeout | 30000 | Max wait time in milliseconds (up to 600000) |
Non-blocking check:
Set block: false to check status without waiting:
TaskOutput tool call:
- task_id: "agent-12345"
- block: false
Returns current status: running, completed, or the final result. </retrieving_results>
<parallel_agents> Launching multiple agents in parallel:
To maximize performance, launch multiple independent agents simultaneously:
Single message with multiple Task tool calls:
Task 1:
- description: "Review code quality"
- prompt: "Check code quality..."
- subagent_type: "code-reviewer"
- run_in_background: true
Task 2:
- description: "Run security scan"
- prompt: "Scan for vulnerabilities..."
- subagent_type: "security-scanner"
- run_in_background: true
Task 3:
- description: "Check test coverage"
- prompt: "Analyze test coverage..."
- subagent_type: "test-analyzer"
- run_in_background: true
Then retrieve all results:
TaskOutput calls for each agent_id
</parallel_agents>
<when_to_use_background> Use background agents for:
Don't use background for:
Pattern: Parallel Analysis Pipeline
1. Launch multiple analysis agents in background
2. Continue with other work or wait
3. Collect all results
4. Synthesize findings in main conversation
</when_to_use_background>
<resuming_agents>
Resuming agents:
Agents can be resumed using the resume parameter with their agent ID:
Task tool call:
- description: "Continue security review"
- prompt: "Please continue with the remaining files..."
- subagent_type: "security-reviewer"
- resume: "agent-12345" # Previous agent ID
The agent continues with its full previous context preserved. </resuming_agents> </background_execution>
<management> <using_agents_command> Run `/agents` for an interactive interface to: - View all available agents - Create new agents - Edit existing agents - Delete custom agents </using_agents_command><manual_editing> You can also edit agent files directly:
.claude/agents/agent-name.md~/.claude/agents/agent-name.md
</manual_editing>
</management>Agent usage and configuration: references/agents.md
Writing effective prompts: references/writing-agent-prompts.md
Advanced topics:
Evaluation and testing: references/evaluation-and-testing.md
Error handling and recovery: references/error-handling-and-recovery.md
Context management: references/context-management.md
Orchestration patterns: references/orchestration-patterns.md
Debugging and troubleshooting: references/debugging-agents.md
<success_criteria> A well-configured agent has:
development
Create or edit Claude, Codex, and Cursor skills/rules. Use for SKILL.md, .cursor/rules, AGENTS.md, skill prompts, frontmatter, references, scripts, and discovery rules.
data-ai
Create and maintain agent rules in AGENTS.md and .agents/rules/. Use for project rules, conventions, constraints, rule indexes, or requests to add or optimize agent rules.
development
Set up per-worktree environments for Claude Code, Cursor, or Codex. Use for worktree-ready repos, IDE environment config, worktree-up/down scripts, or dev.sh wiring.
testing
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".