agentsclimarketplace

Dispatching parallel agents

Skill krzysztofsurdy/code-virtuoso/skills/knowledge/dispatching-parallel-agents

Skills, sub-agents, and playbooks for Claude Code, Cursor, and any Agent Skills-compatible AI coding assistant.

Install
npx -y skills add krzysztofsurdy/code-virtuoso --skill dispatching-parallel-agents

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 20 stars20 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Patterns for effective subagent delegation and parallel execution. Use when a task decomposes into independent subtasks, when research spans multiple areas, when building features that require coordinated specialist work, or when sequential execution is wasting time. Covers work decomposition patterns (fan-out/fan-in, map-reduce, pipelines, scatter-gather), precise subagent briefing, context and filesystem isolation, result synthesis, failure handling, and anti-patterns like agent sprawl and context bleed. Platform-agnostic but integrates with this project's agent roster (investigator, implementer, reviewer, refactor-scout, etc.). Triggers: 'delegate', 'parallelize', 'fan out', 'multi-agent', 'subagent', 'split this work'.

SKILL.md

15.5 KB, as published. Nobody here has run it

Dispatching Parallel Agents

Effective orchestration means knowing when to do work yourself and when to delegate it to focused subagents working in parallel. The core insight is simple: independent work should happen concurrently, not sequentially. But "independent" is the load-bearing word - getting decomposition wrong turns parallel execution into a coordination nightmare.

Core Principles

PrincipleMeaning
Independence over coordinationIf two tasks share state, they are one task. Only dispatch work that can complete without cross-agent communication.
Precision over hopeA subagent brief must be specific enough that the agent cannot misinterpret its scope. Vague briefs produce vague results.
Isolation over sharingEach subagent starts with a clean context. It receives exactly what it needs - nothing inherited, nothing ambient.
Synthesis over concatenationThe orchestrator's job is not to paste outputs together. It is to resolve conflicts, deduplicate, and produce a coherent whole.
Fail fast over fail silentEvery dispatch includes a failure mode. Subagents report blockers immediately rather than guessing past them.

When to Parallelize

SignalExample
Multiple independent areas of investigation"How does auth work?" + "How does billing work?" - no shared code path
Research spanning distinct topicsInvestigating a framework upgrade requires checking breaking changes, dependency compatibility, and test coverage separately
Implementation across non-overlapping filesBackend API + frontend component + database migration touching different file sets
Review of independent subsystemsRunning a reviewer on module A while running a refactor scout on module B
Repetitive tasks with different inputsAuditing 5 services for security vulnerabilities - same process, different targets

When NOT to Parallelize

SignalWhy Sequential Is Better
Output of task A is input to task BPipeline dependency - parallelize within stages, not across them
Tasks modify overlapping filesMerge conflicts are inevitable and expensive to resolve
Understanding requires full contextSplitting a single complex investigation loses the thread
The problem is not yet understoodParallelize execution, not exploration of unknowns
Fewer than 3 independent unitsDispatch overhead exceeds time saved
Results must be strictly orderedSequential execution preserves natural ordering without post-processing

The Dispatch Cycle

Phase 1: Identify Independent Work

Examine the task and list every subtask. For each pair, ask: "Can subtask A complete without knowing the result of subtask B?" If yes for all pairs in a group, that group is parallelizable.

Actions: Break the task into candidate subtasks. Draw dependency arrows between them. Groups with no inbound arrows from other groups are independent.

Output: A dependency map showing which subtasks are independent and which form pipelines.

Phase 2: Decompose into Dispatch Units

Each dispatch unit is one subagent's complete assignment. A dispatch unit has a single objective, a bounded scope, and a defined output format. If a unit requires the agent to make judgment calls about scope, it is too vague.

Actions: For each independent group, define the dispatch unit. Choose the right decomposition pattern (see Decomposition Patterns).

Output: A list of dispatch units, each with objective, scope boundary, and expected output.

Phase 3: Brief Each Agent

Write a precise brief for each subagent. The brief is the contract between orchestrator and worker. See Briefing Template for the full format.

Minimum brief contents:

  • Task objective (one sentence)
  • Input data or file paths
  • Expected output format
  • Explicit out-of-scope boundaries
  • Failure handling instructions

Phase 4: Execute with Isolation

Launch subagents with clean context. Agents that modify files operate in isolated worktrees. Read-only agents can share the working tree safely.

