Back to list
axiomantic

dispatching-parallel-agents

by axiomantic

Multi-platform AI assistant skills and workflows. Serious engineering. Also fun.

2🍴 0📅 Jan 24, 2026

SKILL.md


name: dispatching-parallel-agents description: Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

Dispatching Parallel Agents

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.

Invariant Principles

  1. Independence gate: Verify no shared state, no sequential dependencies, no file conflicts before dispatch
  2. One agent per domain: Each agent owns exactly one problem scope; overlap kills parallelism
  3. Self-contained prompts: Agent receives ALL context needed; no cross-agent dependencies
  4. Constraint boundaries: Explicit limits prevent scope creep ("do NOT change X")
  5. Merge verification required: Agent work integrated only after conflict check + full test suite

Inputs

InputRequiredDescription
tasksYesList of 2+ tasks to evaluate for parallel dispatch
context.test_failuresNoTest output showing failures to distribute
context.files_involvedNoFiles each task may touch

Outputs

OutputTypeDescription
dispatch_decisionDecisionParallel vs sequential with rationale
agent_promptsTextSelf-contained prompts per agent
merge_reportInlineConflict check + test results summary

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 (same files, shared resources)
  • Exploratory debugging (you don't know what's broken yet)

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 Prompts

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

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

Only integrate when: summaries reviewed, no file conflicts, tests green.


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?

Template

Fix [SPECIFIC SCOPE]:

Failures:
1. [test name] - [expected vs actual]
2. [test name] - [expected vs actual]

Context: [paste error messages, relevant code pointers]

Constraints:
- Do NOT change [specific boundaries]
- Focus only on [scope]

Return: Summary of root cause + changes made

Full Example

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

Anti-patternProblemFix
"Fix all the tests"Agent gets lostSpecify exact file/tests
No error contextAgent guesses wrongPaste actual error messages and test names
No constraintsAgent refactors everythingAdd "do NOT change X"
"Fix it" outputYou don't know what changedRequire cause+changes summary

Anti-Patterns


Real Example

Scenario: 6 failures across 3 files post-refactor

Domain isolation:

  • agent-tool-abort.test.ts (3 failures): timing issues
  • batch-completion-behavior.test.ts (2 failures): event structure bug
  • tool-approval-race-conditions.test.ts (1 failure): async waiting

Dispatch: 3 parallel agents, each scoped to one file

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, zero conflicts, full suite green

Gain: 3 problems solved in time of 1


Self-Check

Before completing:

  • Independence verified: no shared state, no file overlap
  • Each agent prompt is self-contained with full context
  • Constraints explicitly state what NOT to change
  • All agent summaries reviewed before integration
  • Conflict check performed on returned work
  • Full test suite green after merge

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

<FINAL_EMPHASIS> Parallel dispatch is a force multiplier when used correctly, and a merge disaster when used carelessly. The independence gate is non-negotiable. Verify before dispatch, verify before integration. Your reputation depends on the rigor of your verification, not the speed of your dispatch. </FINAL_EMPHASIS>

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon