storm
Skill2 starsChanged 5 months agoMITView on GitHub
Research a topic from multiple perspectives, grounded in retrieval, and return a cited briefing — an agent-native port of Stanford's STORM. Discovers (or accepts) diverse perspectives, runs grounded question-asking per perspective with retrieval at each step, and curates findings into a source-attributed synthesis. Every claim is cited or tagged [unverified]. Runs standalone (`/storm <topic>`) or as a hand-off target for `team-composer`, inheriting the panel's active roles as seed perspectives. Triggers on "research X", "what's known about Y", "survey the evidence on Z", "build a grounded briefing on…", or an upstream skill needing sourced external knowledge. Does NOT trigger on single-source-of-truth fact-checking or one authoritative report — that's `deep-research`; nor on opinion, critique, planning, or assembling a team — that's `team-composer`. Perspective-breadth, not source-breadth.
8 other projects use a version of this.
Adopted by
Most recently taken up by
- stormlightlabs/miretheir own version, first seen Nov 1, 2026
- hasuwini77/agentilletheir own version, first seen Nov 1, 2026
- healthier-vitamins/agentic-grimoiretheir own version, first seen Nov 1, 2026
- FradSer/skillstheir own version, first seen Oct 13, 2026
- master-g/skillstheir own version, first seen Oct 10, 2026
- kings0527/pi-harnesstheir own version, first seen Aug 12, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- kings0527/pi-harness★ 9same name
- FradSer/skills★ 4same name
- wangwei1237/agent-skills★ 4same name
- healthier-vitamins/agentic-grimoire★ 2same name
- kunjan-p/storm-skill★ 2same name
- hasuwini77/agentille★ 1same name
- stormlightlabs/mire★ 1same name
- master-g/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ai-eval-reviewSkill
- ai-ux-reviewSkill
- brand-workshopSkill
- defineSkill
- gamification-fitSkill
- ghostwriterSkill
- gtmSkill
- handshakeSkill
- i18nSkill
- pitch-deckSkill
- pixel-artSkill
- plain-englishSkill
- riskiest-assumption-testSkill
- screenwrightSkill
- skill-evaluatorSkill
- startup-auditSkill
- startup-grillSkill
- startup-launch-kitSkill
- sub-agent-coordinatorSkill
- team-composerSkill
- tech-stack-recommendationsSkill
- validation-canvasSkill
- wear-the-hatSkill
- whoamiSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 3 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 54
Discovered (standalone): No seed. *Discover* perspectives by surveying adjacent material on the topic (STORM's move): a quick retrieval …
- Very specific: line 64
Every answer carries its source(s).
- Very specific: line 66
If a question's retrieval comes up empty, record the answer as [unverified / reasoning-only] — do not pad it with confident introspection.
- Distinctive: line 106
No seed perspectives → Phase 1 discovers them.
- Very specific: line 113
Invariant: no claim ships without a source or an explicit [unverified / reasoning-only] tag.
- Distinctive: line 127
Not Co-STORM: No human-in-the-loop turn-by-turn collaboration (separate, heavier paper).
- Distinctive: line 165
Do NOT load this skill when:
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
storm
Research a topic the way Stanford's STORM does its pre-writing: discover the perspectives that matter, ask grounded questions from each, and synthesize the answers into a cited briefing. The wedge is breadth of perspectives — what different lenses surface about a topic — not breadth of sources on a single question.
This is an agent-native port of the STORM mechanism, not Nav Toor's 4-prompt chat workflow. The agent already holds retrieval, so grounded is the default — there is no un-grounded mode.
Phase 0 — Boundary gate
Activate storm when the request wants sourced external knowledge across perspectives. Route away otherwise:
| Request shape | Skill |
| "Research X", "what's known about Y", "survey the evidence on Z", "grounded briefing on…" | storm |
An upstream skill (e.g. team-composer) needs sourced knowledge it can't reason to | storm (hand-off) |
| Single-source-of-truth fact-check, one authoritative report, "verify this claim" | deep-research |
| Opinion, critique, planning, "assemble a team", "review my plan" | team-composer |
| General agent loop / build work | the harness / cerby |
The deep-research line is the load-bearing one: it owns source-breadth (fan-out, fetch, adversarially verify into one report). storm owns perspective-breadth. If the request wants the ground truth on one question, it's deep-research. If it wants what several lenses reveal about a topic, it's storm.
Phase 1 — Perspectives in
Two paths:
- Seeded (hand-off). A caller supplied perspectives (e.g.
team-composerpasses its active roles). Use them verbatim as the perspective set — they are already domain-relevant lenses. Do not re-discover. - Discovered (standalone). No seed. Discover perspectives by surveying adjacent material on the topic (STORM's move): a quick retrieval pass to find the recurring stakeholder/expert/angle framings, then name 3–4 distinct ones. A fixed generalist set is one possible seed, never the only option.
Bound it: max_perspectives (default 4). Stated up front so the user can correct it.
Phase 2 — Grounded Q&A per perspective
For each perspective, generate questions that lens would ask, and answer them via retrieval. Bound: max_turns_per_perspective (default 3) — at most max_perspectives × max_turns retrieval cycles total.
- Every answer carries its source(s). Keep a source→claim map from here forward — synthesis depends on it (see
references/honesty-rubric.md). - Retrieval is capability-gated: use whatever retrieval the runtime holds (web search/fetch, a
*_searchMCP, drive search). Do not assume a specific tool name. - If a question's retrieval comes up empty, record the answer as
[unverified / reasoning-only]— do not pad it with confident introspection.
Mechanics (question generation, dedup, the contradiction-map pass) live in references/loop-mechanics.md.
Phase 3 — Curate → outline
Cluster findings across perspectives, dedupe sources, and draft a structure. This is where overlap collapses and the shape of the briefing emerges. Carry the source→claim map through unchanged.
Phase 4 — Cited synthesis
Emit the output. Every factual line is either source-attributed or tagged [unverified / reasoning-only] — no exceptions. The honesty rule is structural: because the source→claim map is carried through Phases 2–3, a line with no mapped source cannot be presented as verified.
Output formats:
briefing(default) — decision-oriented: a one-paragraph summary, findings ranked by reliability (each with supporting and challenging sources), the actionable insight, and open questions. Each claim cited.report(--report) — a longer sourced write-up (closer to STORM's article form) for when breadth matters more than turnaround.
Phase 5 — Optional rigor passes (flagged on; --no-rigor to skip)
Cheap, on by default, off with --no-rigor. Both are specified in references/honesty-rubric.md:
- Contradiction map — where perspectives clash, what they all agree on, and what none addressed (blind spots).
- Peer review / confidence — a confidence score per finding tied to source-backing (not fluency), the weakest link, a bias check, and the missing perspective. This pass exists primarily to catch STORM's two self-flagged failure modes — source-bias transfer and over-association of unrelated facts — so it is not cosmetic.
Inputs / outputs contract
Standalone:
/storm <topic> [--report] [--no-rigor] [--max-perspectives N] [--max-turns N]No seed perspectives → Phase 1 discovers them.
team-composer hand-off:
- In: the research question +
team-composer's active roles, passed as the seed perspectives. - Out: a cited briefing returned to the panel, which folds it back into its conclusion.
Invariant: no claim ships without a source or an explicit [unverified / reasoning-only] tag. With retrieval unavailable, the entire output is tagged — the honesty invariant holds by construction, not by reminder.
Capability-gated retrieval & graceful degradation
Gate on "is a retrieval tool available in this runtime?" — not on which agent or vendor is running (a brittle check). If none is available, do not refuse silently and do not fabricate: produce the perspective structure and reasoning, label every line [unverified / reasoning-only], and state plainly that retrieval was unavailable so the output is ungrounded.
What this skill is NOT
- Not single-source-of-truth research. One authoritative report from source fan-out is
deep-research. storm is multi-perspective. - Not a panel. Opinion, critique, planning, team assembly →
team-composer. - Not Co-STORM. No human-in-the-loop turn-by-turn collaboration (separate, heavier paper).
- Not a conversation-simulation engine. The bounded Phase-2 Q&A is the whole loop; no agent-vs-agent dialogue beyond it.
- Not a Wikipedia-article generator by default. Briefing is the default; the long report is opt-in.
Cross-skill integration
| Skill | Relationship |
deep-research (if installed) | The distinct neighbor. deep-research owns single-topic, source-of-truth research (fan-out → fetch → adversarial verify → one cited report). storm owns multi-perspective research. Route "verify this claim" / "give me the authoritative answer on X" there; route "what do different lenses reveal about X" here. |
team-composer | The primary caller. When a panel hits a grounding need ("verify the current state of X", "survey what's known about Y", "we're guessing here"), team-composer hands off to storm with its active roles as the seed perspectives; storm returns a cited briefing the panel folds into its conclusion. The team-composer-side routing — a storm row in its Cross-Skill table + a grounding-need trigger, plus the contradiction-map and peer-review lenses storm seeded — is wired as of team-composer v5.4.0. |
sub-agent-coordinator | If per-perspective Q&A is heavy enough to parallelize, the coordinator owns the spawning/briefing — storm does not duplicate that logic. |
Slash invocation
/agent-skills:storm <topic>
/agent-skills:storm <topic> --report
/agent-skills:storm <topic> --no-rigor --max-perspectives 3Equivalent to the natural-language trigger, just unambiguous.
Status
v0.1 — new skill. Ports the STORM mechanism (perspective discovery → grounded per-perspective Q&A → cited synthesis), bounded by two knobs (max_perspectives, max_turns_per_perspective). The team-composer back-port (the grounding-need hand-off row + the contradiction-map lens in its Discuss phase + peer-review/confidence in its Audit phase) shipped in team-composer v5.4.0.
When to use this skill
Load this skill when:
- The user wants grounded research across perspectives on a topic ("research X", "what's known about Y", "survey the evidence on Z", "build me a grounded briefing on…").
- An upstream skill needs sourced external knowledge it can't reason its way to.
Do NOT load this skill when:
- The user wants the authoritative answer on a single question or to verify one claim →
deep-research. - The user wants opinion, critique, planning, or a team assembled →
team-composer. - There's no external-knowledge need — let the normal skill stack handle it.
Tags: research, retrieval-grounded, cited-briefing, perspectives, storm, hand-off-target
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

