Deep research with Claude
Claude is good at research. Most people use it badly: single questions, single answers, no artifacts.
The right pattern: drive a research session like you would a junior analyst. Have it save everything to .md. Build a wiki that compounds.
Framing a research session
The quality of a research session is set in the first prompt. A good research prompt includes:
- The question: what are you actually trying to learn?
- The scope: what’s in bounds, what’s out? (“focus on the last 12 months,” “only enterprise vendors,” “skip anything still a research preview”)
- The depth: are you scanning a landscape or going deep on one option?
- The output: what should the session produce? A summary doc? A comparison table? A series of deep-dives?
A loose prompt produces loose output. “Tell me about vector databases” returns generic marketing content. “Compare Turbopuffer, Pinecone, and Qdrant on pricing and cold-start latency for a startup indexing 10M documents, save findings to specs/research/vector-db-comparison.md” returns something you can act on.
Save findings as you go
The single biggest shift from “chatting with Claude” to “researching with Claude” is telling it to save things to files continuously. Not at the end but as it goes.
A useful framing: the session is ephemeral, the files are the artifact. Every non-trivial piece of research should produce at least one .md file. Complex research produces several.
In practice:
- Instruct Claude to save findings to a specific directory (e.g.
specs/research/) from the start - Ask it to produce one file per logical subtopic, not one huge doc
- Have it include source links inline, not just at the end
- Check in partway through: “save what you’ve got so far before continuing”
Structure each .md for re-reading
A research .md that’s hard to skim three months later is wasted effort. A useful structure:
- Top of file: TL;DR in 2–4 bullets. What does a reader need to know if they read nothing else?
- Context: why this research was done, what question it answered
- Findings: the actual content, organized by subtopic
- Sources: linked inline throughout and listed at the bottom
- Open questions: things that came up but weren’t resolved
Claude will produce this shape naturally if you describe it in the prompt.
Link the research into the broader knowledge base
Research artifacts are most valuable when they’re connected. A standalone vector-db-comparison.md in a random folder is nearly as lost as the conversation that produced it.
Connect them by:
- Linking from
AGENTS.mdor a top-leveldocs/index.mdso Claude finds them on future sessions - Cross-linking related research files (
.mdlinks.md) - Referencing research conclusions from the evergreen spec where relevant
See Connect everything for the broader pattern.
Remote is slow; local is instant
Research is the slowest part of most Claude Code sessions, because the web is slow. Every search, every page fetch, every JS-rendered page, every follow-up refinement is a remote round-trip. An agent fishing in the dark on the open web can spend ten minutes on what a local search does in a second.
The practical response: pull things local before you research them.
- Download documentation before a deep-dive. If you’re going to spend an hour on a vendor’s API, clone their docs site to a folder first. Claude can
grepacross it instantly instead of fetching page-by-page. - Clone data you’ll revisit. CSVs, JSON dumps, markdown exports: pull them into the repo (or a sibling directory) so
globandgrepwork on them directly. - Save search results as artifacts. The first web search is unavoidable; the third time you need the same content, read the saved
.md, not the web again. - Convert rich sources to plain text early. PDFs, Notion pages, Google Docs: convert to markdown at the start of the session. Every later turn benefits.
Web search is irreplaceable when you need current information. For everything else, local retrieval is faster, cheaper in context, and more reliable.
Compounding
The third time you research “how do we handle X” and find that past-you already wrote a doc about it, you’ve crossed into the compounding regime. That’s the goal.
Every research .md is an investment. Name them well. Cross-link them. Review them occasionally. Treat the research folder the way you’d treat a wiki.
Resources
- Anthropic: Building agents with the Claude Agent SDK