agentsclimarketplace

Dispatch parallel

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

Write your dev workflow once. Run it on any LLM. Open agent skills + multi-model swarm + a local findings store that learns which models you can trust.

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.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

4.7 KB, 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.

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.