Deep Research
This skill orchestrates a multi-phase academic research workflow. It is citation-disciplined: every claim in the final output must resolve to a real source reachable through one of the configured paper MCP servers. Hallucinated DOIs are a failure mode, not a typo -- they get caught and rejected here, not after the fact.
When to use which mode
| User intent | Mode | Output length |
|---|---|---|
| Vague topic, user is exploring | socratic |
dialogue only |
| "Give me a quick summary of X" | quick |
500-1,500 words |
| "Write me a research report on X" | full |
3,000-8,000 words |
| "Find me papers on X" / "annotated bibliography" | lit-review |
1,500-4,000 words |
| "Is this claim true? / Does this paper exist?" | fact-check |
300-800 words |
| "Review this draft / argument" | review |
varies |
| "PRISMA / systematic review of X" | systematic-review |
5,000-15,000 words |
If the user did not specify, infer from their phrasing. Default to socratic when the question is too broad to research without scoping. See references/mode_selection.md.
How to invoke
User can pass --mode {name} and a topic via slash command (/research --mode lit-review "ion-gated transistors for reservoir computing") or by free text. Read the args; if none, infer from the prompt.
Iron Rules (apply to every mode)
- No claim without a citation that resolves through Semantic Scholar, OpenAlex, arXiv, or a publisher DOI. If a claim cannot be cited, mark it as
[UNVERIFIED]and either drop it or escalate it to the user -- never invent a citation. - The
devils-advocateagent runs at three checkpoints: after scoping, after synthesis, after composition. It can block progression if claims are weak or sources gray-zone. See agents/devils-advocate.md. - The
ethicsagent can halt delivery when the topic crosses into harm-enablement territory (weapons synthesis, targeted harassment, etc.). See agents/ethics.md. - Socratic mode never gives direct answers -- only guiding questions. If the user demands an answer, exit Socratic mode explicitly and re-enter via a different mode.
- Vault writes go to
00_Inbox/, not30_Literature/. The user curates and promotes. This matches the user'sfeedback_obsidian_writes.mdrule. - Capture every paper you actually read. Whenever an agent fetches and reads a paper's full text (not just the abstract), call the
paper-captureskill so it lands in30_Literature/. Do not skip this -- the whole point of the pack is that papers consumed during research are reusable on the next project.
Phases (every mode runs through these in order)
- Scoping -- sharpen the research question, choose the mode, write a methodology blueprint.
- Scope confirmation (mandatory pause; see Scope Confirmation Protocol below). Skip ONLY in
quickandfact-checkmodes. - Investigation -- search the MCP servers in priority order (see below), download and read promising papers. Spawn the parallel investigator sub-agents listed under "Spawning sub-agents".
- Analysis -- synthesize across sources, run risk-of-bias on each, build a claim/evidence table.
- Composition -- draft the deliverable in the mode-appropriate format.
- Review -- editorial pass + ethics check + devil's advocate final pass.
- Citation pre-flight (mandatory; see Citation Pre-flight Protocol below).
- Hand-off -- write to vault
00_Inbox/research-{slug}-{YYYY-MM-DD}.mdvia theobsidianMCP.
Skip phases that don't apply (e.g. fact-check skips composition).
Scope Confirmation Protocol (mandatory pause after Phase 1)
In every mode EXCEPT quick and fact-check, after Phase 1 (Scoping) you MUST present the scope back to the user and wait for confirmation. Do not start Phase 3 (Investigation) until the user replies.
Format:
=== SCOPE CONFIRMATION ===
Before I search, here's how I'm reading your request:
- Topic: {one sentence}
- Year range: {YYYY-YYYY or "open"}
- Languages: {English / multilingual / etc.}
- Inclusions: {peer-reviewed lab, preprints OK, ...}
- Exclusions: {blog posts, retracted papers, ...}
- Depth: {quick / lit-review / full / systematic-review / review}
- Time budget: {e.g. 5-15 min for a quick run}
Reply 'go' to proceed, or correct any of the above. I'll wait.
If the user's original request was genuinely vague (no topic, no scope at all), don't synthesize a scope -- drop into socratic mode instead.
Citation Pre-flight Protocol (mandatory before Phase 8 Hand-off)
After Composition (Phase 5) and the Review pass (Phase 6), and before writing the final note to the vault:
- Walk every in-text citation in the draft. Extract the DOI / arXiv id / Semantic Scholar paperId for each.
- For each citation, call
mcp__semantic-scholar__get_semantic_scholar_paper_details(ormcp__paper-mcp__paper_get_metadataas fallback). - Compare the returned title/authors against what the draft claims:
- Confirmed: title + first-author both match -> mark
[verified]internally. - Mismatch: title doesn't match -- the draft cited the wrong DOI. Either fix the DOI (re-search Semantic Scholar) or replace the in-text reference with
[UNVERIFIED -- DOI mismatch]. - 404 / not-found: re-resolve via title-author-year search; if that also fails, replace with
[UNVERIFIED -- could not re-confirm].
- Confirmed: title + first-author both match -> mark
- Surface the count of unverified to the user in the final delivery line:
Captured N citations; M re-verified, K flagged unverified. - If K > 0, list each unverified citation in a
## Unverified Citationssection at the bottom of the draft, with what was attempted.
Pre-flight is the integrity gate that catches the rare case where a sub-step of the pipeline (or the model itself) introduced a fabricated or mistyped DOI.
MCP server priority order
The investigator MUST try these in the order below. The order is biased toward broad-source coverage and institutional full-text access -- arXiv is only authoritative for preprints and is missing most journal-published work (Nature, Science, ACS Nano, Adv. Materials, Applied Physics Letters, most of EE/MatSci, biology, chemistry). Do NOT default to arXiv-only searches.
For SEARCH (broad coverage):
semantic-scholar-- best for metadata, paper resolution, citation graphs, abstract preview. Spans all journals + preprints.paper-search-- multi-source unified search (arXiv, bioRxiv, medRxiv, PubMed, Google Scholar). Casts the widest net for preprints AND PMC open-access journal papers.paper-mcp-- secondary metadata + DOI resolution path. Useful when a venue isn't well-indexed by Semantic Scholar.arxiv-- only when the topic is explicitly preprint-relevant (recent CS / physics / quant-bio that hasn't been formally published yet, OR seminal preprints from those fields). Don't make arxiv the primary source for an applied-physics or experimental-biology topic -- you'll miss the journal corpus.
For FULL-TEXT DOWNLOAD (after a paper has been chosen):
university-paper-access-- institutional download path via Unpaywall + on-campus IP. First choice for full-text PDF of any journal paper. Often returns a legal full-text where the user has institutional access.arxiv(download_paper) -- for arXiv ids only. Free, reliable, but only covers what's posted to arXiv.paper-search(download_*) -- per-source download from bioRxiv/medRxiv/PubMed/PMC.scihub-- last-resort PDF when institutional access fails. Note legal/network limitations.
Always prefer abstract-level reasoning before downloading PDFs. Only download a paper when an agent has decided it actually needs the full text. Then capture it via the paper-capture skill (Iron Rule 6).
Spawning sub-agents
Use the Agent tool with subagent_type=Explore for searches and subagent_type=general-purpose for synthesis/composition. Cap at 3 parallel agents. Each agent prompt lives in agents/ -- load the file with Read and pass its body as the agent prompt, prepended with the specific topic.
For a full run, the recommended spawn pattern is:
- Phase 1: 1x
scopingagent (sequential). - Phase 2: 3x
investigatoragents in parallel -- one per top-level subtopic. Each may make several MCP calls. - Phase 3: 1x
synthesizer+ 1xbias-auditorin parallel, sharing the Phase 2 output. - Phase 3.5: 1x
devils-advocate(checkpoint 1). - Phase 4: 1x
composer(sequential, large context). - Phase 5: 1x
editor+ 1xethics+ 1xdevils-advocate(checkpoint 2 & 3) in parallel.
For quick, run scoping -> 1x investigator -> 1x composer -> 1x devils-advocate. Skip bias auditor.
For socratic, never spawn agents. Stay in the main loop and ask questions until the user has a researchable question, then propose a mode.
Mode-specific instructions
Read the mode file before starting:
- modes/full.md
- modes/quick.md
- modes/lit-review.md
- modes/fact-check.md
- modes/socratic.md
- modes/systematic-review.md
- modes/review.md
Templates
Use these as the skeleton for the deliverable:
- templates/report_full.md
- templates/report_lit_review.md
- templates/prisma_flow.md
- templates/claim_evidence_table.md
Citation format
APA 7.0 in-text and reference list. For each cited source:
- DOI mandatory if it exists; arXiv id otherwise; URL only if neither.
- Mark provenance:
[SS]Semantic Scholar /[XV]arXiv /[UPA]university-access /[SH]Sci-Hub. This trail is what makes the integrity gate falsifiable.
Hand-off note format
The vault note dropped in 00_Inbox/ MUST include:
---
type: research-output
mode: {mode}
topic: {topic}
date: {YYYY-MM-DD}
status: draft # draft -> reviewed -> promoted
papers_captured: [{citekey1}, {citekey2}, ...]
---
followed by the body and a final ## Provenance section listing every MCP call made and every paper downloaded. Reviewers (you in three months, or a collaborator) should be able to reproduce the search.
Iron Rule reference
Read references/iron_rules.md at the start of every run. If you're not sure whether something violates a rule, stop and ask the user.