Skill instructions
audit-a-bibliography4.17 KB
View saved version →
---
name: audit-a-bibliography
description: Check a whole reference list in one pass — which entries are real, which are retracted, which are ambiguous, and which cannot be confirmed. Use when the user pastes a bibliography, a reference list from a draft or a published paper, or a set of sources from an AI-generated answer and wants them checked before relying on them.
metadata:
short-description: Check every reference in a list at once
---
# Audit a bibliography
Check every entry of a reference list against the published record in one call.
`audit_bibliography` takes up to 25 citations and returns a verdict for each, in
the order given, plus a tally.
An entry that cannot be confirmed is reported as unconfirmed. Never substitute
the closest real paper, and never supply a missing title, page, year, venue, or
DOI from memory — that is how fabricated references end up looking real.
## Quick start
1. Split the list into individual references, one string each. Keep each
reference exactly as written, in whatever style it uses (author-year, numbered
physics style, quoted titles). Abbreviated journal references such as
`Phys. Rev. Lett. 103, 086001 (2009)`, DOIs, and arXiv or PubMed IDs are all
supported and should not be expanded first.
2. Set `context`:
- `draft` — the user's own manuscript, or sources from an AI answer.
- `published` — the reference list of a paper that is already published.
3. Call `audit_bibliography` with up to 25 references. For a longer list, send
the next 25 in a second call.
4. If any entries come back `not_checked`, call again with only those entries.
## Reading the result
Each entry in `entries` has a `verdict`:
- `verified` — the paper exists and matches. `resolved_by` says how (`doi`,
`paper_id`, `title_search`, or `biblio` for an abbreviated reference matched on
its journal locator). All of these are verifications. Quote the canonical title
from `paper.title`. When `match_confidence` is below 0.8, show the canonical
title next to the reference as written so the user can confirm it is the same
paper. `matched_on_fields` lists what agreed with the record; `first_author`
there means the cited author settled a choice between papers sharing a title.
- `retracted` — the paper exists and is retracted. Lead with that.
- `ambiguous` — several papers match about equally. List the `candidates` and
ask which was meant.
- `metadata_mismatch` — a paper matches part of the citation, but a detail
disagrees with the record. Two forms:
- with `paper` — the paper exists and was found at the cited journal, volume
and page, by the cited first author, but the cited title differs. `reason`
quotes the record's title; report the published title as the fix.
- without `paper` — the year, first author or journal disagrees. Show both,
and the `candidates` when present.
- `not_found` — nothing in the index matches. Quote `reason`.
- `not_checked` — not a verdict. Either the call ran out of time before reaching
this entry, or the paper index did not respond for it ("The lookup failed").
It was not charged; send it again in a second call.
`tally` counts each verdict. `notes` carries caveats; repeat the ones that bear on
what you claim.
## Never
- Fill in or correct a reference from memory. If an entry is `not_found`, the
answer is that it could not be confirmed.
- Treat `not_found` as proof of fabrication. It is strong evidence for a
mainstream journal article and weak evidence for a book, chapter, thesis,
report, or very recent preprint. Say which case the entry looks like.
- Report `not_checked` entries as missing.
## Reporting
1. A table or list in the user's order: the reference as given, the verdict, and
for verified entries the canonical title, year, venue, and DOI.
2. The tally.
3. For `draft`: say that retracted, mismatched, and unconfirmed references need
attention before submission. For `published`: say that unconfirmed lines could
not be Preview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.
choose-a-venue2.94 KB
View saved version →
---
name: choose-a-venue
description: Find the journals and venues that actually publish a topic — ranked by how much of the literature they carry, whether that share is growing, and facts about each venue such as open access, publication fees, and citation statistics. Use when the user asks where work on a topic gets published, which journals to consider for a paper, or which open-access venues cover a subject.
metadata:
short-description: Find the venues that publish a topic
---
# Choose a venue
Show where the literature on a topic is published. `find_venues` counts every
paper matching the topic by venue, so the ranking reflects what each journal
actually publishes rather than its reputation.
This informs a choice; it does not make it. Report facts about each venue and
leave the judgement to the user.
## Quick start
1. Reduce the user's topic to a **short noun phrase of two to six words**, as for
`survey-a-research-field`.
2. Call `find_venues` once. Add `year_from` if the user cares only about recent
publishing.
3. Filter the returned venues by what the user asked for — open access, fee
ceiling, excluding preprint servers — using the fields below.
## Reading the result
Each entry in `venues`:
- `papers` and `share_pct` — how much of the topic's literature appears there.
- `recent_papers`, `prior_papers`, `trend` — whether the venue is publishing more
or less on the topic than three years earlier.
- `venue_type` — `journal`, `repository`, `conference`, and so on. Repositories
and preprint servers are not peer-reviewed venues; say so if one ranks high.
- `is_oa`, `is_in_doaj`, `apc_usd` — whether the venue is fully open access,
whether it is listed in the open-access journal directory, and its listed
article processing charge in US dollars, when known.
- `publisher`, `issn` — identifying facts.
- `mean_citedness_2yr` and `h_index` — citation statistics for the venue as a
whole. `mean_citedness_2yr` is the average citations per paper over two years.
It is **not** the Journal Impact Factor; never call it that.
`notes` carries caveats about the corpus and the venue data; repeat the relevant
ones.
## Never
- Call any number here an impact factor, or rank venues by prestige.
- Call a venue predatory or low quality. If `is_in_doaj` is false for an
open-access journal, report that fact and let the user weigh it.
- Predict acceptance chances or review times — the result says nothing about
either.
- Add venues from memory that are not in the result.
## Reporting
1. The corpus size behind the ranking, and what it was matched on.
2. The top venues with papers, share, and trend.
3. The facts relevant to the user's constraints — open access, fees, peer review.
4. Caveats from `notes`.
## Related workflows
- To size the field itself, use `survey-a-research-field`.
- To see the neighbouring fields around the topic, use `map-a-field`.
- To check references before submitting, use `audit-a-bibliography`.
Referenced files: 2 — file references are metadata, not package contents.
map-a-field4.43 KB
View saved version →
---
name: map-a-field
description: Map the themes a research field is made of and the neighbouring fields around it — which neighbours are growing, which the field is moving toward, and which are fading. Use when the user asks which fields are adjacent to a topic, where a field is heading, which nearby areas are growing, or wants to explore around a theme from an earlier map.
metadata:
short-description: Map a field's themes and its growing neighbours
---
# Map a field
Show what a research field is made of and what lies around it. `field_map` finds
the core themes of a topic, then the neighbouring themes that share papers with
them, and says for each whether it is growing, fading, or one the field is moving
toward. Every theme comes with a position to plot it at.
After the first step the field is its core themes, not the phrase the user typed,
so the map holds up even when the wording is loose.
## Quick start
1. Give exactly one of:
- `topic` — a **short noun phrase of two to six words**, as for a survey:
"Which fields are next to solid-state battery electrolytes?" becomes
`solid state battery electrolytes`;
- `theme_id` — a theme from an earlier `my_position` or `field_map` result, to
explore around it.
2. Call `field_map` once.
3. Read `field.core_coverage_pct` before describing the field (see below).
4. Draw the map when you can (see Drawing), then report.
## Reading the result
- `field` — what was searched (`searched_for`, `matched_on`), how many papers
matched (`corpus_papers`), and `core_coverage_pct`: the share of those papers
the core themes cover. Low coverage means the phrase spans several fields; say
so, and offer to map a narrower phrase or one of the core themes.
- `themes[].role` — `core` (the field itself) or `neighbour`.
- `themes[].status`:
- `core` — a core theme. A `slowing` tag means it is declining.
- `converging` — a close neighbour that is growing and taking a larger share of
the field's papers: the field is moving toward it.
- `growing_neighbour` — a neighbour with `accelerating` momentum.
- `fading_neighbour` — a neighbour with `declining` momentum.
- `neighbour` — everything else.
- `share_of_field_pct` — for a core theme, its share of the field's papers; for a
neighbour, the share of core papers also tagged with it.
`prior_share_of_field_pct` is the same for the earlier window.
- `drift` — `gaining`, `losing`, `steady` or `new`: whether the field's papers are
moving toward a neighbour, between the two windows of `segment_window`.
- `similar`, `momentum`, `momentum_vs_area` and `why` read as in
`map-my-research`: `similar` means "tagged on the same papers", `unknown`
momentum means too few papers to say, and `why` is the rule and its numbers in
words.
- `areas` — the surrounding areas, how many themes each holds, and how many of
those are growing.
- `links` — from each neighbour's closest core theme; `strength` repeats
`similar`.
- `notes` — caveats; repeat the ones that bear on what you say.
## Drawing
Draw the map by default when you can: an artifact or code in Claude, the Python
tool in ChatGPT. When you cannot draw, give a table instead.
- **Position:** the given `x` and `y`. Never recompute or move a theme.
- **Bubble size:** `papers_recent`, on a log scale.
- **Fill:** `momentum` in three steps (accelerating, steady, declining); grey for
`unknown` and `too_new`.
- **Outline:** thick for `core`, dashed for `converging`.
- **Sticks:** `links`, thicker for a higher `strength`.
- **Labels:** core and converging themes only; list the rest in a legend or table.
Never draw a value that is not in the response.
## Reporting
1. **What the field is made of** — the core themes, their shares and momentum,
and the coverage.
2. **Where it is heading** — the `converging` neighbours, each with its `why`.
3. **Other growing neighbours.**
4. **Fading neighbours.**
5. **The areas around it** — from `areas`.
6. **Caveats** — from `notes`.
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.
map-my-research5.53 KB
View saved version →
---
name: map-my-research
description: Show where a researcher's published work sits among the themes around it — their home themes and whether those are growing, which fields build on their work, close and growing themes they have not published in (blind spots), and nearby areas they could contribute to. Use when the user asks where their research stands, what they might be missing, which growing areas are close to their work, or how their work connects to other fields.
metadata:
short-description: Map where your research stands and its blind spots
---
# Map my research
Place a researcher's published work on a map of the themes around it.
`my_position` returns every theme near their work with a status (home, blind
spot, audience, and so on), the counts behind that status, whether the theme is
growing, and a position to plot it at. The answer is a picture of where the work
stands, drawn from the published record.
The blind spots are usually what the user came for: close, growing themes where
they have not published. Present them as a description of the landscape, never
as advice on what to work on next.
## Quick start
1. Ask for the name they publish under **and** their institution, or an ORCID.
A name alone often matches several people.
2. Call `my_position` once.
3. If `found` is false and `candidates` came back, list them — name,
affiliation, main topic, number of works — and ask which one is right. Never
pick one silently. Then call again with the chosen `author_id`.
4. If the user says their work is split across records (another spelling, a
former name), pass the other records' ids from `candidates` as
`extra_author_ids`.
5. Draw the map when you can (see Drawing), then report.
## Reading the result
- `researcher` — the record that was mapped: name, current affiliations, how many
papers were placed (`placed_papers`, since `placed_since`), and how many records
were merged. Say which record you mapped.
- `themes[].status`:
- `home` — where they publish most. A `slowing` tag means the theme itself is
declining, not their work.
- `secondary` — a smaller theme they publish in regularly.
- `blind_spot` — close to their home themes, growing, and they have at most one
paper there and few citation links either way.
- `under_connected` — very close but not growing, with no papers there.
- `audience` — they do not publish there, but papers there cite their work.
- `draws_on` — their papers cite work there, but they do not publish there.
- `other` — everything else on the map.
- `why` — the rule and its numbers in words. Quote it rather than restating the
numbers yourself.
- `similar` (`low` / `medium` / `high`) — how often the theme is tagged on the same
papers as their home themes. It means "tagged together", not "the same subject".
- `your_link` — a personal measure: how much citing runs between their papers and
the theme, for its size. It is about this researcher, not about how the two
fields relate.
- `momentum` — `accelerating`, `steady` or `declining` over `segment_window`;
`too_new` means not enough history and `unknown` means too few papers to say.
`momentum_vs_area` says whether the theme grows `faster` or `slower` than its
own area.
- `yours`, `yours_recent`, `cites_you`, `you_cite` — their papers in the theme,
citing papers from it, and papers in it they cite.
- `reach` — how many papers cite their work (`citing_papers`, since `since`), the
share from outside their home areas (`outside_home_areas_pct`), and the areas
citing them most (`top_citing_areas`).
- `notes` — caveats. Repeat the ones that bear on what you say: themes are broad,
automatically assigned tags; blind spots are not advice; an author record can
merge two people or split one.
## Drawing
Draw the map by default when you can: an artifact or code in Claude, the Python
tool in ChatGPT. When you cannot draw, give a table instead.
- **Position:** the given `x` and `y`. Never recompute Preview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.
profile-a-researcher3.94 KB
View saved version →
---
name: profile-a-researcher
description: Summarise a researcher's published work from the public publication record — what they publish on, how their topics have shifted, where they publish, their output and citations over time, and their frequent co-authors. Use when the user asks what a named researcher works on, how their research focus has changed, or wants an overview of someone's publications before reading or citing their work — a collaborator, a reviewer, or a prospective advisor. For the user's own work and where it stands among the themes around it, use map-my-research instead.
metadata:
short-description: Summarise a researcher's published work
---
# Profile a researcher
Describe a researcher's published work using only the public publication record.
`profile_researcher` resolves a name, ORCID, or author id to one author record
and returns counts over everything that author has published.
This is about the work, not the person. Report what the publication record
shows; do not add biographical details, personal characteristics, or opinions
about the researcher.
Use it for **another** researcher: a possible collaborator, a reviewer, a
prospective advisor. When the user asks about their own work, where it stands,
or what they might be missing, use `map-my-research`, which places the work among
the themes around it.
## Quick start
1. Call `profile_researcher` with the name as the user gave it. Add
`institution` when the user mentioned one — it is the most reliable way to
pick the right person among namesakes. An ORCID resolves exactly.
2. If `found` is false and `candidates` is non-empty, list them with their
affiliation, main topic, and number of works, and ask which one was meant.
Never pick one silently.
3. If `found` is false and there are no candidates, say the researcher could not
be found and quote `reason`.
## Reading the result
- `profile.topics` — what the researcher publishes on, with `recent_papers`,
`prior_papers`, and a `trend` per topic over the windows named in
`profile.segment_window`. Topics that are `accelerating` or `too_new` (present
only in the recent window) show where their work is heading; that answers
"has their focus shifted". `unknown` means too few papers in both windows to
call a trend — often a topic they worked on earlier in their career.
- `profile.output_by_year` — papers and citations per year.
- `profile.venues` — where they publish most.
- `profile.affiliations` — institutions on their papers, with the years each
appears. Affiliation data comes from paper metadata and can lag real moves.
- `profile.top_coauthors` — the authors they share the most papers with.
- `profile.h_index`, `profile.i10_index`, `profile.works_count`,
`profile.cited_by_count` — standard counts. Author records are assembled
automatically and can merge two people with the same name or split one person
into several records; `notes` flags when that looks likely.
## Never
- Rank, rate, or judge a researcher, or compare people by h-index. The counts
depend on field, career length, and record quality.
- Add contact details, personal information, or anything not in the result.
- Infer someone's opinions, plans, or current employment from their papers.
- Present a candidate as the requested person without the user confirming it.
## Reporting
1. **Who** — the resolved name, current affiliation as recorded, and ORCID if
present.
2. **What they work on** — the main topics, and which are growing.
3. **Output** — papers and citations over time, and where they publish.
4. **Collaboration** — frequent co-authors.
5. **Caveats** — anything in `notes` about record quality.
## Related workflows
- To place the user's own work among the themes around it, use
`map-my-research`.
- To map the field around this researcher's work, use `map-a-field`.
- To see the field around their work, use `survey-a-research-field`.
- To look at one of their papers in depth, use `trace-citation-
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.
survey-a-research-field7.52 KB
View saved version →
---
name: survey-a-research-field
description: Size and characterise a research area from exact publication counts — how many papers exist, whether output is growing or fading, which sub-areas are growing fastest, which disciplines, countries, and sectors produce it, who funds it, where it is published, and what to read first. Use when the user asks how large, how active, or how crowded a field is, wants an overview of a topic's literature, or is deciding whether to enter an area.
metadata:
short-description: Measure a research field by exact publication counts
---
# Survey a research field
Describe a body of literature by counting it. `survey_literature` returns exact
counts over every paper matching the topic — not a sample — so the answer can
state how many papers exist, how that number moved year by year, and who
produced them.
The counts are the substance here. A list of relevant papers comes back too, but
it is the smaller half of the answer, and leading with it wastes what the tool is
for.
## Quick start
1. Reduce the user's question to a **short noun phrase of two to six words**.
"How much work has been done on solid-state electrolytes for lithium metal
batteries?" becomes `solid state electrolytes lithium metal`.
2. Call `survey_literature` once. Add `year_from` or `year_to` only if the user
asked about a period.
3. Read `corpus.total_papers` together with `corpus.matched_on` before saying
anything about size — the second changes what the first means.
4. Lead with size and trend, then composition, then the reading list.
5. Repeat every caveat in `notes` that bears on what you claim.
## Choosing the query
The search requires **every** word to appear, so each extra word shrinks the
corpus, and question words are stripped before searching.
- Drop question framing, verbs, and articles: keep the subject.
- Keep the phrase specific enough to mean one field and no more.
- If `total_papers` is 0 or in the low single digits, the terms were too narrow.
Retry once with the two or three most central words, and tell the user you
broadened it and to what.
- If the number looks implausibly large for the subject, the terms were too
generic. Retry with the distinguishing term restored.
Never present a retry as a different question. State which phrase produced the
numbers you are reporting; `corpus.searched_for` shows what was actually
searched after stripping.
When the question is how big a field is, one phrasing gives one count, and a
field rarely has one name. Try two or three common phrasings and report the
range, with the phrase behind each number.
## Reading the result
- `corpus.total_papers` with `corpus.matched_on`:
- `title_and_abstract` — a conservative count. Papers that mention the topic
only in passing are excluded.
- `full_text` — too few papers had the topic in title or abstract, so the
corpus was widened to anything whose full text mentions it. Report the total
as an **upper bound**, because passing mentions are now included.
- `corpus.trend` — `interpretation` is already written from the exact per-year
counts; use it rather than recomputing a trend from `papers_by_year`. Treat
`too_new` as insufficient history, not as a lack of growth. `unknown` means too
few papers, or a year range too short, to call a direction; quote the
interpretation rather than guessing one. The current year is partial, so never
describe a field as declining on the strength of the latest bar alone.
- `corpus.topics` versus `corpus.disciplines` — topics are the **sub-areas the
work divides into**; disciplines are the **fields whose researchers produce
it**. Keep them apart. A topic list answers "what is this field about", and a
discipline list answers "which disciplines work on it". Sub-area labels are
tags assigned automatically, so read them as broad pointers, not exact fields.
- Segment trends — `topics`, `disciplines`, and `venues` segments carry
`recent_papers` (last three coPreview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.
trace-citation-impact6.36 KB
View saved version →
---
name: trace-citation-impact
description: Measure a paper's scholarly impact — whether its citations are accelerating or fading, which research fields adopted it, and what kinds of institutions cite it. Use when the user asks how influential a paper is, whether it is still relevant, where a method spread, or what it was built on.
metadata:
short-description: Measure a paper's impact and where it spread
---
# Trace citation impact
Take one paper and report how the literature has used it: the per-year citation
history, the research fields of the citing papers, the kinds of institution the
citing papers come from, and how that mix is shifting. `graph_hopper` resolves
the paper, looks one step forward to the papers citing it and one step back to
its references, and returns exact counts over the whole citing set.
The value is in the composition of the citing literature, not the total. A
citation count is available anywhere; the mix of fields and institution types is
what shows whether a method travelled beyond its home field. Describe the result
as how one paper connects to the field around it: which areas picked it up, and
which it was built on.
## Quick start
1. Call `graph_hopper` with the paper as a DOI, title, or full citation string.
A `paper_id` from an earlier Pendar result also works and resolves exactly.
2. Leave `direction` as `both` unless the user asked only about influence
(`forward`) or only about foundations (`backward`).
3. Keep `papers_per_direction` small — 10 is usually enough. The breakdowns
already cover every citing paper.
4. Set `include_graph: true` **only** when the user wants a diagram of the
neighbourhood. It is large and adds nothing the breakdowns do not cover.
If `found` is false, present `candidates` and ask which paper was meant. Do not
analyse a paper the user did not ask about.
## Reading the result
- `momentum.trend` is one of `accelerating`, `steady`, `declining`, `too_new`,
`unreliable`, or `unknown`.
- **`unreliable` means report no trend at all.** The paper's per-year history
contradicts itself, which happens when duplicate records of one paper are
merged or split. Say the citation record appears damaged and a trend cannot
be read from it. Do not describe such a paper as declining.
- `too_new` means too little history, not lack of impact.
- Use `momentum.interpretation` as written. `recent_3y_citations` against
`prior_3y_citations` is the evidence behind it.
- `breakdowns_exact` — when true, `field_mix`, `institution_mix`,
`top_citing_venues`, `citing_work_types`, and `citing_funders` are counted over
all `citing_papers_total` citing papers, not a sample. When false, they cover
`citer_sample_size` papers; say so whenever you quote a percentage.
- `field_mix` — the research areas of the citing papers, from a standard
discipline taxonomy. Name both `subfield` and `field`. Subfields far from the
paper's own are where the work crossed over. Do not reduce this to a single
"interdisciplinarity" figure; field boundaries are administrative.
- `field_drift` — each subfield's share of the citing papers in the last three
complete years against the three before (`drift_window` names the years),
with a `share_trend` of `gaining`, `steady`, `losing`, or `new`. This is where
the paper is being picked up now, as opposed to where it was picked up first.
All `steady` is a finding too: the audience has not shifted.
- `institution_mix` — the share of citing papers with at least one author at a
university, company, hospital, government lab, and so on. Shares overlap,
because one paper can have authors in several sectors. A company or hospital
share is the signal that research moved into practice.
- `citing_work_types` — articles, preprints, reviews, and so on. A large preprint
share means the uptake is recent and not yet peer reviewed.
- `citing_funders` — funders acknowledged by the citing papers. Only papers that
report funding are cPreview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.
verify-citations5.37 KB
View saved version →
---
name: verify-citations
description: Check whether a cited paper actually exists, is described correctly, and has not been retracted. Use when the user asks whether a specific paper is real, pastes one or two references, or wants a citation from an AI-generated answer checked before relying on it. For a whole reference list, use audit-a-bibliography.
metadata:
short-description: Confirm a paper exists, matches its citation, and is not retracted
---
# Verify citations
Confirm a cited paper exists in the published record, that the citation
describes it accurately, and that it has not been retracted.
A citation that cannot be found is the finding. Report it as unverified and stop
there — never substitute the closest real paper, and never supply a title, page,
year, venue, or DOI from memory. A confidently wrong reference is worse than an
acknowledged gap.
Check the citation even when the paper is familiar. The user is asking what the
record says, and a well-known paper can still be cited with the wrong year,
venue, or authors, or have been retracted since.
## Quick start
1. One `verify_paper` call per citation. For more than two or three, use
`audit_bibliography` instead (see `audit-a-bibliography`).
2. Pass whatever the user gave, exactly as written: a DOI, an arXiv or PubMed ID,
a bare title, a full citation string in any common style, or a journal-style
abbreviated reference such as
`E. Brown and H. M. Jaeger, Phys. Rev. Lett. 103, 086001 (2009).` Do not tidy
it up first; a `paper_id` from an earlier Pendar result also resolves exactly.
3. Classify the result — verified, ambiguous, retracted, mismatch, or not found —
using the rules below.
4. If the call returns an error saying the paper index did not respond, the
citation was **not checked**. Try once more; if it fails again, say it could
not be checked right now. Never report it as not found.
## Reading the result
- `found: true` — verified, unless `metadata_mismatch` is also true (below).
`resolved_by` says how:
- `doi`, `paper_id` or `pmid` — exact identifier match. An arXiv ID resolves
as `doi`.
- `title_search` — the title matched; check `match_confidence`.
- `biblio` — an abbreviated reference with no title, matched on its journal
locator. `matched_on_fields` lists what agreed (year, volume, page, first
author or journal). This is a full verification. The canonical title is the
one in `paper.title`; quote that, not a title recalled from memory.
- `found: true` with `metadata_mismatch: true` — the paper exists, but the cited
title differs from the record: found at the journal, volume and page given, by
the cited first author. `reason` quotes the record's title. Report it as a
citation to correct, with the published title.
- `match_confidence` below about 0.8 — uncertain even though a paper came back.
Show the resolved `title`, `year`, and `authors` next to what the user wrote.
- `candidates` non-empty — too ambiguous to resolve. List the candidates with
year, venue, and author, and ask which one was meant.
- `found: false` — quote `reason`. Do not offer a different paper as though it
were the one cited, and do not fill in missing details yourself.
- `retraction_warning` non-empty, or `paper.is_retracted: true` — lead with the
retraction and advise against citing it as standing evidence.
- `paper.work_type` of `preprint` — flag that it has not been peer reviewed.
- `is_paratext: true` — the record is an erratum, correction notice, or similar,
not the research article itself. Say so.
- `venue` — facts about the journal: whether it is open access, listed in the
open-access journal directory, and has an ISSN and a publisher. Report these as
facts. Do not call a journal predatory or low quality.
- `paper.impact_percentile` — where the paper's citation count sits among papers
published the same year. Say "among papers from the same year".
- Metadata that disagrees with the citation — a differentPreview of the first 4,000 characters. Read full instructions →
Referenced files: 2 — file references are metadata, not package contents.