Use when executing a pre-registered analysis plan with mostly independent steps in the current session
npx skills add https://github.com/K-Dense-AI/science-superpowers --skill subagent-driven-analysis
Execute a pre-registered analysis plan by dispatching a fresh subagent per analysis step, with two-stage review after each: protocol-compliance review first (did it run exactly what was pre-registered, nothing more), then statistical-rigor review (assumptions, leakage, correctness, reproducibility).
Why subagents: You delegate steps to specialized agents with isolated context. By precisely crafting their instructions, you keep them focused and prevent them from improvising analyses you didn't pre-register. They never inherit your session's history — you construct exactly what they need. This also preserves your own context for coordination.
Core principle: Fresh subagent per step + two-stage review (protocol then rigor) = trustworthy, reproducible results.
Continuous execution: Do not pause to check in between steps. Execute the whole plan. The only reasons to stop: a BLOCKED status you cannot resolve, an anomaly that needs science-superpowers:investigating-anomalous-results, a genuine ambiguity, or all steps complete.
The analysis plan MUST be pre-registered and frozen (science-superpowers:preregistering-analysis) before any step runs. If it is not frozen, stop and pre-register first. Executing before freezing turns the whole thing exploratory.
digraph when_to_use {
"Pre-registered plan?" [shape=diamond];
"Steps mostly independent?" [shape=diamond];
"Stay in this session?" [shape=diamond];
"subagent-driven-analysis" [shape=box];
"executing-analysis" [shape=box];
"Pre-register first" [shape=box];
"Pre-registered plan?" -> "Steps mostly independent?" [label="yes"];
"Pre-registered plan?" -> "Pre-register first" [label="no"];
"Steps mostly independent?" -> "Stay in this session?" [label="yes"];
"Stay in this session?" -> "subagent-driven-analysis" [label="yes"];
"Stay in this session?" -> "executing-analysis" [label="no - parallel session"];
}
digraph process {
rankdir=TB;
"Set up reproducible workspace" [shape=box];
"Read plan + frozen prereg, extract all steps, create TodoWrite" [shape=box];
"Dispatch analyst subagent (./analyst-prompt.md)" [shape=box];
"Analyst asks questions?" [shape=diamond];
"Answer, provide context" [shape=box];
"Analyst runs step, validates, commits, self-reviews" [shape=box];
"Dispatch protocol-compliance reviewer (./protocol-compliance-reviewer-prompt.md)" [shape=box];
"Ran exactly the pre-registered analysis?" [shape=diamond];
"Analyst fixes deviations" [shape=box];
"Dispatch rigor reviewer (./rigor-reviewer-prompt.md)" [shape=box];
"Rigor reviewer approves?" [shape=diamond];
"Analyst fixes rigor issues" [shape=box];
"Mark step complete" [shape=box];
"More steps?" [shape=diamond];
"Use requesting-red-team-review on whole result" [shape=box style=filled fillcolor=lightgreen];
"Use reporting-and-archiving-findings" [shape=box style=filled fillcolor=lightgreen];
"Set up reproducible workspace" -> "Read plan + frozen prereg, extract all steps, create TodoWrite";
"Read plan + frozen prereg, extract all steps, create TodoWrite" -> "Dispatch analyst subagent (./analyst-prompt.md)";
"Dispatch analyst subagent (./analyst-prompt.md)" -> "Analyst asks questions?";
"Analyst asks questions?" -> "Answer, provide context" [label="yes"];
"Answer, provide context" -> "Dispatch analyst subagent (./analyst-prompt.md)";
"Analyst asks questions?" -> "Analyst runs step, validates, commits, self-reviews" [label="no"];
"Analyst runs step, validates, commits, self-reviews" -> "Dispatch protocol-compliance reviewer (./protocol-compliance-reviewer-prompt.md)";
"Dispatch protocol-compliance reviewer (./protocol-compliance-reviewer-prompt.md)" -> "Ran exactly the pre-registered analysis?";
"Ran exactly the pre-registered analysis?" -> "Analyst fixes deviations" [label="no"];
"Analyst fixes deviations" -> "Dispatch protocol-compliance reviewer (./protocol-compliance-reviewer-prompt.md)" [label="re-review"];
"Ran exactly the pre-registered analysis?" -> "Dispatch rigor reviewer (./rigor-reviewer-prompt.md)" [label="yes"];
"Dispatch rigor reviewer (./rigor-reviewer-prompt.md)" -> "Rigor reviewer approves?";
"Rigor reviewer approves?" -> "Analyst fixes rigor issues" [label="no"];
"Analyst fixes rigor issues" -> "Dispatch rigor reviewer (./rigor-reviewer-prompt.md)" [label="re-review"];
"Rigor reviewer approves?" -> "Mark step complete" [label="yes"];
"Mark step complete" -> "More steps?";
"More steps?" -> "Dispatch analyst subagent (./analyst-prompt.md)" [label="yes"];
"More steps?" -> "Use requesting-red-team-review on whole result" [label="no"];
"Use requesting-red-team-review on whole result" -> "Use reporting-and-archiving-findings";
}
Use the least powerful model that can handle each role.
DONE: Proceed to protocol-compliance review.
DONE_WITH_CONCERNS: Read the concerns. If about correctness or an unexpected data issue, address before review (may need science-superpowers:investigating-anomalous-results). If an observation ("this file is getting large"), note and proceed.
NEEDS_CONTEXT: Provide the missing information and re-dispatch.
BLOCKED: Assess. Context problem → provide more and re-dispatch. Needs more reasoning → more capable model. Step too large → split. Plan itself is wrong → escalate to your human partner. A wrong plan may require re-opening the pre-registration, which must be documented as a deviation.
Never silently let a subagent change the registered analysis to make a step "work." A deviation is documented and renders that analysis exploratory.
./analyst-prompt.md — dispatch the analyst subagent./protocol-compliance-reviewer-prompt.md — did it match the pre-registration?./rigor-reviewer-prompt.md — is the statistics correct, reproducible, leak-free?Never:
If a reviewer finds issues: the same analyst subagent fixes them, then the reviewer reviews again. Repeat until approved.
Required workflow skills:
Subagents should use:
Alternative:
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take k-dense-ai/subagent-driven-analysis from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.