agentsclimarketplace

Dispatch parallel

Skill momentmaker/kaijutsu/skills/core/dispatch-parallel

Fan out N independent tasks to parallel subagents, collect their results, optionally synthesize. Use when another skill needs work that decomposes into independent pieces — review passes with different lenses, multi-file searches, multi-source data gathering. Composed by skills like blunder-hunt, pr-review, polish, journal.From its SKILL.md

Install
npx -y skills add momentmaker/kaijutsu --skill dispatch-parallel

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

  • 3 stars3 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.

SKILL.md

4.7 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

dispatch-parallel

Sequential subtask execution wastes wall-clock time when subtasks are independent. This primitive captures the pattern of "decompose, dispatch, collect, synthesize" so other skills don't have to restate it.

When to invoke

  • A parent skill needs to run K independent passes / lenses / searches
  • The subtasks are read-only or write to disjoint state
  • Per-subtask cost dominates over coordination cost
  • The outputs can be merged or deduplicated post-hoc

Do not invoke when:

  • Subtasks share mutable state
  • Order matters (use sequential composition instead)
  • The work is small enough that one agent finishes faster than spawning N

The pattern

1. Decompose

Split the parent task into K self-contained subtasks. Each subtask must:

  • Have a clear input (what to look at)
  • Have a clear lens (what to look for)
  • Produce a structured output (list of findings, list of facts, etc.)
  • Be runnable without seeing the other subtasks' outputs

If you can't write a one-paragraph brief for a subtask, it's not decomposed enough.

2. Dispatch (per agent platform)

AgentSubagent primitive
Claude CodeTask tool with subagent_type: general-purpose (or specialized) — multiple Task calls in a single response run in parallel
OpenAI Codex CLIcodex agents spawn (where supported) or sequential with explicit context resets
Google Antigravity CLIactivate_skill + delegated subtasks where supported; otherwise sequential

When the platform supports parallel calls in a single turn, use them. Otherwise, fall back to sequential — still apply the decompose/collect pattern, just lose the wall-clock win.

3. Collect

Each subagent returns a structured output. Aggregate into a single list. Tag every item with which subagent produced it (subagent_id, lens, etc.) so dedup and synthesis can preserve provenance.

4. Synthesize

Pick the synthesis pattern based on what the parent skill needs:

  • Merge — take the union of all outputs. Use when each subagent searches disjoint territory.
  • Dedupe — group equivalent items, keep the highest-confidence variant. Use for findings where the same issue might be spotted by multiple lenses.
  • Vote — items present in N+ subagent outputs are high-confidence. Use for adversarial review where agreement = signal.
  • Pick best — when each subagent produced a competing answer (e.g., draft prose), score them and pick. Often paired with multi-model-synth.

Output shape

## dispatch-parallel: <task-name>

| Subagent | Lens / Subtask | Items | Wall time |
|---|---|---|---|
| 1 | data correctness | 4 | 8s |
| 2 | error handling | 3 | 11s |
| 3 | integration | 5 | 9s |

Synthesized (<merge | dedupe | vote | pick-best>):
- ...

JSON sidecar

When invoked under a --json flag (or when the parent skill requests structured output), emit alongside the markdown:

{
  "skill": "dispatch-parallel",
  "version": "0.1.0",
  "task": "<task-name>",
  "synthesis": "dedupe",
  "subagents": [
    {"id": 1, "lens": "data correctness", "items": [...], "wall_ms": 8000},
    ...
  ],
  "synthesized": [...]
}

Hard rules

  • Never share mutable state between subagents. Each receives its own context, its own files-to-read, its own scratch space. Mutating shared files concurrently produces undefined results and is forbidden.
  • Read-only of in-flux data is also racy. If subagent A reads file.go while subagent B is writing it (e.g., parallel review of a workspace where some other process is editing), A may see an inconsistent snapshot. Either freeze the inputs (snapshot the directory) before dispatching, or restrict subagents to immutable inputs (specific git refs, frozen text passed via prompt).
  • Always tag the source. Every item in the synthesized output carries a subagent_id (and lens if the subagents had different lenses). Provenance enables debugging when synthesis goes wrong.
  • Time-bound subagents. A subagent that hangs blocks the whole synthesis. Set an explicit timeout (suggested default 5 min). On timeout, flag and continue with the others.
  • Dispatch is non-recursive by default. A subagent should not spawn more parallel subagents unless the parent skill explicitly authorizes depth > 1.
  • Idempotent subtasks only. If a subtask retries, its repeated execution must not change disk state or external systems.

What ships with it: 2 files

952 B alongside SKILL.md

Keep looking

Skills are one crate of 325,949. 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.