🧭 Choose a good topic
STORM is only worthwhile when the topic gives the five lenses something to disagree with. A good topic has more than one defensible side and claims you can check against real sources. If the answer is a single, undisputed fact, a quick search will do—and running nine to eleven agents would be a waste.
The diagram below is this module’s map: from the topic you choose to the briefing you open. Each stop is one of the next topics.
The Module 2.4 workflow: you choose the topic, launch it with a prompt, the five lenses research the web in parallel (cyan), Claude synthesizes and verifies it in a briefing.html (blue), and you open it. The dashed line is the iteration—asking for a V3 starts again from the report.
🎯 What makes a good STORM topic
- •Has more than one defensible side — something the skeptic can challenge.
- •Has numbers, studies, or claims you can check against the source.
- •Involves hype, money, or incentives — the economist's and historian's territory.
- •The decision matters: being wrong is costly.
✓ Good topics
- ✓"Is it worth migrating my stack to a serverless architecture?"
- ✓"Are voice agents hype or a real business opportunity for clinics?"
- ✓"Does the subscription model still work for B2B SaaS in 2026?"
✗ Weak topics (a quick search is enough)
- ✗"What is the capital of France?"
- ✗"How do you convert 50 miles to kilometers?"
- ✗"List the planets in the solar system."
💡 Scope tip
A topic that’s too broad ("the future of AI") dilutes the lenses; too narrow, and it becomes a single fact. The sweet spot is a decision question with a specific focus: sector, audience, or year. “Voice agents” is vague — “voice agents for dental clinics in 2026” gives the lenses places to dig.
▶️ The prompt to kick things off
There's no special command: you invoke the skill in natural language. Just name the method and say to who the report is. That "for whom" is the target reader from Phase 0—it’s what makes the actionable insight section speak to you, not to a generic person.
🎯 Objective: run the 4-phase pipeline with your reader already in mind.
Rode um Storm Research sobre <seu tópico>. O leitor é <seu papel>.
✅ How to verify: Claude responds with its interpretation of the topic in one line, states the target reader, and says "running 5 lenses in parallel, then verification." If it starts answering without launching agents, the skill wasn’t invoked — check the installation (Module 2.2).
Run a Storm Research on voice agents for clinics. The reader is a dental clinic owner.
🟡 Why name the reader
Phase 0 uses the reader’s role to guide the actionable insight and the claims safety guide. A "clinic owner" gets business recommendations; a "platform engineer" gets technical trade-offs. If you don’t specify, the skill assumes "a practical professional or decision-maker in the field"—that works, but it’s more generic.
👀 Track the 5 lenses
Right after the trigger, Phase 1 creates five subagents general-purpose in a single message. They run in parallel, each searching the web through its own lens. In the interface, you’ll see them appear in the task list — you don’t need to do anything, just watch.
Practical Professional, Academic, Skeptic, Economist, and Historian run at the same time.
You see the actual searches happening under each subagent.
Click a task to see that lens's exact prompt and what it found.
Each lens returns POSITION, EVIDENCE (with URLs), and THE ONE THING.
⏱️ What to expect while it runs
- It’s normal for it to take a while: five agents researching the web take a few minutes — much longer than a direct answer.
- They coexist, they don’t talk: the subagents don’t talk to each other; only the main session reads the five results.
- Don't interrupt: let all five finish before the synthesis. The convergence score (next topic) only comes afterward.
💡 Useful curiosity
Opening each lens’s prompt is the best way to understand the method from the inside. You’ll see that all five receive the same framing of the topic and only change the lens — that's exactly what you'll customize in Track 3.
💬 The convergence/divergence note
When the five lenses return, Claude doesn’t dump the raw briefings into the chat. Instead, it publishes a short note—2 to 3 lines—saying where the lenses converge and what the strongest disagreement is. It's your first signal of what the report will say.
"The five lenses agree that voice agent adoption has grown rapidly in customer service. The strongest disagreement is between the Economist (real margins are still thin) and the Practical Professional (operational gains are already tangible). The Skeptic points to underreported error rates."
✓ What the score does
- ✓Summarizes convergence and divergence in a few lines
- ✓Names which lenses clash and why
- ✓Anticipates what becomes a "finding" and what becomes a "contested signal"
✗ What it is NOT
- ✗It's not the dump of all five complete briefs
- ✗It's not the final report — synthesis and verification are still needed
- ✗It's not a verdict: convergence is a strong hypothesis, not proof
🖥️ Open the HTML
After verification (Phase 4), the final briefing is saved in storm-reports/<slug>-briefing.html, relative to the folder where you ran it. Claude already tries to open it for you, but if you need to open it manually, it’s just one command.
🎯 Objective: open the briefing in the default browser (Linux).
xdg-open storm-reports/<slug>-briefing.html
✅ How to verify: the browser opens the briefing; the top shows the verification banner (e.g., "12/12 checked, 0 fabricated, 2 corrected, 1 downgraded"). Without this banner, Phase 4 did not run.
# macOS open storm-reports/<slug>-briefing.html # Windows start "" storm-reports\<slug>-briefing.html
🟡 What <slug> is
O <slug> is your topic in kebab-case, derived in Phase 0. “Voice agents for clinics” becomes agentes-de-voz-para-clinicas, and the file stays storm-reports/agentes-de-voz-para-clinicas-briefing.html. Don't remember the name? Run ls storm-reports/.
🔁 Request V2/V3
The first brief is rarely the last. Iteration is part of the method: the report points to the “missing sixth lens”—the perspective no one covered. Asking Claude to run that lens and generate a new version closes the most obvious gap in your first report.
🎯 Objective: run the missing sixth lens and generate a new version of the briefing.
Rode a 6ª lente ausente (<a lente que faltou>) sobre o mesmo tópico, verifique as novas citações e gere uma V3 do briefing.
✅ How to verify: a new file storm-reports/<slug>-briefing-v3.html (or the updated version) with the new perspective integrated into the findings and the rewritten verification banner for the new citations.
Aprofunde o achado <N> com mais fontes primárias e atualize a nota de confiabilidade.
💡 Iterate > start from scratch
Each version inherits the verification already done and only adds what was missing — it costs less than running a new STORM. But remember the ceiling: a maximum of five lenses per round and one verifier per cluster. The “6th lens” is a new focused round, not an inflated panel.
Self-recovery (optional): which of these correctly triggers a targeted Storm Research?
📌 Module summary
xdg-open, and ask for a 6th lens / a V3 to close the blind spot.Next module:
3.1 — HTML Report Anatomy