Open source Claude Code skill. Type /research in any project. Get a multi-agent run with adversarial critic gate and citation audit. Zero API keys. Thirty-second install.
/research into a multi-agent run that fact-checks itself.Most research agents hallucinate confidently and ship a paragraph that looks right. deep-research dispatches parallel subagents, then runs an adversarial critic and a citation auditor before anything reaches the synthesis. Every claim has to trace back to a source. Every source has to actually exist.
The problem. Single-agent research loops tour the same web in a single browser tab and synthesize a confident-sounding answer. There's nothing checking the answer. Hallucinated SKUs, drifted specs, and citations that point to the wrong page all survive because nothing inside the loop is paid to disagree with the synthesis. Add a critic? Now you need API keys, a Python service, a vector store, and a config file. The friction kills the install.
The solution. deep-research is a single-folder Claude Code skill. Paste one line, type /research, and the main session orchestrates: plan, dispatch parallel dr-subagent-researcher workers, draft a synthesis, then hand it to dr-critic for adversarial review and dr-citation-checker for claim→source verification. All four use Claude Code's native WebSearch and WebFetch. No Tavily, no Firecrawl, no Exa, no Python service. The output is a structured directory you can git-track — synthesis, audit, claims, sources, plan, and per-subagent notes — that compounds into a research asset rather than a one-shot answer.
"The wedge isn't a smarter model. It's accountability inside the loop. A critic that's paid to disagree with the synthesis. A citation auditor that's paid to fail every claim that doesn't trace. The model already does the work — the framework decides whether the work counts."
Availability. Public today at github.com/agamarora/deep-research (v0.2.2). MIT licensed. Native to Claude Code — no monthly fee on top of your existing subscription.
/research) plus three worker subagent definitions. Plain markdown files. No runtime, no service, no daemon. Install drops a folder under ~/.claude/skills/; setup.mjs writes the slash command and agents into ~/.claude/commands/ and ~/.claude/agents/. Restart Claude Code; the agents are now available globally in every project./research dispatches multiple subagents in parallel from a single message — different angles in flight at once — then runs a separate critic that's prompted to find weaknesses, then a separate citation auditor that fails every claim that can't trace. The structure is the value, not the smarter prompt.WebSearch and WebFetch. No Tavily, no Firecrawl, no Exa, no SerpAPI, no MCP search server. The constraint is deliberate — the install only stays under thirty seconds if there's nothing to sign up for./research "what's today's date." The complexity tier is auto-selected: simple fact (1 subagent), direct comparison (2-4), complex research (5-10+).reports/<date>-<slug>/ with eight files: README.md (cover page GitHub renders), query.md, plan.md, sources.md (T1/T2/T3 credibility tiers), notes/ (one per subagent), claims.md (atomic claims with citation refs), synthesis.md (the report), audit.md (critic verdict + citation audit), and meta.json. Every claim in synthesis links to a source in sources.md. Every source has a credibility tier. The audit shows which claims passed, which got flagged, and what the critic forced to revise./research works immediately — slash commands hot-reload. The worker subagents need a Claude Code restart to register in the subagent_type enum; until then they fall back to general-purpose with their role prompt prepended. Output quality is unaffected; synthesis.md carries a dispatch_mode: fallback note for transparency.reports/; in your project, you choose. Track them and research compounds — searchable, revisitable, source of truth for future runs. Keep them local and the repo stays small. The directory structure is git-friendly either way.
It clones the repo to ~/.claude/skills/deep-research/, runs setup.mjs, and registers /research globally. Restart Claude Code so the worker subagents load natively. Thirty seconds end-to-end.
Install deep-research: run `git clone --single-branch --depth 1 https://github.com/agamarora/deep-research.git ~/.claude/skills/deep-research && cd ~/.claude/skills/deep-research && node setup.mjs` — then I can use `/research <query>` immediately. (Restart Claude Code afterward to load the worker subagents natively; the framework works either way via a fallback path.)
Prefer to run it yourself? Manual install in the README. Same outcome, one extra terminal.
The /research slash command body is the orchestrator — it runs on the main thread, plans the decomposition, and dispatches workers. Earlier versions used a separate lead-researcher subagent, but Claude Code blocks subagent→subagent dispatch, so the lead could never spawn workers. v0.2.2 collapses the lead into the main session; the worker subagents are the only subagents now.
Three worker types, each with one job:
dr-subagent-researcher · Sonnet. One per sub-question. Parallel, single-message dispatch. Owns its slice of the question, returns structured notes.dr-critic · Sonnet. Adversarial review. Reads the draft synthesis, hunts for weak claims, internal contradictions, and SKU/spec drift. Forces a revision when it finds one.dr-citation-checker · Haiku. Claim→source verification. Fails any claim that can't trace to a source in sources.md. Cheap by design — Haiku is enough for "does this URL contain this fact."The architecture is Anthropic's published multi-agent pattern — the same orchestrator-subagents shape that beat single-agent by 90.2% on internal evals.