Academic Research
Overview
Collects evidence from peer-reviewed papers and preprints. The defining risk here is exactly acceptance test 4 in this repo's test suite: a blog post misreading or overstating what a paper actually found. This skill's job includes resolving that conflict in the paper's favor when it arises — the root always outranks a derivative's misreading (engine/conflict-resolution.md's derivation check).
Layer rule: produces evidence, not results. Synthesis and confidence status are the orchestrator's job.
When to use
Direct use: "find studies on X", "what's the peer-reviewed evidence for Y". As a component: orchestrator dispatches this whenever a fact-type claim has a scientific/technical basis worth checking against the actual literature rather than someone's summary of it.
Don't use for: a secondary summary/interpretation as if it were the paper itself (fetch the paper directly, or flag when only the summary was accessible), general web content with no scholarly indexing (→ web-research).
Workflow
- Search the actual literature index, not general web search — arXiv, PubMed, DOI resolution, or whatever academic search surface is available. General web search will miss paywalled or properly-indexed papers a dedicated search catches, and will surface blog summaries instead of the source.
- Distinguish peer-reviewed from preprint from non-reviewed. A preprint (arXiv, bioRxiv, medRxiv) is real research not yet vetted — usable, but tier 2, not tier 1. Never present preprint findings with peer-reviewed confidence.
- Read past the abstract for load-bearing claims. Abstracts compress and sometimes overstate; a claim central to the finding (a specific number, a causal claim, a stated limitation) should be checked against the actual body text before being recorded as the paper's claim — this is the single most common source of subtly wrong numbers in literature synthesis. Skimming the abstract is acceptable only for context/orientation claims, not for anything a
fact finding will lean on.
- If a search returns nothing: run references/query-relaxation.md, adapted to academic search syntax (drop field/date filters first, then reduce to core terms). Log full exhaustion as a gap — a thin-coverage area (e.g., non-arXiv CS venues, non-biomedical topics) is a real, reportable limitation, not a search failure to hide.
- Check for retraction/correction status before recording — a retracted paper is excluded outright, not just tiered down; a correction changes what the record should quote.
- Extract publication date — journal/preprint metadata is normally structured and reliable. Use
published_at for the version you actually quoted, and modified_at when a revised version exists (a preprint later published with different numbers is a revision worth recording, not a footnote).
- A paper is its own root:
root_id: doi:<doi>. The preprint and the published version of the same work share it — quoting both is not corroboration. Independent corroboration means a different study, ideally by a different group.
- Archive per references/citation-rules.md — for papers, a DOI is itself a durable identifier; still archive the specific page/PDF fetched, since DOI resolvers can change what they point to.
- Assign tier per references/source-tiers.md's academic table (1 = peer-reviewed; 2 = preprint; 3 = thesis/workshop paper without full review; 5 = predatory-journal/retracted) and purpose (usually
fact, sometimes implementation for methods papers with reproducible results).
- Write the evidence record per engine/evidence-contract.md,
verification_status: pending. Do not self-verify.
Output
One evidence record per claim, appended to the run's evidence.jsonl.
Common mistakes
| Mistake |
Fix |
| Recording a claim from a paper's abstract when it's load-bearing |
Read the body text; abstracts overstate more often than expected |
| Tiering a preprint as peer-reviewed |
Preprint is always tier 2 until publication is confirmed |
| Citing a paper without checking retraction status |
Check retraction/correction databases before recording |
| Treating a blog's summary of a paper as the paper's own claim |
Fetch the paper directly; if only the summary was reachable, say so in limitations |
| Assuming general web search covers the literature |
Use the actual academic index — web search surfaces summaries, not sources |
1---2name: academic-research3description: Use when the user asks to find research papers, check what a study found, look up peer-reviewed literature, or verify a scientific/technical claim against published research. Triggers on "find papers on", "what does the research say", "peer-reviewed studies on", "academic research", "literature on X". Produces evidence records (DOI/URL + verbatim quote + peer-review status), never conclusions. Do NOT use for a blog's summary or interpretation of a paper (use blog-research, then cross-check against this skill when the claim is load-bearing), or for general web content (use web-research).4---56# Academic Research78## Overview910Collects evidence from peer-reviewed papers and preprints. The defining risk here is exactly acceptance test 4 in this repo's test suite: a blog post misreading or overstating what a paper actually found. This skill's job includes resolving that conflict in the paper's favor when it arises — the root always outranks a derivative's misreading (engine/conflict-resolution.md's derivation check).1112**Layer rule:** produces evidence, not results. Synthesis and confidence status are the orchestrator's job.1314## When to use1516Direct use: "find studies on X", "what's the peer-reviewed evidence for Y". As a component: orchestrator dispatches this whenever a fact-type claim has a scientific/technical basis worth checking against the actual literature rather than someone's summary of it.1718Don't use for: a secondary summary/interpretation as if it were the paper itself (fetch the paper directly, or flag when only the summary was accessible), general web content with no scholarly indexing (→ web-research).1920## Workflow21221. **Search the actual literature index**, not general web search — arXiv, PubMed, DOI resolution, or whatever academic search surface is available. General web search will miss paywalled or properly-indexed papers a dedicated search catches, and will surface blog summaries instead of the source.232. **Distinguish peer-reviewed from preprint from non-reviewed.** A preprint (arXiv, bioRxiv, medRxiv) is real research not yet vetted — usable, but tier 2, not tier 1. Never present preprint findings with peer-reviewed confidence.243. **Read past the abstract for load-bearing claims.** Abstracts compress and sometimes overstate; a claim central to the finding (a specific number, a causal claim, a stated limitation) should be checked against the actual body text before being recorded as the paper's claim — this is the single most common source of subtly wrong numbers in literature synthesis. Skimming the abstract is acceptable only for context/orientation claims, not for anything a `fact` finding will lean on.254. **If a search returns nothing:** run references/query-relaxation.md, adapted to academic search syntax (drop field/date filters first, then reduce to core terms). Log full exhaustion as a gap — a thin-coverage area (e.g., non-arXiv CS venues, non-biomedical topics) is a real, reportable limitation, not a search failure to hide.265. **Check for retraction/correction status** before recording — a retracted paper is excluded outright, not just tiered down; a correction changes what the record should quote.276. **Extract publication date** — journal/preprint metadata is normally structured and reliable. Use `published_at` for the version you actually quoted, and `modified_at` when a revised version exists (a preprint later published with different numbers is a revision worth recording, not a footnote).287. **A paper is its own root:** `root_id: doi:<doi>`. The preprint and the published version of the same work share it — quoting both is not corroboration. Independent corroboration means a *different* study, ideally by a different group.298. **Archive** per references/citation-rules.md — for papers, a DOI is itself a durable identifier; still archive the specific page/PDF fetched, since DOI resolvers can change what they point to.309. **Assign tier** per references/source-tiers.md's academic table (1 = peer-reviewed; 2 = preprint; 3 = thesis/workshop paper without full review; 5 = predatory-journal/retracted) and **purpose** (usually `fact`, sometimes `implementation` for methods papers with reproducible results).3110. **Write the evidence record** per engine/evidence-contract.md, `verification_status: pending`. Do not self-verify.3233## Output3435One evidence record per claim, appended to the run's `evidence.jsonl`.3637## Common mistakes3839| Mistake | Fix |40|---|---|41| Recording a claim from a paper's abstract when it's load-bearing | Read the body text; abstracts overstate more often than expected |42| Tiering a preprint as peer-reviewed | Preprint is always tier 2 until publication is confirmed |43| Citing a paper without checking retraction status | Check retraction/correction databases before recording |44| Treating a blog's summary of a paper as the paper's own claim | Fetch the paper directly; if only the summary was reachable, say so in `limitations` |45| Assuming general web search covers the literature | Use the actual academic index — web search surfaces summaries, not sources |