Paper Review
Overview
A pre-submission novelty + reviewer pass that grounds every judgment in a retrieved paper.
Naive LLM review asserts novelty from memory and invents citations; this skill retrieves real
prior work, quotes it, and cross-checks the draft's bibliography — then surfaces (without
adjudicating) any overlap with a lab or co-author line that has to be disclosed.
Core principle: a novelty claim is only as good as the paper it is checked against. Every
verdict cites a record retrieved this run with a verbatim snippet, or it is marked
unverified — the analogue of techne:paper's "never hand-type a result number".
When to use
- A first-author draft is approaching submission and needs a distinctness + related-work check.
- "Review
<name> for novelty", "what am I missing", "is C2 actually new".
- NOT for copy-editing prose; NOT for a paper with no stated contributions yet (scaffold first
with
techne:paper).
Inputs
<name> — the paper directory under papers/ (e.g. velocity-fl-systems).
--from <repo> (optional) — the source code repo; grounds quantitative claims against its
harvest output.
Config
Read ## paper-review from <repo>/.claude/skill-context.md: lab_line (overlap source of
truth, default LINEAGE.md), retrieval (default OpenAlex + web; Semantic Scholar only if
S2_API_KEY is set), mailto (OpenAlex polite pool, default git config user.email), report
(default papers/<name>/novelty-review.md). Sensible defaults if absent.
Procedure
Refuse if papers/<name>/ does not exist. Locate main.tex and its \input files. Then run a
mandatory citation-integrity gate, then OpenNovelty's four-phase pipeline (arXiv 2601.01576):
Citation integrity (MANDATORY — do this first). Before assessing novelty, verify the
draft's own citations are real. Extract every \cite key and its references.bib entry;
verify each against an authoritative record — arXiv ids via the arXiv API, DOIs / venues via
OpenAlex or DOI content-negotiation. See citation-verify.
Confirm the id/DOI resolves to the same paper (title match), with correct authors and year,
and read the abstract to check any claim the draft makes about that work ("parameter-free",
"first to"). A fabricated id, a mismatched title, or an unsupported claim-about-a-paper is a
stop-ship finding — fix or flag it before anything else. A single wrong citation sinks the
paper.
Extract claims. Parse main.tex for the title, abstract, and stated contributions (the
% (C1) … or \item list after "Our contributions" / "In this paper"). Collect flag-claims:
first, novel, outperforms, state-of-the-art, and any N× / N% number. Show the
extracted contribution list to the user to confirm or edit before retrieving — the claims
drive everything downstream.
Retrieve. Per contribution, build a focused query from its noun phrases and search
OpenAlex; collect {title, year, DOI, citations, abstract}. Rank by relevance, then citation
count; web-search fills gaps. Log every query. See retrieval recipes.
Only derived keyword queries leave the machine — never the paper text (drafts are private,
often double-blind).
Compare — each contribution against its top candidates. Ground every judgment in a
verbatim snippet from the retrieved abstract. Classify: novel / incremental / overlaps-with
[cite]. A verdict with no retrieved record + snippet is unverified, never a confident
assertion.
Synthesize into the configured report from
the template:
- §0 Citation integrity — each cited work → verified (source) / mismatch-fixed /
stop-ship; stop-ship findings first. No fabricated or mischaracterized citations.
- §1 Novelty — per contribution: verdict + closest prior work (cited + snippet) + what is
distinct.
- §2 Related-work gaps — retrieved papers absent from
references.bib (cross-check DOIs
and titles per the recipe). The closely-related work the author overlooked.
- §3 Claim-support — each flag-claim → supported / unsupported / overclaim. First-ness
from retrieval; quantitative claims against the
--from repo's harvest output (else flag
"verify against source").
- §4 Lab-overlap — surface, do not adjudicate. Parse
lab_line; list adjacent lab papers
and which draft claims overlap; emit the COPE disclosure checklist. Never render a
too-close / go-no-go verdict — that boundary is the author's and advisor's to agree.
- § Provenance — every query and the records it returned, re-runnable.
Report the path + a one-line summary (N contributions, M novel / K overlaps, P uncited gaps,
lab-overlap: needs-discussion). Never edit the paper — this pass is advisory.
Common mistakes
- Trusting the draft's existing citations. Verify them too (§0) — a seed bib or a recalled
citation can be fabricated or mischaracterized. arXiv id → arXiv API; venue → OpenAlex / DOI; a
claim about a paper → its abstract. A single wrong citation sinks the paper.
- Asserting novelty from memory. The failure this skill exists to stop. No verdict without a
retrieved record + a quoted snippet logged in § Provenance.
- Inventing or half-remembering a citation. A fabricated reference is worse than none. If a
search did not return it, do not cite it.
- Eyeballing the bibliography. §2 gaps come from parsing
references.bib (DOIs + titles) and
comparing to the retrieved set — not from guessing what is already cited.
- Adjudicating the lab boundary. §4 surfaces adjacency + the disclosure checklist and stops.
Scoring it go/no-go usurps a human agreement.
- Relying on keyless Semantic Scholar. It returns
429. OpenAlex is primary; S2 only with a
key.
Why this skill is careful
The output is one advisory artifact — novelty-review.md — and it never touches the draft. Its
value is that every line can be checked: a cited paper, a quoted snippet, a logged query. Sibling
of techne:paper, which scaffolds the draft this one reviews.
1---2name: paper-review3description: Use when a draft research paper needs a pre-submission novelty and reviewer pass — whether its contributions are actually new, what related work it misses, whether its claims hold up, and whether it overlaps a lab or co-author line that must be disclosed. Triggers include "review my paper for novelty", "is this contribution novel", "novelty check before submitting", "what related work am I missing", "verify my citations are real", "paper-review <name>".4---56# Paper Review78## Overview910A pre-submission **novelty + reviewer pass** that grounds every judgment in a *retrieved* paper.11Naive LLM review asserts novelty from memory and invents citations; this skill retrieves real12prior work, quotes it, and cross-checks the draft's bibliography — then surfaces (without13adjudicating) any overlap with a lab or co-author line that has to be disclosed.1415**Core principle:** a novelty claim is only as good as the paper it is checked against. Every16verdict cites a record retrieved this run with a verbatim snippet, or it is marked17**unverified** — the analogue of `techne:paper`'s "never hand-type a result number".1819## When to use2021- A first-author draft is approaching submission and needs a distinctness + related-work check.22- "Review `<name>` for novelty", "what am I missing", "is C2 actually new".23- NOT for copy-editing prose; NOT for a paper with no stated contributions yet (scaffold first24 with `techne:paper`).2526## Inputs2728- `<name>` — the paper directory under `papers/` (e.g. `velocity-fl-systems`).29- `--from <repo>` (optional) — the source code repo; grounds quantitative claims against its30 harvest output.3132## Config3334Read `## paper-review` from `<repo>/.claude/skill-context.md`: `lab_line` (overlap source of35truth, default `LINEAGE.md`), `retrieval` (default OpenAlex + web; Semantic Scholar only if36`S2_API_KEY` is set), `mailto` (OpenAlex polite pool, default `git config user.email`), `report`37(default `papers/<name>/novelty-review.md`). Sensible defaults if absent.3839## Procedure4041Refuse if `papers/<name>/` does not exist. Locate `main.tex` and its `\input` files. Then run a42mandatory citation-integrity gate, then OpenNovelty's four-phase pipeline (arXiv 2601.01576):43440. **Citation integrity (MANDATORY — do this first).** Before assessing novelty, verify the45 draft's *own* citations are real. Extract every `\cite` key and its `references.bib` entry;46 verify each against an authoritative record — arXiv ids via the arXiv API, DOIs / venues via47 OpenAlex or DOI content-negotiation. See [citation-verify](references/citation-verify.md).48 Confirm the id/DOI resolves to the *same* paper (title match), with correct authors and year,49 and read the abstract to check any claim the draft makes *about* that work ("parameter-free",50 "first to"). A fabricated id, a mismatched title, or an unsupported claim-about-a-paper is a51 **stop-ship** finding — fix or flag it before anything else. A single wrong citation sinks the52 paper.53541. **Extract claims.** Parse `main.tex` for the title, abstract, and stated contributions (the55 `% (C1) …` or `\item` list after "Our contributions" / "In this paper"). Collect flag-claims:56 `first`, `novel`, `outperforms`, `state-of-the-art`, and any `N×` / `N%` number. Show the57 extracted contribution list to the user to confirm or edit before retrieving — the claims58 drive everything downstream.59602. **Retrieve.** Per contribution, build a focused query from its noun phrases and search61 OpenAlex; collect {title, year, DOI, citations, abstract}. Rank by relevance, then citation62 count; web-search fills gaps. Log every query. See [retrieval recipes](references/retrieval.md).63 **Only derived keyword queries leave the machine — never the paper text** (drafts are private,64 often double-blind).65663. **Compare** — each contribution against its top candidates. Ground every judgment in a67 verbatim snippet from the retrieved abstract. Classify: novel / incremental / overlaps-with68 [cite]. A verdict with no retrieved record + snippet is **unverified**, never a confident69 assertion.70714. **Synthesize** into the configured report from72 [the template](templates/novelty-review.md.tmpl):73 - **§0 Citation integrity** — each cited work → verified (source) / mismatch-fixed /74 **stop-ship**; stop-ship findings first. No fabricated or mischaracterized citations.75 - **§1 Novelty** — per contribution: verdict + closest prior work (cited + snippet) + what is76 distinct.77 - **§2 Related-work gaps** — retrieved papers absent from `references.bib` (cross-check DOIs78 and titles per the recipe). The closely-related work the author overlooked.79 - **§3 Claim-support** — each flag-claim → supported / unsupported / overclaim. First-ness80 from retrieval; quantitative claims against the `--from` repo's harvest output (else flag81 "verify against source").82 - **§4 Lab-overlap — surface, do not adjudicate.** Parse `lab_line`; list adjacent lab papers83 and which draft claims overlap; emit the COPE disclosure checklist. **Never render a84 too-close / go-no-go verdict** — that boundary is the author's and advisor's to agree.85 - **§ Provenance** — every query and the records it returned, re-runnable.8687Report the path + a one-line summary (N contributions, M novel / K overlaps, P uncited gaps,88lab-overlap: needs-discussion). **Never edit the paper** — this pass is advisory.8990## Common mistakes9192- **Trusting the draft's existing citations.** Verify them too (§0) — a seed bib or a recalled93 citation can be fabricated or mischaracterized. arXiv id → arXiv API; venue → OpenAlex / DOI; a94 claim *about* a paper → its abstract. A single wrong citation sinks the paper.95- **Asserting novelty from memory.** The failure this skill exists to stop. No verdict without a96 retrieved record + a quoted snippet logged in § Provenance.97- **Inventing or half-remembering a citation.** A fabricated reference is worse than none. If a98 search did not return it, do not cite it.99- **Eyeballing the bibliography.** §2 gaps come from parsing `references.bib` (DOIs + titles) and100 comparing to the retrieved set — not from guessing what is already cited.101- **Adjudicating the lab boundary.** §4 surfaces adjacency + the disclosure checklist and stops.102 Scoring it go/no-go usurps a human agreement.103- **Relying on keyless Semantic Scholar.** It returns `429`. OpenAlex is primary; S2 only with a104 key.105106## Why this skill is careful107108The output is one advisory artifact — `novelty-review.md` — and it never touches the draft. Its109value is that every line can be checked: a cited paper, a quoted snippet, a logged query. Sibling110of `techne:paper`, which scaffolds the draft this one reviews.