| name | finding-prior-art |
| description | Discipline for finding and reasoning about prior art, related papers, intellectual lineage, and similar codebases without fabricating. Use whenever assessing whether a research idea is novel, what work is nearest to it, what a paper builds on or influenced, or what code already does something, including the /prior-art, /similar-code, and /lineage commands. Centers on the `scholar` retrieval engine and the rule that no paper or claim is ever asserted from memory. |
Finding prior art without fabricating
The failure mode this skill exists to prevent: confidently naming a paper that
does not exist, or asserting what a real paper "shows" from its title alone.
That is the single worst thing a literature tool can do, because it is
plausible, and a wrong novelty call sends a project in the wrong direction.
The one rule
Never name a paper, state what it says, or claim something is novel from
memory. Every paper you mention must come from a scholar result (which came
from a real API call) or from a source you actually fetched and read. Every
claim about what a paper does must be backed by its abstract or full text,
quoted. If you have not retrieved it, you do not know it exists.
When retrieval returns nothing, say "nothing found for this query" and broaden.
Do not fill the silence with a paper you half-remember.
The engine: scholar
The bundled retrieval engine is at
~/.local/share/anu/plugins/ideas/bin/scholar (also on PATH as scholar
after a shell reload). It only ever returns real records carrying a real
identifier (OpenAlex ID, DOI, OA PDF URL, or GitHub URL). Add --json to any
command to get machine-readable output for screening.
scholar search "<query>" [--limit N] [--since YEAR] [--open-access]
scholar resolve <doi|arxiv-id|openalex-id|url|"title">
scholar similar <handle> [--limit N] # adjacent papers
scholar refs <handle> [--limit N] # what it builds on
scholar cites <handle> [--limit N] # what cites it
scholar code "<query>" [--limit N] [--lang L]
Backed by OpenAlex (papers) and GitHub (code). It does not use Semantic
Scholar (rate-limited without a key) or the arXiv API (unreachable in
sandboxes); OpenAlex indexes arXiv and returns PDF URLs anyway.
Search is a screen, not an answer
A scholar search hit gives you a title and (usually) an abstract. That is
enough to decide whether to read, never enough to claim what a paper does or
doesn't address. For any load-bearing judgment ("this is the same idea", "no
one has done X"), fetch the source (oa_pdf URL via WebFetch) and quote the
relevant passage. Treat the abstract as the claim and the full text as the
evidence.
Assessing novelty honestly
You cannot prove a negative from a handful of searches. "This is novel / no one
has done this" is almost always overreach. Instead:
- Search the idea phrased several ways: terminology varies across
subfields, and one query never covers the space. Pull the seed paper's
similar and cites too; neighbors surface work keyword search misses.
- Report the nearest prior work and exactly how the idea differs from
each: the specific axis (method, regime, scale, assumption) that is new.
- Frame the gap as "the nearest work I found is X, which differs in Y; I did
not find work that does Z", bounded by what you searched, never a blanket
"this is unexplored."
- State what you searched and what you might have missed. Honesty about
coverage is part of the result.
Classify closeness explicitly
Don't blur "the same" into "related". For each neighbor, say which it is:
SAME (the idea already exists), OVERLAPPING (shares the core, differs in
a part), ADJACENT (same neighborhood, different question), CONTEXT
(background, not competing). A list of "related papers" with no closeness
judgment is low-value; the judgment is the product.
Use a fresh-context screener for novelty calls
When the stakes are a novelty claim, dispatch the read to the screener
agent (this plugin) rather than judging it yourself in the same context that has
been steeping in the user's idea (a reader hoping the idea is novel rationalizes
overlap away). The screener fetches the candidate cold and returns a closeness
verdict with a quote. Give it the idea and the candidate's id/DOI.
Known data caveats (handle, don't paper over)
- OpenAlex has duplicate records of the same paper (e.g. a publisher copy
and a RePEc copy under different
W ids). scholar similar dedups by id,
DOI, and normalized title, but if you merge results yourself, dedup again.
- Some works have no abstract in OpenAlex (publisher restriction). When
abstract is empty, fetch the PDF to screen. Do not infer content from the
title.
- Preprints often lack parsed references in OpenAlex, so
scholar refs on
an arXiv-only paper may be thin or empty. Say so; don't invent a reference
list. cites and similar still work.
- Old arXiv ids can mis-resolve. Bare pre-2022 arXiv ids often have no
OpenAlex DOI;
scholar resolve refuses them and asks for the DOI or title
rather than returning an unrelated paper. Always sanity-check the resolved
title against what you asked for.
- Citation counts and years are real (from the API) and good for ranking
foundational vs recent work, but a high count means influential, not
correct or most-relevant.
Output
Lead with the answer to the question actually asked (is this done? what's
nearest? what's the lineage?), then the grounded evidence. Every paper named
carries its identifier so the reader can open it. A prior-art report with
unlinkable papers has failed its one job.