It starts from the moment you ask a research question. The Director presents a research directive — scope, audience, constraints — for your approval. Once you approve, it builds a research outline and the loop begins.
An Evaluator reads the outline and scores what's covered. Where gaps exist, a Gatherer goes to work: searching the web, fetching pages, storing sources, annotating the outline. The loop runs until the evidence is solid — or the iteration cap is reached.
Once research converges, Writers tackle every chapter in parallel. Each one uses the CECI pattern — Claim, Evidence, Comparison, Implication — writing with inline citations drawn directly from the gathered sources. When the chapters are done, a Synthesizer reads them all together, writes the Introduction and Conclusion, and catches any cross-chapter contradictions before final assembly.
The result: a structured report with inline citations, saved to .deep-research/<topic>/outputs/report.md.
Run these two commands inside Claude Code. The first registers the plugin source; the second installs the plugin.
/plugin marketplace add haocheng-ma/deep-research-skill
/plugin install deep-research@deep-research-skill-dev
That's it — start a new session and you're ready to go.
/plugin update deep-research
Start a new session after updating to pick up the changes.
/plugin uninstall deep-research
If you're working on the plugin itself, load it directly from a local directory instead of installing:
claude --plugin-dir ./deep-research-skill
Start a new session and ask a research question. Claude should invoke the skill automatically, or trigger it explicitly with /deep-research <topic>.
/deep-research <your research topic>
Or just ask a research question — Claude will invoke the skill automatically when it detects a question requiring in-depth research.
- Director — presents a research directive (scope, constraints, audience) and gets your approval before committing to a research run
- Director — builds a research outline from the approved directive: chapters, subsections, the shape of a thorough answer
- Evaluator — scores the outline against gathered evidence; identifies gaps and suggests follow-up queries
- Gatherer — executes searches, fetches pages, annotates the outline with source IDs
- Writer — writes each chapter in parallel using the CECI pattern (Claim, Evidence, Comparison, Implication) with inline citations drawn from gathered sources
- Synthesizer — reads all chapters together; writes Introduction and Conclusion; checks for cross-chapter contradictions
The clarification phase (step 1) produces a research directive that anchors scope, audience, and constraints for the entire run. The evaluate-gather loop (steps 3-4) runs until evidence is sufficient or the iteration cap (10) is reached. Writing (step 5) parallelizes all chapters at once.
Research artifacts are stored in .deep-research/<topic-slug>/:
.deep-research/
└── sovereign-wealth-funds/
├── workspace/
│ ├── outline.md # Research outline with source annotations
│ ├── source_index.json # Source metadata and query history
│ ├── workflow_state.json # Execution state (research directive, tasks)
│ └── sources/ # Raw fetched content (1.md, 2.md, ...)
└── outputs/
├── intro.md # Introduction (written by synthesizer)
├── chapter-2.md, ... # Chapter files (written by writers)
├── conclusion.md # Conclusion (written by synthesizer)
├── references.md # Sources consulted
└── report.md # Final assembled report
- Claude Code with Agent, WebSearch, and WebFetch tools available
- Ensure
.deep-research/is gitignored in your repo (the skill writes large scratch artifacts there)
- Behavioral testing — Validate director orchestration and subagent compliance under pressure scenarios (e.g., false completion, partial drafts, convergence stalls).
- Multilingual reports — Reports are currently English-only. Add language detection so the report output matches the user's query language. Initial implementation searches in English only; which language to search in — and whether to search in both languages — needs validation through testing and user feedback.
MIT