Actions: Dispatch all units. Do not provide agents with your conversation history or context beyond their brief. See Isolation and Merging.

Output: Running subagents, each working independently.

Phase 5: Synthesize Results

When all agents return, the orchestrator integrates their outputs into a coherent result. This is active work, not passive collection.

Actions: Review each output against its brief. Deduplicate overlapping findings. Resolve contradictions. Identify gaps where agents hit blockers. Produce the unified deliverable.

Output: Integrated result that is more than the sum of its parts.

Phase 6: Handle Failures

Some agents will fail, hit blockers, or return incomplete results. Plan for this.

Actions: For each failed unit, decide: retry with a revised brief, reassign to a different agent type, absorb the work yourself, or accept the gap and document it.

Output: Complete result with any gaps documented and justified.


Decomposition Patterns

PatternShapeBest For
Fan-out / Fan-inOne orchestrator dispatches N workers, collects all resultsIndependent tasks with a single synthesis step
PipelineA feeds B feeds C - sequential stages, parallel within each stageWork with clear phase dependencies
Scatter-gatherSame question to multiple specialists, best/merged answer winsGetting diverse perspectives on the same problem
Specialist-per-concernEach agent owns one domain (security, performance, correctness)Multi-dimensional review or analysis
Map-reduceSplit input into chunks, process in parallel, merge resultsLarge-scale repetitive operations

See Decomposition Patterns Reference for detailed descriptions, decision criteria, and examples using this project's agent roster.


Briefing a Subagent

A brief is not a wish list. It is a contract that constrains the agent's behavior. Good briefs produce predictable results; bad briefs produce creative surprises.

What a good brief contains:

  • Task: One-sentence objective. What must be true when the agent finishes?
  • Context: Relevant background - just enough to understand the task, no more
  • Inputs: File paths, data, references the agent needs to start working
  • Expected output: The exact structure and format of the result
  • Boundaries: What is explicitly out of scope. What the agent must NOT do.
  • Failure mode: What to do when stuck - report back, skip, or attempt a fallback

What a good brief does NOT contain:

  • The orchestrator's full conversation history
  • Unrelated context from other subagents
  • Ambiguous scope ("look into this area and see what you find")
  • Multiple unrelated objectives

See Briefing Template Reference for a complete template with examples.


Isolation Strategies

StrategyWhen to UseTrade-off
Context isolationAlways. Every subagent starts clean.Requires explicit context transfer in the brief
Filesystem isolation (worktree)When agents modify filesBranch management overhead, merge step required
Read-only shared treeWhen agents only read (investigation, review, analysis)No merge needed, but agents must not write
Context + filesystemWhen agents modify files AND need independence from each otherMaximum isolation, maximum merge complexity

Rule: If two agents might touch the same file, they must be in separate worktrees or run sequentially. There is no safe middle ground.

See Isolation and Merging Reference for worktree setup, result synthesis, and conflict resolution strategies.


Anti-Patterns

Anti-PatternSymptomFix
Dependency masquerading as independenceAgent B blocks waiting for Agent A's outputReorder as pipeline or merge into one unit
Overlapping writesMerge conflicts after agents returnEnforce file-level ownership per agent
Context bleedAgent inherits irrelevant history, gets confusedStart every agent with a clean brief, no inherited context
Ambiguous briefAgent interprets scope differently than intendedAdd explicit boundaries and out-of-scope list
Agent sprawl8+ agents dispatched for a task that needs 3Combine related work into fewer, focused units
Duplicate researchTwo agents investigate the same filesDefine non-overlapping investigation scopes
No failure budgetOne agent failure stalls the entire workflowDefine fallback per agent; accept partial results
Premature parallelizationSplitting before understanding the problemInvestigate first, parallelize the known work

See Anti-Patterns Reference for detailed descriptions and recovery strategies.


Practical Dispatch Patterns

These patterns map directly to the agent chaining flows defined in this project's agent roster:

Investigation Fan-Out

Orchestrator -> [Investigator(auth), Investigator(billing), Investigator(notifications)]
            <- Merged findings
            -> Architect (design based on merged findings)

Dispatch multiple investigators in parallel when the task requires understanding several independent subsystems. Each gets a focused scope. The orchestrator merges findings before handing them to the architect.

Feature Build with Parallel Implementation

