From quiver
Decompose an idea or build prompt into a parallel-execution plan and emit two artifacts — (1) a comprehensive PDF blueprint and (2) a folder of ready-to-paste prompts (one per workstream plus an integrator) for separate Claude Code terminals. The methodology centers on frozen interface contracts (data schemas, function signatures, event shapes, API endpoints) negotiated up front so each owner works asynchronously against mocked contracts in a directory they alone own. Use when the user says "plan this for parallel execution", "split into agents", "decompose into workstreams", "hackathon plan", "build plan with multiple Claude Code terminals", "parallelize this across N Claudes", or otherwise asks to fan a build out across multiple Claude sessions. Do NOT use for single-threaded coding tasks, simple scripts, single-file edits, debugging sessions, code review, refactors, or anything that fits comfortably in one terminal.
How this skill is triggered — by the user, by Claude, or both
Slash command
/quiver:parallel-blueprintThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill turns a build prompt into a plan that multiple Claude Code terminals can execute in parallel without stepping on each other. The output is two things, always:
This skill turns a build prompt into a plan that multiple Claude Code terminals can execute in parallel without stepping on each other. The output is two things, always:
BLUEPRINT.pdf — a comprehensive build plan in a fixed 12-section format.prompts/ — a folder of per-terminal prompts. One file per workstream owner, plus an integrator prompt for the merge step. The user pastes each into its own Claude Code instance.The plan succeeds or fails on one thing: whether the frozen interface contracts are good enough that each owner can finish their workstream against mocks, without ever reading another owner's code.
Use it when:
Do NOT use it for:
If unsure, ask the user one question: "How many parallel Claude Code terminals do you want to run?" If the answer is 1, this skill is the wrong tool.
The first phase of any plan is freezing the contracts that connect workstreams:
Once frozen, owners integrate ONLY through these contracts. They never read each other's internals. They never depend on another owner's implementation details. This is what makes the workstreams genuinely parallel and asynchronous.
If during decomposition you find that a workstream needs another workstream's code to make progress, that's a contract violation — the contract surface is too thin. Widen the contract or redraw the workstream boundary, and re-validate before continuing.
Each workstream owns exactly one directory in the target repository and is responsible for everything inside it. Owners do not edit files outside their directory, full stop. Cross-cutting concerns (shared types, integration glue) either:
Every owner mocks against the frozen contracts on the first commit. No owner waits on another owner's progress. If owner B's workstream consumes data produced by owner A, owner B builds against a hand-written fixture that matches the frozen schema — and continues to use that fixture until integration. This is non-negotiable; without it, the parallelism collapses into a chain.
A final owner whose job is reconciliation: read each workstream's outputs, run the merge, validate end-to-end behavior, write the integration glue.
Default to including an integrator. Omit the integrator only when the workstream outputs coexist rather than compose — e.g. four independent skills shipped as four independent files, no glue needed. If the deliverable is a working system that has to run end-to-end, an integrator is required.
The heart of the document. Columns are exactly:
| owner | scope | deliverables | depends-on-contracts |
|---|
owner — short identifier (e.g. data, ui, infra, model).scope — one sentence on what this workstream is responsible for.deliverables — concrete artifacts produced by this workstream (files, services, datasets).depends-on-contracts — the frozen contracts this workstream reads or writes. This column may only cite frozen contracts. Never another owner's code. If you find yourself writing "depends on the auth module" or "depends on owner X's parser", stop and redraw.When invoked, execute these steps in order. Do not skip the validation step.
Ask the user (in one batched message — don't ping-pong) for whatever you need to fill out the plan:
./plan/ in the current working directory.)If the user already provided enough, skip questions and confirm your read of the brief in one paragraph before proceeding.
Before decomposing, list every interface that will connect workstreams. For each, write the actual shape — schema, signature, endpoint definition. Be concrete. "An API for users" is not a contract. GET /users/:id → {id: string, email: string, created_at: ISO8601} is.
Group contracts by type: data shapes, function signatures, events, endpoints, on-disk artifacts. Keep the list small but rigid — every contract you write here becomes load-bearing.
Using the frozen contracts, propose the workstream allocation. Aim for:
depends-on-contracts entry citing only frozen contracts from Step 2.Walk through the table and check, for each workstream:
Iterate Steps 2–4 until the table passes. Do not proceed to Step 5 until it does.
Read templates/blueprint-outline.md and fill in every section. Maintain section order exactly (this is what readers expect):
tree-style listing showing each owner's directory).Write the result to plan/BLUEPRINT.md.
For each workstream owner, read templates/workstream-prompt.md and produce plan/prompts/workstream-{N}-{owner}.md, where N is 1-indexed and owner matches the table.
For the integrator (if present), read templates/integrator-prompt.md and produce plan/prompts/integrator.md.
Each prompt must contain:
<assigned directory>. If you need something from another workstream, the contract is the only place to get it; build a mock if needed."The integrator prompt additionally contains:
services/auth/, services/data/, ...).Run scripts/render_pdf.sh plan/BLUEPRINT.md plan/BLUEPRINT.pdf from the skill directory. The script auto-detects an installed PDF engine. If none is installed it prints clear install instructions; in that case, leave BLUEPRINT.md in place and tell the user how to render it themselves rather than abandoning the artifact.
Tell the user:
plan/BLUEPRINT.pdf and plan/BLUEPRINT.md).plan/prompts/.workstream-*.md into each, and the integrator prompt into the last terminal once workstreams are complete."plan/
BLUEPRINT.md
BLUEPRINT.pdf
prompts/
workstream-1-{owner}.md
workstream-2-{owner}.md
...
workstream-N-{owner}.md
integrator.md # omit only when outputs coexist rather than compose
templates/blueprint-outline.md — the 12-section markdown skeleton.templates/workstream-prompt.md — per-terminal prompt template for a workstream owner.templates/integrator-prompt.md — prompt template for the integrator.When filling templates, replace every {{placeholder}} with concrete content. Do not leave placeholders in the final output. Do not invent sections that aren't in the template. Do not rearrange the section order.
The bundled scripts/render_pdf.sh wraps pandoc with sensible defaults (1-inch margins, table of contents, syntax highlighting, link colors). It auto-detects an installed PDF engine in this order:
xelatex (best output; install with brew install --cask basictex then sudo tlmgr install xetex)wkhtmltopdf (lighter; brew install --cask wkhtmltopdf)weasyprint via pandoc (pip install weasyprint)If pandoc itself is not installed, the script prints install instructions (brew install pandoc) and exits non-zero. Do not silently fall back to "just markdown" — surface the issue to the user.
examples/cubist-hackathon.pdf — a 24-hour hackathon proposal that demonstrates the target format and tone. Its methodology (Hour 0–1 interface freeze; 5 owners with one directory each; mocked contracts everywhere) is the pattern this skill systematizes. Read it before authoring a blueprint to calibrate the level of detail and the rigor of the contract section.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub asrinivasan75/quiver --plugin quiver