📄 The two files
The skill storm-research isn’t a complicated program. It’s a folder with two text files: o SKILL.md, which describes the 4-phase pipeline, and the report-template.html, which is the final briefing template. Nothing else. All the intelligence lives in the text of those two files.
The diagram below shows this nesting: the SKILL.md contains the entire pipeline (the 4 phases), and alongside it is the template that Phase 3 clones to generate the report.
The large blue box is the SKILL.md — it covers all 4 phases (cyan boxes). Phase 3 comes from the pipeline file and clone o report-template.html to build the report. Two files, one pipeline.
.claude/skills/storm-research/ ├── SKILL.md # o pipeline em 4 fases └── report-template.html # o molde do briefing final
The instructions in Markdown. It describes the 4 phases, the prompts for the 5 lenses, and the verification rules. It's what Claude reads and executes.
The blank HTML with the design ready. Phase 3 fills in the sections; the CSS and visual identity remain untouched.
🟡 New here? — “skill” and “skill folder”
A skill is a set of instructions that Claude Code loads when you need it. The “skill folder” is just a directory named after the skill inside .claude/skills/. Everything in this folder travels together—that's why the two files are enough.
🏷️ The frontmatter
At the top of the SKILL.md lives the frontmatter: a small block between --- with three fields. It’s the skill’s “identity card.” The most important field is the description — it’s through this that Claude knows when the skill should be invoked.
--- name: storm-research description: Use quando alguém pedir para rodar Storm Research, aplicar o método STORM em um tópico… executa um pipeline em 4 fases: cinco lentes → mapa de contradições → relatório HTML → revisão adversarial + verificação. argument-hint: "[tópico a pesquisar]" ---
The skill’s identifier. It must match the folder name.
The trigger. It tells Claude when use the skill—in natural language.
Tip on what to pass as an argument: the topic to research.
🎯 Why the description is the heart
- •Claude reads all available descriptions and chooses the skill whose
descriptionmatches your request. - •That’s why it lists the triggers: “run Storm Research,” “STORM method,” “verified briefing,” etc.
- •You don’t type a special command—you make a request in natural language, and
descriptionbridges the gap.
🟡 New here? — “frontmatter”
"Frontmatter" is that block of metadata at the top of a Markdown file, delimited by --- at the top and bottom. It doesn't appear in the content; it lets the program that reads the file (here, Claude Code) know information about it.
🧳 Self-contained and portable
The skill is self-contained: it depends only on the tools native for Claude Code. There are no external scripts, APIs, keys, or paid services to configure. You drop the folder into .claude/skills/ and it works — on any machine.
Launches the subagents general-purpose of the lenses and verifiers.
Used within the agents for actual research and source verification.
Saves the final report to storm-reports/.
✓ What it uses
- ✓Native tools: Agent, Write, web search/fetch
- ✓O
report-template.htmlthat comes in the same folder - ✓Only the folder inside
.claude/skills/
✗ What it does NOT need
- ✗Python/Node scripts or a build
- ✗External APIs, keys, or paid services
- ✗Other installed skills or dependencies
Why this matters
Portability means you share the skill by sending a folder. The recipient doesn’t need to install anything — just drop it into .claude/skills/ and runs. It also lets you take it to other agents (you'll see that in Track 3) and audit it, since everything is readable text.
🎨 The HTML template
The second file, report-template.html, it’s the visual template. The golden rule is written right in the skill: clone the template and fill in the sections — never recreate the CSS. The design has already been thought through; changing it only introduces inconsistency.
Light background, sober layout, “decision-maker” level.
Fixed typography: title in Montserrat, code in Roboto Mono.
One accent color only. No rainbow of colors.
🧱 Clone, don't reinvent
Think of the template as a blank form: the job in Phase 3 is to fill in the fields (summary, findings, references), not redesign the role. The CSS, fonts, and palette stay intact.
- •You change the content of the sections, not the style.
- •Different reports share the same identity—easy to read and compare.
💡 Practical tip
Customize the template safely (without breaking the identity) is covered in Track 3, module "Customize and extend." For now: treat the CSS as untouchable.
💸 Cost: ~9–11 agents per run
A complete run creates about 9 to 11 agents: 5 lenses in Phase 1 and ~4 to 6 verifiers in Phase 4. This is expected and predictable — it’s the cost of covering multiple angles and checking citations. The calculation below shows where the number comes from.
Phase 1 — five lenses
Practical Professional, Academic, Skeptic, Economist, and Historian. Five agents general-purpose in a single message, in parallel.
Phase 4 — verifiers
About 4 to 6 agents, one per related citation cluster. Each checks the claims against the primary source.
Total: ~9 to 11 agents
Phases 0, 2, and 3 are handled by the main session, without agents. That way, the cost doesn't unexpectedly spike.
⚖️ Don't inflate the pipeline
More agents no is better. The skill explicitly says not to expand beyond 5 lenses or use more than 1 verifier per cluster of citations. The benefit comes from diversity of roles, not raw quantity.
🛡️ Built-in safeguards
The skill is more than a polished HTML generator—it carries safeguards written in the file itself SKILL.md. Real research only; nothing fabricated; if a number can't be verified, it's downgraded or cut; and Phase 4 verification is mandatory. These rules are what separate a STORM briefing from any plausible-sounding text.
✓ Promise delivered
- ✓Every lens and citation points to a real source that was consulted
- ✓An unverified number is downgraded or removed — never disguised
- ✓Phase 4 (verification) is mandatory; the verification banner must be truthful
- ✓The report reveals that the panel is original—convergence is not consensus in the field
✗ Red flags (not STORM)
- ✗Studies, numbers, or URLs invented to “complete” the text
- ✗Delivering without running Phase 4 verification
- ✗Present agreement across lenses as independent proof
- ✗Inflate it to more than 5 lenses, thinking that will improve it
Self-recovery (optional): which statement about the storm-research skill is correct?
📌 Module summary
Next module:
2.2 — Install the Skill (with Download Links)