Product Manager -> Architect -> [Backend Dev(API), Frontend Dev(UI), Implementer(migration)]
                             <- Integrated feature
                             -> QA Engineer

After requirements and design are sequential, implementation fans out to specialists working in isolated worktrees on non-overlapping file sets.

Multi-Dimensional Review

Orchestrator -> [Reviewer(correctness), Refactor Scout(smells), Test Gap Analyzer(coverage)]
            <- Consolidated review report

Three specialists examine the same code from different angles simultaneously. Read-only agents sharing the working tree. The orchestrator consolidates findings by severity.

Coverage Improvement Scatter

Orchestrator -> [Test Gap Analyzer(module-a), Test Gap Analyzer(module-b), Test Gap Analyzer(module-c)]
            <- Prioritized gap list
            -> [Implementer(module-a-tests), Implementer(module-b-tests)]

Fan-out analysis, then fan-out implementation - two rounds of parallel dispatch.


Quality Checklist

Before dispatching subagents:

  • Each dispatch unit has a single, clear objective
  • No two agents modify overlapping files
  • Every brief includes explicit out-of-scope boundaries
  • Expected output format is defined for each agent
  • Failure mode is specified (report, skip, or fallback)
  • File-modifying agents are assigned isolated worktrees
  • Read-only agents have no write tools in their brief
  • The synthesis plan is defined before dispatch (how will you merge results?)
  • Dependencies between units are zero (or they are sequenced, not parallelized)
  • The number of agents is justified (3-5 is typical; more needs strong rationale)

Critical Rules

  1. Independence is a precondition, not an optimization. If tasks share mutable state, they cannot run in parallel. Period.

  2. The brief is the contract. Everything a subagent needs must be in the brief. If it is not in the brief, the agent does not know about it.

  3. Clean context only. Never leak your conversation history, other agents' results, or ambient project context into a subagent's session.

  4. File ownership is exclusive. Two agents must never modify the same file in the same dispatch round. Worktree isolation prevents accidents but does not prevent merge conflicts.

  5. Plan the synthesis before the dispatch. If you cannot describe how outputs will be merged, you are not ready to parallelize.

  6. Failure is expected. Budget for one agent failing. Define what "good enough" looks like with partial results.

  7. Fewer, focused agents beat many scattered ones. Three well-briefed agents outperform seven vaguely-scoped ones.

  8. Investigate before parallelizing. The first dispatch is usually a single investigator. Parallel execution comes after the problem space is mapped.

  9. The orchestrator synthesizes, not concatenates. Pasting outputs together is not integration. Resolve conflicts, deduplicate, and produce a coherent whole.

  10. Match agent type to task type. Use investigators for exploration, implementers for coding, reviewers for quality checks. Do not ask an investigator to write code or a reviewer to investigate.


Reference Files

ReferenceContents
Decomposition PatternsFan-out/fan-in, pipeline, scatter-gather, specialist-per-concern, map-reduce - decision criteria, examples with project agents
Briefing TemplateComplete subagent brief template, good vs bad brief examples, output format specification
Isolation and MergingContext isolation, worktree isolation, result synthesis, conflict resolution, merge strategies
Anti-PatternsDetailed anti-pattern descriptions, detection signals, recovery strategies, prevention techniques
When Not to ParallelizeSequential workflow advantages, decision tree, cost-benefit analysis of dispatch overhead

Integration with Other Skills

SituationRecommended Skill
Planning the work before dispatching agentsInstall knowledge-virtuoso from krzysztofsurdy/code-virtuoso for the writing-plans skill
Understanding codebase before decompositionDelegate to the investigator agent from krzysztofsurdy/code-virtuoso
Implementing features in isolated worktreesDelegate to the implementer agent from krzysztofsurdy/code-virtuoso
Multi-dimensional code reviewDelegate to reviewer and refactor-scout agents from krzysztofsurdy/code-virtuoso
Identifying test gaps across modulesDelegate to the test-gap-analyzer agent from krzysztofsurdy/code-virtuoso
Full feature delivery with agent teamSee agent chaining patterns in krzysztofsurdy/code-virtuoso AGENTS.md
Structuring agent-driven development workflowsInstall knowledge-virtuoso from krzysztofsurdy/code-virtuoso for the subagent-driven-development skill
Designing system architecture before dispatchDelegate to the architect agent from krzysztofsurdy/code-virtuoso

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.