Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A pipeline execution strategy where downstream stages start before upstream stages finish, using staggered timing with configurable delays. The leader begins first, and followers start after a delay, building from whatever partial output exists. Combined with convergence loops, early follower output self-corrects as upstream artifacts solidify. Cuts total pipeline time dramatically -- a 3-stage pipeline that takes 12 hours sequentially can finish in roughly 7 hours with speculative-pipeline stag
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 210% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 318% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 88% | 0% |
Run pipeline stages with staggered timing instead of sequentially. The leader starts first; followers start after a configurable delay and build from whatever upstream output exists at that point. Combined with convergence loops, followers self-correct as upstream artifacts arrive and stabilize.
> Start downstream work early with partial upstream output. Convergence loops correct the > errors introduced by working from incomplete input.
The insight is that waiting for perfect upstream output is wasteful. A follower working from 80% of the upstream artifacts will produce output that is ~60-70% correct on the first pass. But with convergence loops running, the follower re-reads the upstream artifacts on each iteration and corrects course. By the time the leader finishes, the follower is already most of the way done.
Stage 1: Specs ████████████████████ (5 hours)
Stage 2: Plans ████████████████ (4 hours)
Stage 3: Implement ████████ (3 hours)
─────────────────────────────────────────────
Total: 12 hoursStage 1: Specs ████████████████████ (5 hours)
Stage 2: Plans ████████████████ (4 hours, started 1.5h after Stage 1)
Stage 3: Implement ████████████ (3 hours, started 3h after Stage 1)
─────────────────────────────────────────────
Total: ~7 hoursthe newly completed specs and adjusts its plans accordingly.
by working from partial input are washed out on subsequent passes.
The key mechanism is convergence -- the iterative loop that re-reads inputs each pass. Without convergence loops, speculative-pipeline would produce garbage. With them, early errors wash out over iterations.
context/
├── specs/ # Stage 1 output: implementation-agnostic specs
├── plans/ # Stage 2 output: framework-specific plans
├── impl/ # Stage 3 output: implementation tracking
└── prompts/
├── 001-generate-specs.md # Stage 1 prompt
├── 002-generate-plans.md # Stage 2 prompt
└── 003-implement.md # Stage 3 promptOpen three terminal windows (or use tmux panes):
bash# Terminal 1: Specs from reference materials (leader -- starts immediately) {LOOP_TOOL} context/prompts/001-generate-specs.md -n 5 -t 2h # Terminal 2: Plans from specs (follower -- starts after 1-hour delay) {LOOP_TOOL} context/prompts/002-generate-plans.md -n 5 -t 2h -d 1h # Terminal 3: Implementation from plans (follower -- starts after 2-hour delay) {LOOP_TOOL} context/prompts/003-implement.md -n 10 -t 1h -d 2h
Parameter reference:
-n 5 -- Run up to 5 convergence iterations-t 2h -- Time budget per iteration (max total time = iterations x budget)-d 1h -- Delay before starting (speculative-pipeline offset)Replace {LOOP_TOOL} with your convergence loop runner (any script or tool that repeatedly executes a prompt against the codebase, committing between iterations).
| Time | Stage 1 (Specs) | Stage 2 (Plans) | Stage 3 (Implement) | |------|-----------------|-----------------|---------------------| | 0:00 | Starts. Reads refs, begins generating specs. | Waiting (1.5h delay). | Waiting (3h delay). | | 1:30 | Iteration 1 complete. ~50% of specs written. Committed. | Starts. Reads partial specs, begins generating plans. | Waiting. | | 3:00 | Iteration 2. Specs ~80% complete. | Iteration 1 complete. Plans based on partial specs. Some plans will need correction. | Starts. Reads partial specs + plans, begins implementing. | | 4:00 | Iteration 3. Specs ~92% complete, converging. | Iteration 2. Re-reads updated specs. Corrects plans. Plans ~65% correct. | Iteration 1 complete. Some implementation based on incomplete plans. | | 5:00 | Converged. Specs complete. Done. | Iteration 3. Re-reads final specs. Plans ~88% correct. | Iteration 2. Re-reads corrected plans. Fixes implementation. | | 5:30 | -- | Iteration 4. Plans converged. Done. | Iteration 3. Implementation ~75% correct. | | 7:00 | -- | -- | Iteration 4-5. Implementation converges. Done. |
Result: ~7 hours total versus ~12 hours sequential.
The delay determines how much upstream work exists when the follower starts. Too short and the follower wastes iterations on garbage input. Too long and you lose the time savings.
| Upstream Stage Duration | Recommended Delay | Rationale | |------------------------|-------------------|-----------| | 1-2 hours | 15-30 minutes | Short stages produce useful partial output quickly | | 2-4 hours | 1 hour | Enough time for the first iteration to complete and commit | | 4+ hours | 1-2 hours | First iteration should have substantial output |
at least one full iteration and committed results.
time savings are marginal.
(aggressive delay), give it more iterations to converge.
For pipelines with more than 3 stages, stagger each stage relative to Stage 1:
bash# 5-stage pipeline example {LOOP_TOOL} {PROMPT_001} -n 5 -t 2h # Stage 1: starts immediately {LOOP_TOOL} {PROMPT_002} -n 5 -t 2h -d 1h # Stage 2: 1h delay {LOOP_TOOL} {PROMPT_003} -n 8 -t 1h -d 2h # Stage 3: 2h delay {LOOP_TOOL} {PROMPT_004} -n 8 -t 1h -d 3h # Stage 4: 3h delay {LOOP_TOOL} {PROMPT_005} -n 10 -t 45m -d 4h # Stage 5: 4h delay
Notice the pattern:
complete output (e.g., code generation that requires a fully resolved type system), the follower will produce only errors
worth the small time savings
(not decreasing), it is thrashing -- the delay was too short or the upstream output is too unstable.
leader finishing. If it takes many more, the stages may have a hard dependency.
stall, the agent may be stuck.
A speculative-pipeline pipeline has converged when:
Thrashing = the follower keeps making large changes because upstream output keeps changing.
Signs of thrashing:
Fix thrashing by:
In multi-agent setups, speculative-pipeline applies at the pipeline level, not the agent team level:
Pipeline Level (speculative-pipeline timing):
Stage 1 (Specs) → Single agent or agent team
Stage 2 (Plans) → Single agent or agent team (starts after delay)
Stage 3 (Implement) → Agent team dispatched via Agent tool (starts after delay)Each stage can internally use agent teams (multiple teammates working in parallel on different domains), but the stages themselves are staggered using speculative-pipeline timing.
Do not confuse:
They are orthogonal and composable.
When setting up a speculative-pipeline pipeline:
Other measured skills in the registry, with their headline benchmark lift.