Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when facing 2+ independent investigations that can proceed without shared state - parallel literature survey, multi-dataset replication, or pre-specified robustness checks
.claude/skills/k-dense-ai-dispatching-parallel-investigations/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 255% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -24% | 0% |
You delegate investigations to specialized agents with isolated context. By precisely crafting their instructions, you keep each focused and preserve your own context for synthesis. They never inherit your session history — you construct exactly what each needs.
When you have multiple independent investigations (different datasets, different sub-topics in a literature survey, different pre-specified robustness checks), running them sequentially wastes time. Each is independent and can run in parallel.
Core principle: One agent per independent investigation. Let them run concurrently, then synthesize.
Parallelism multiplies researcher degrees of freedom. If you dispatch 20 specifications and report the one that "works," you have p-hacked at scale — parallelism made it faster, not more honest.
dotdigraph when_to_use { "Multiple investigations?" [shape=diamond]; "Independent?" [shape=diamond]; "Pre-specified or all-reported?" [shape=diamond]; "Single agent / sequential" [shape=box]; "STOP: this is spec-hunting" [shape=box]; "Parallel dispatch" [shape=box]; "Multiple investigations?" -> "Independent?" [label="yes"]; "Independent?" -> "Single agent / sequential" [label="no - shared state"]; "Independent?" -> "Pre-specified or all-reported?" [label="yes"]; "Pre-specified or all-reported?" -> "Parallel dispatch" [label="yes"]; "Pre-specified or all-reported?" -> "STOP: this is spec-hunting" [label="no - cherry-picking"]; }
Use when:
Don't use when:
Group by what's being examined. Each must be understandable without the others.
Each agent gets:
Task("Survey prior effect sizes for X in domain A")
Task("Survey known confounds for X")
Task("Replicate the primary model on dataset B, exact spec")markdownReplicate the primary model on dataset B. Use EXACTLY this pre-registered specification (do not alter it to improve fit): outcome ~ exposure + age + site, OLS, exclude rows with missing exposure Dataset B is at data/raw/site_b.csv (immutable). Set seed 20260528. Validate the loaded shape, run the model, report: - the coefficient on exposure with 95% CI and p - N used and any rows excluded (with reason) Do NOT try alternative specifications. Report this one result.
After agents return:
science-superpowers:verifying-results-before-claiming)| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 14,194 | 21,946 | +55% | 1 | 1 | 0% | 2,596 | 2,627 | +1% | 0 | 0 | — |
case-02 | pass→pass | 13,275 | 8,523 | -36% | 1 | 1 | 0% | 2,429 | 2,632 | +8% | 0 | 0 | — |
case-03 | pass→pass | 9,045 | 4,705 | -48% | 1 | 1 | 0% | 1,376 | 1,987 | +44% | 0 | 0 | — |
case-04 | fail→fail | 29,259 | 14,920 | -49% | 1 | 1 | 0% | 4,879 | 3,557 | -27% | 0 | 0 | — |
case-05 | fail→fail | 22,112 | 15,410 | -30% | 1 | 1 | 0% | 3,720 | 3,617 | -3% | 0 | 0 | — |
case-06 | fail→pass | 17,077 | 8,519 | -50% | 1 | 1 | 0% | 2,835 | 2,584 | -9% | 0 | 0 | — |
case-07 | fail→pass | 35,424 | 11,342 | -68% | 1 | 1 | 0% | 897 | 3,182 | +255% | 0 | 0 | — |
case-08 | fail→pass | 17,238 | 11,285 | -35% | 1 | 1 | 0% | 2,702 | 2,905 | +8% | 0 | 0 | — |
case-09 | fail→fail | 15,898 | 10,949 | -31% | 1 | 1 | 0% | 2,302 | 2,983 | +30% | 0 | 0 | — |
case-10 | fail→pass | 15,302 | 7,832 | -49% | 1 | 1 | 0% | 2,337 | 2,321 | -1% | 0 | 0 | — |
case-11 | pass→pass | 13,345 | 7,843 | -41% | 1 | 1 | 0% | 1,874 | 2,224 | +19% | 0 | 0 | — |
case-12 | fail→pass | 19,899 | 9,124 | -54% | 1 | 1 | 0% | 3,311 | 2,519 | -24% | 0 | 0 | — |
case-13 | fail→pass | 23,125 | 10,313 | -55% | 1 | 1 | 0% | 3,971 | 2,778 | -30% | 0 | 0 | — |
case-14 | pass→pass | 17,912 | 12,650 | -29% | 1 | 1 | 0% | 2,931 | 3,070 | +5% | 0 | 0 | — |
case-15 | pass→pass | 10,640 | 7,310 | -31% | 1 | 1 | 0% | 1,561 | 2,140 | +37% | 0 | 0 | — |
case-16 | fail→pass | 20,103 | 17,093 | -15% | 1 | 1 | 0% | 3,536 | 3,791 | +7% | 0 | 0 | — |
case-17 | pass→pass | 18,355 | 11,445 | -38% | 1 | 1 | 0% | 3,058 | 3,060 | +0% | 0 | 0 | — |
case-18 | pass→pass | 20,179 | 12,327 | -39% | 1 | 1 | 0% | 3,153 | 3,248 | +3% | 0 | 0 | — |
case-19 | pass→pass | 13,086 | 5,202 | -60% | 1 | 1 | 0% | 1,823 | 1,875 | +3% | 0 | 0 | — |
case-20 | pass→pass | 12,962 | 10,006 | -23% | 1 | 1 | 0% | 1,863 | 2,555 | +37% | 0 | 0 | — |
case-21 | fail→pass | 16,364 | 10,496 | -36% | 1 | 1 | 0% | 2,430 | 2,675 | +10% | 0 | 0 | — |
case-22 | fail→pass | 14,028 | 10,041 | -28% | 1 | 1 | 0% | 1,994 | 2,555 | +28% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.