dispatching-parallel-agents
Install this skill
npx skills add obra/superpowersWorks across Claude Code, Cursor, Codex, Copilot & Antigravity
Parallel agent dispatching optimizes developer throughput by assigning isolated, independent failure domains to multiple concurrent processes. Instead of a single agent wrestling with a long list of unrelated bugs, this strategy breaks work into granular, manageable chunks that do not intersect. This method is effective when your test suite reports failures across distinct modules, such as separate subsystems or unconnected utility files. Because the problems are modular, each agent operates without conflict, avoiding the overhead of serial execution. This coordination allows you to fix three or more distinct issues simultaneously. By strictly scoping agent tasks, you prevent the drift and confusion that occur when an agent tries to maintain context across an entire codebase, leading to cleaner code integration and faster resolution of widespread test regressions.
When to Use This Skill
- β’Fixing a regression where failures span multiple isolated test files
- β’Addressing disconnected bugs in distinct backend services
- β’Resolving unrelated race conditions in separate execution modules
- β’Clearing widespread test failures caused by a global refactor
How to Invoke This Skill
Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:
- βRun independent agent tasks for these failing test files
- βDispatch separate agents to handle these distinct test failures
- βHandle these three test suites concurrently
- βUse parallel agents to address failures in module A and module B
- βPartition these error reports into separate task domains
Pro Tips
- π‘**Clearly Define Independence:** Before dispatching, rigorously confirm tasks genuinely lack shared state or sequential dependencies. Incorrect identification can lead to race conditions or incomplete resolutions.
- π‘**Monitor Concurrently:** While agents work in parallel, establish a dashboard or method to monitor the progress of each independent agent to quickly identify any stalled tasks or new dependencies.
- π‘**Prioritize High-Impact Tasks:** Even with parallel processing, prioritize which independent tasks get the most robust agent resources or attention if conflicts arise, or if some resolutions unlock others indirectly.
What this skill does
- β’Decomposition of monolithic error logs into distinct task domains
- β’Concurrent execution of scoped bug-fixing tasks
- β’Isolation of agent state to prevent cross-contamination of fixes
- β’Parallel verification of independent subsystems
- β’Context-specific error handling for varied test failures
When not to use it
- βWhen failures share a common root cause that requires a single fix
- βWhen agents must modify the same core files or state
- βWhen the failure pattern is unknown or requires high-level architectural investigation
Example workflow
- Group existing test failures by file or functional subsystem
- Verify each group is independent and lacks shared state dependencies
- Create a scoped prompt for each group with specific constraints
- Dispatch each agent concurrently via your terminal or IDE assistant
- Collect and review individual agent summaries for conflicts
- Merge fixes and run a final aggregate test suite
Prerequisites
- βClear separation between code domains
- βA working, reproducible test suite
- βEnvironment support for concurrent agent sessions
Pitfalls & limitations
- !Assigning overlapping file scopes causing merge conflicts
- !Failing to identify shared dependencies between supposedly independent bugs
- !Over-fragmenting tasks for issues that require a single, centralized architectural fix
FAQ
How it compares
While a single agent often gets lost in long error lists, parallel dispatch forces the agent to stay within a strict, narrow scope, resulting in more targeted and reliable code changes.
π Full skill instructions β original source: obra/superpowers
## Overview
When you have multiple unrelated failures (different test files, different subsystems, different bugs), investigating them sequentially wastes time. Each investigation is independent and can happen in parallel.
**Core principle:** Dispatch one agent per independent problem domain. Let them work concurrently.
## When to Use
digraph when_to_use {
"Multiple failures?" [shape=diamond];
"Are they independent?" [shape=diamond];
"Single agent investigates all" [shape=box];
"One agent per problem domain" [shape=box];
"Can they work in parallel?" [shape=diamond];
"Sequential agents" [shape=box];
"Parallel dispatch" [shape=box];
"Multiple failures?" -> "Are they independent?" [label="yes"];
"Are they independent?" -> "Single agent investigates all" [label="no - related"];
"Are they independent?" -> "Can they work in parallel?" [label="yes"];
"Can they work in parallel?" -> "Parallel dispatch" [label="yes"];
"Can they work in parallel?" -> "Sequential agents" [label="no - shared state"];
}**Use when:**
- 3+ test files failing with different root causes
- Multiple subsystems broken independently
- Each problem can be understood without context from others
- No shared state between investigations
**Don't use when:**
- Failures are related (fix one might fix others)
- Need to understand full system state
- Agents would interfere with each other
## The Pattern
### 1. Identify Independent Domains
Group failures by what's broken:
- File A tests: Tool approval flow
- File B tests: Batch completion behavior
- File C tests: Abort functionality
Each domain is independent - fixing tool approval doesn't affect abort tests.
### 2. Create Focused Agent Tasks
Each agent gets:
- **Specific scope:** One test file or subsystem
- **Clear goal:** Make these tests pass
- **Constraints:** Don't change other code
- **Expected output:** Summary of what you found and fixed
### 3. Dispatch in Parallel
// In Claude Code / AI environment
Task("Fix agent-tool-abort.test.ts failures")
Task("Fix batch-completion-behavior.test.ts failures")
Task("Fix tool-approval-race-conditions.test.ts failures")
// All three run concurrently### 4. Review and Integrate
When agents return:
- Read each summary
- Verify fixes don't conflict
- Run full test suite
- Integrate all changes
## Agent Prompt Structure
Good agent prompts are:
1. **Focused** - One clear problem domain
2. **Self-contained** - All context needed to understand the problem
3. **Specific about output** - What should the agent return?
Fix the 3 failing tests in src/agents/agent-tool-abort.test.ts:
1. "should abort tool with partial output capture" - expects 'interrupted at' in message
2. "should handle mixed completed and aborted tools" - fast tool aborted instead of completed
3. "should properly track pendingToolCount" - expects 3 results but gets 0
These are timing/race condition issues. Your task:
1. Read the test file and understand what each test verifies
2. Identify root cause - timing issues or actual bugs?
3. Fix by:
- Replacing arbitrary timeouts with event-based waiting
- Fixing bugs in abort implementation if found
- Adjusting test expectations if testing changed behavior
Do NOT just increase timeouts - find the real issue.
Return: Summary of what you found and what you fixed.## Common Mistakes
**β Too broad:** "Fix all the tests" - agent gets lost
**β Specific:** "Fix agent-tool-abort.test.ts" - focused scope
**β No context:** "Fix the race condition" - agent doesn't know where
**β Context:** Paste the error messages and test names
**β No constraints:** Agent might refactor everything
**β Constraints:** "Do NOT change production code" or "Fix tests only"
**β Vague output:** "Fix it" - you don't know what changed
**β Specific:** "Return summary of root cause and changes"
## When NOT to Use
**Related failures:** Fixing one might fix others - investigate together first
**Need full context:** Understanding requires seeing entire system
**Exploratory debugging:** You don't know what's broken yet
**Shared state:** Agents would interfere (editing same files, using same resources)
## Real Example from Session
**Scenario:** 6 test failures across 3 files after major refactoring
**Failures:**
- agent-tool-abort.test.ts: 3 failures (timing issues)
- batch-completion-behavior.test.ts: 2 failures (tools not executing)
- tool-approval-race-conditions.test.ts: 1 failure (execution count = 0)
**Decision:** Independent domains - abort logic separate from batch completion separate from race conditions
**Dispatch:**
Agent 1 β Fix agent-tool-abort.test.ts
Agent 2 β Fix batch-completion-behavior.test.ts
Agent 3 β Fix tool-approval-race-conditions.test.ts**Results:**
- Agent 1: Replaced timeouts with event-based waiting
- Agent 2: Fixed event structure bug (threadId in wrong place)
- Agent 3: Added wait for async tool execution to complete
**Integration:** All fixes independent, no conflicts, full suite green
**Time saved:** 3 problems solved in parallel vs sequentially
## Key Benefits
1. **Parallelization** - Multiple investigations happen simultaneously
2. **Focus** - Each agent has narrow scope, less context to track
3. **Independence** - Agents don't interfere with each other
4. **Speed** - 3 problems solved in time of 1
## Verification
After agents return:
1. **Review each summary** - Understand what changed
2. **Check for conflicts** - Did agents edit same code?
3. **Run full suite** - Verify all fixes work together
4. **Spot check** - Agents can make systematic errors
## Real-World Impact
From debugging session (2025-10-03):
- 6 failures across 3 files
- 3 agents dispatched in parallel
- All investigations completed concurrently
- All fixes integrated successfully
- Zero conflicts between agent changes
How to Use This Skill Unit
Option A: Project-Specific (Recommended)
- Click "Download" above
- In your project, create the directory:
.agent/skills/dispatching-parallel-agents/ - Save the file as
SKILL.md - The agent will automatically discover the skill based on its description.
Option B: Global Installation (All Agents)
Save the file to these locations to make it available across all projects:
- Claude Code:
~/.claude/skills/obra/superpowers/dispatching-parallel-agents/SKILL.md - Cursor:
~/.cursor/skills/obra/superpowers/dispatching-parallel-agents/SKILL.md - Antigravity:
~/.gemini/antigravity/skills/obra/superpowers/dispatching-parallel-agents/SKILL.md
π Install with CLI:npx skills add obra/superpowers