TL;DR: These citation AI prompts handle references you already have: converting styles, parsing messy strings, producing BibTeX or CSL-JSON, deduplicating a list, and cross-checking in-text citations. A model can reformat and check. It cannot retrieve a citation or confirm a paper exists. Every prompt below forces it to say so.
What can AI actually do with a citation?
It can move fields around. That is a smaller claim than it sounds, and it is genuinely most of the work.
Bibliographic drudgery is mostly rearrangement. A reference has a fixed set of elements, and a style is a rule for ordering, punctuating and abbreviating them. Converting between styles, extracting a year from a blob of text, spotting that entry 14 and entry 31 are the same paper, noticing that a citation in your text has no matching entry in your list: all of that operates on characters you supplied. That is a language model's home ground.
The failure is at the boundary. Ask for a page range that your record does not contain and the model will not return an empty field. It will return a plausible one, in the right shape, with the right number of digits.
| Feature | Operates on what you paste | Requires knowledge you did not supply |
|---|---|---|
| Convert a reference between styles | Safe, with a missing-field rule | Not applicable |
| Parse a messy string into labelled fields | Safe, with a missing-field rule | Not applicable |
| Produce BibTeX or CSL-JSON from your metadata | Safe, with a missing-field rule | Not applicable |
| Group likely duplicates in a list | Safe, if it shows its evidence | Not applicable |
| Find in-text citations with no list entry | Safe, both texts supplied | Not applicable |
| Audit a draft for uncited claims | Safe, draft supplied | Not applicable |
| Supply a DOI your record is missing | Out of scope | Do not ask |
| Supply a page range your record is missing | Out of scope | Do not ask |
| Confirm a reference points at a real paper | Out of scope | Do not ask |
| Find a source that supports your claim | Out of scope | Do not ask |
Why can't a model just confirm the reference is real?
Because confirming means looking something up, and there is nothing to look in. This is hallucination operating on the most fakeable text a model produces.
We are not going to re-litigate that here, because the measured fabrication rates, the study-by-study numbers and the journal policy language all live in our free literature review prompt generator, which was built around exactly that argument. Read it if you want the evidence. This page assumes you accept it and want the day-to-day work done anyway.
The practical consequence is a single design rule, and it shows up in all twenty prompts below: anything the model did not receive must come back as the literal string NOT PROVIDED, and anything it worked out rather than read must be labelled as inferred. A blank you can see is a task. A confident guess is a landmine.
How do you check a citation in under a minute?
Ask the registry, not the model. Three commands, no account, no library subscription.
A DOI resolves at doi.org or it does not exist as printed. Better than that, the DOI Foundation runs a metadata service on the same URL: send an Accept header and you get back structured metadata from whichever agency registered the DOI. Crossref documents it plainly, describing content negotiation as "an API request where the format of the metadata returned is specified in the Accept header" and noting that the DOI Foundation's API "determines which registration agency holds the metadata and redirects the request".
# 1. Does the DOI resolve at all? 404 means the record does not exist.
curl -sIL -o /dev/null -w "%{http_code}\n" https://doi.org/10.1038/s41598-023-41032-5
# -> 200
curl -sIL -o /dev/null -w "%{http_code}\n" https://doi.org/10.1038/s41598-023-99999-9
# -> 404 (correct shape, invented record)
# 2. Get the authoritative record, already in CSL-JSON.
curl -LH "Accept: application/vnd.citationstyles.csl+json" \
https://doi.org/10.1038/s41598-023-41032-5
# 3. Or have the registry format it for you, in the style you need.
curl -LH "Accept: text/x-bibliography; style=apa" \
https://doi.org/10.1038/s41598-023-41032-5
# -> Walters, W. H., & Wilder, E. I. (2023). Fabrication and errors in the
# bibliographic citations generated by ChatGPT. Scientific Reports, 13(1).
# https://doi.org/10.1038/s41598-023-41032-5
# 4. Biomedical work: use the eutils API, not the website.
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=37679503"
Step four matters more than it looks. Fetching pubmed.ncbi.nlm.nih.gov/37679503/ directly returned HTTP 203 and a 5.5 KB cookie-wall shell when we ran it on 27 August 2026, so a script that scrapes the page gets nothing useful and may report a real record as missing. The eutils endpoint returned the full 18 KB structured record on the same day, including the article title, the ISSN, the pagination and the DOI as separate fields.
Swap style=apa in step three for any of the styles the CSL repository publishes, which Crossref exposes as a list in its API. Note that the style names are exact: vancouver returns a style-not-found error, while american-medical-association works. Note also that apa and apa-6th-edition are separate entries, which tells you something useful about how much editions matter.
The rule every prompt below carries
Paste this once at the top of the conversation. Every numbered prompt afterwards inherits it, and every numbered prompt restates the critical half of it, because instructions decay over a long thread.
HOUSE RULES FOR THIS CONVERSATION
1. Work only from text I paste in this conversation. You have no other
knowledge of these references for the purposes of this task.
2. Never add, complete or correct a bibliographic element I did not supply.
That includes DOIs, page ranges, volume and issue numbers, years,
publishers, author initials and full first names.
3. Any element missing from my input must appear in your output as the
literal string NOT PROVIDED. Do not leave it blank. Do not omit the field.
4. Mark anything you worked out rather than read with [INFERRED] and say
what you inferred it from.
5. Never state that a reference is real, correct, verified or exists. You
cannot know that. If asked, say what would need checking and where.
6. If an instruction requires information I have not given you, stop and
ask instead of proceeding.
Rule three is the one that does the work. Rule two is the one people delete.
How do you turn a messy citation string into structured fields?
Give the model the string and a fixed field list, and make the empty fields visible.
1. Parse a single reference
Parse the reference below into these fields exactly: authors (as given),
year, article title, container title, volume, issue, pages, publisher,
DOI, URL, edition, access date.
Return a two-column list. For every field, give the value exactly as it
appears in my string, or NOT PROVIDED. Do not normalise, expand initials,
correct spelling or reorder names. If a value is ambiguous, give the raw
substring and mark it [INFERRED] with your reasoning.
REFERENCE:
[paste]
2. Parse a whole pasted list
Below is a reference list copied out of a document. Parse each entry into
the field schema above and return a markdown table, one row per entry, in
the order given. Number the rows to match the original order.
Empty cells must read NOT PROVIDED. Do not merge entries, do not reorder,
do not silently drop an entry you cannot parse. Any entry you cannot parse
goes in a separate list below the table with the raw text and the reason.
LIST:
[paste]
3. Completeness report before anything else
For the table you just produced, report only on what is missing. List every
row that lacks a DOI, every row that lacks page numbers, every row with no
year, and every row where the author field looks truncated or contains
"et al". Do not fill any of them in. Do not suggest likely values. Return
this as a checklist I can work through against the publisher records.
4. Separate what you read from what you decided
Go back through the table and flag every cell where you made a judgement
rather than copying a substring: splitting a name, deciding what was the
title and what was the journal, resolving an ambiguous year, or reading a
page range out of a compressed format. For each, quote the raw substring
you worked from. If any flagged cell would change under a different reading,
give both readings and say which you chose.
Prompt 4 is the one people skip and the one that repays itself. Parsing a truncated author list or a run-together title is a judgement call, and a judgement call presented as a value is indistinguishable from a fact.
How do you convert between APA, MLA, Chicago, Vancouver and IEEE?
Convert the structure, and refuse to invent the elements a target style needs but your source lacks.
5. Convert one reference
Convert the reference below to [target style], following the rules in the
style guidance I have pasted underneath it. Use only the elements present
in my source reference.
If the target style requires an element my source does not contain, output
the reference with NOT PROVIDED in that position, and list those gaps
separately. Do not expand initials into full names, do not add a DOI, do
not add missing pages, do not change a journal abbreviation to a full
title or the reverse.
Show your output twice: once as the finished reference, once as a field-by-
field mapping from my source so I can see what moved where.
SOURCE:
[paste]
TARGET STYLE GUIDANCE:
[paste the relevant section of the style guide or journal instructions]
6. Convert a list without losing anything
Apply the conversion above to every entry in my list. Return the converted
list, then a reconciliation table with one row per entry showing: original
position, converted position, every field that changed form, and every
field marked NOT PROVIDED. The two lists must have identical entry counts.
State the count of both at the top. If they differ, stop and tell me.
7. Switch the in-text citations too
I am moving from [source style] to [target style]. Here is my body text.
Rewrite only the in-text citations to the target convention. Do not touch
any other word of the text.
Return a numbered list of every change: the original marker, the new
marker, and its position by surrounding phrase. If a marker cannot be
converted because the reference list entry it points at is missing an
element the target style needs in-text, leave it unchanged and list it
under CANNOT CONVERT with the reason.
8. Diff two versions of the same reference
Here are two versions of what should be the same reference. Produce a
field-by-field diff: same, differs, present in A only, present in B only.
For every difference, quote both values. Do not tell me which is correct.
Do not merge them. Finish with the list of fields I need to check against
the publisher record to resolve the differences.
How do you get BibTeX or CSL-JSON out of metadata you already have?
Both formats have published schemas, so the constraint is checkable rather than a matter of taste.
9. BibTeX from your fields
Produce a BibTeX entry from the fields below. Choose the entry type from
the standard set and state why you chose it. Fill only fields whose values
I supplied. Omit fields I did not supply rather than guessing them, and
list every omitted field underneath the entry under MISSING.
Use a citation key of the form lastnameYEARfirstword built from my data.
Escape special characters. Preserve capitalisation in the title with
braces. Do not add a DOI, ISSN, publisher or page range.
FIELDS:
[paste]
10. CSL-JSON from your fields
Produce a CSL-JSON record from the fields below, as a single-element array,
valid against the csl-data.json input schema. Use CSL field names exactly:
id, type, title, container-title, author (family/given objects), issued
(date-parts), volume, issue, page, DOI, URL.
Pick the type value from the CSL type enumeration and state your choice.
Omit any field I did not supply. Do not emit an empty string or a null as
a placeholder. List every omitted field underneath under MISSING.
FIELDS:
[paste]
11. Audit a .bib file you already have
Here is my .bib file. Do not rewrite it. Report only:
(a) entries whose type has a required field that is absent,
(b) duplicate citation keys,
(c) unescaped special characters,
(d) titles whose capitalisation will be flattened because they are not
brace-protected,
(e) fields whose name is misspelled and will therefore be ignored silently.
For each, give the citation key and the line. Do not propose values for
anything missing. I will get those from the publisher record.
FILE:
[paste]
Those field names are not invented. The CSL input schema published at resource.citationstyles.org defines 103 properties and a type enumeration of 45 values, with names given as objects carrying family and given, and dates as date-parts arrays. Its own description of the date model is worth knowing before you generate one: it "supports two different date representations: an EDTF string (preferred), and a more structured alternative". BibTeX's own documentation is equally explicit about the trap in prompt 11, warning that misspelling a field name results in it being ignored, with no warning for optional fields.
The reason to generate these formats rather than a formatted string is that both are inputs to a formatter, and a formatter does not improvise. If your entries are already good, our JSON prompt generator covers the general pattern of getting structured output that validates.
How do you deduplicate a reference list safely?
Ask for candidate groups and the evidence. Never ask for a cleaned list.
12. Find candidate duplicates
In the numbered list below, identify groups of entries that may be the same
work. For each group: the entry numbers, and the specific evidence for
grouping them (identical DOI, identical title, same first author and year,
near-identical title with a stated difference).
Report exact-match groups and near-match groups separately. For near
matches, quote the differing substrings from each entry. Do not merge
anything. Do not delete anything. Return every entry number exactly once
across your groups and your ungrouped remainder, and state the total.
13. Preprint and version-of-record pairs
From the same list, identify pairs where one entry looks like a preprint or
working paper and the other looks like the published version of the same
work. Evidence required: matching or near-matching title, overlapping author
list, and a container title or DOI prefix that differs in the way a preprint
server differs from a journal.
Mark each pair CONFIRMED BY DOI only if both DOIs are present in my data and
I can compare them. Otherwise mark it CANDIDATE and say what I must check.
14. Merge, with the losses named
For duplicate group [n], produce a single merged record. Take each field
from the entry that supplies it. Where the entries disagree on a field,
do not choose: output both values side by side marked CONFLICT.
Underneath, list every field present in one entry and absent from the merged
record, and every field still NOT PROVIDED after merging. I will resolve
conflicts against the publisher record. Do not resolve them for me.
Preprint pairs are the case that defeats naive matching, because the titles agree and everything else disagrees. They are also the case where a wrong merge is most costly, since citing the preprint when the version of record exists is a substantive error rather than a cosmetic one.
How do you check in-text citations against the reference list?
Give the model both texts and ask for the three specific mismatches. This is the job where it earns its keep, because the work is mechanical and humans are bad at it.
15. Orphans: cited but not listed
Below are my body text and my reference list. Find every in-text citation
that has no matching entry in the reference list. For each: the citation as
written, the sentence it appears in, and the closest entry in the list if
there is one, with the difference stated.
Work only from these two texts. Do not guess what the missing reference
might be. Do not add it.
16. Uncited entries: listed but never cited
Using the same two texts, list every reference list entry that is never
cited in the body text. For each: the entry number, the entry, and
confirmation that you searched for its author surname, its year and any
numeric marker it would carry. Do not remove anything. Some journals allow
uncited entries in specific sections, so this is a report, not an action.
17. Mismatches: cited and listed, but they disagree
Using the same two texts, find every case where an in-text citation and its
reference list entry disagree: a different year, a different first author, a
surname spelled differently, or a numeric marker pointing at the wrong
position in the list.
For each, quote the in-text form and the list form side by side. Do not
decide which is right. Return the count of citations checked at the top so
I can confirm you covered the whole document.
Prompt 17 catches the error that survives proofreading. A citation that reads (Halpern et al., 2003) in the text and lists as 2002 in the bibliography is invisible at reading speed and obvious in a two-column diff.
How do you match a specific journal's requirements?
Paste the journal's own instructions. That converts a memory question into a reading-comprehension question, which is the version the model is good at.
18. Turn author guidelines into a checklist
Below are the author guidelines for [journal]. Extract every rule that
applies to references and in-text citations into a numbered checklist. One
rule per line, quoting the exact wording from the guidelines beside each.
If the guidelines defer to an external style manual, say which manual and
which edition they name, and do not supply the manual's contents from
memory. Mark any rule that is stated ambiguously as AMBIGUOUS and quote it.
GUIDELINES:
[paste]
19. Apply it, and report what you could not apply
Apply the checklist above to my reference list. Return the reformatted list,
then a compliance table: checklist rule number, entries affected, entries
that now comply, and entries that cannot comply because they are missing an
element the rule requires.
Rules you could not apply because the guidelines defer to a manual I did not
paste must be listed separately as NOT APPLIED, with the rule number. Do not
apply them from memory.
20. Audit the draft for claims that carry no citation
Read only my draft. List every sentence that makes a factual claim about
prior work, a quantity, a definition attributed to someone, or a contested
position, and that carries no citation. For each: the sentence number, the
claim in your words, and what kind of source would settle it.
Then list every sentence whose single citation is doing more work than one
source can carry. Do not rewrite anything. Do not suggest sources. Do not
tell me a source exists.
Why do style rules keep changing under you?
Because they are revised, republished and occasionally inconsistent on their own official pages. This is the strongest single argument for pasting rules rather than naming a style.
Three things we found while checking this page on 27 August 2026, all on the publishers' own domains. The National Library of Medicine's sample references page, which the ICMJE recommendations name as the standard for medical journals, instructs authors to "List the first six authors, followed by et al" and then adds, in the same passage, a parenthetical note that NLM now lists all authors. Both statements are on the page. The IEEE Author Center serves two reference guides, and the one that downloads cleanly as a PDF is stamped V 11.12.2018, telling authors that IEEE publications "must list names of all authors, up to six names" before falling back to et al. And Crossref's formatting route lists apa and apa-6th-edition as separate styles, because they produce different output.
None of that is a criticism of the bodies involved. Reference standards are living documents, and the ICMJE says so directly, noting that its recommended resources "are regularly updated as new media develop". It also gives the only instruction that actually resolves the problem: "Authors should consult with the journal to which they plan to submit their work."
A model asked to recall a style rule will produce a blend of every edition it has ever seen, in confident prose, with no version stamp. That is why prompts 5, 18 and 19 each carry a paste slot for the rules themselves.
Stop rewriting prompts. Start shipping.
Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 5.0★ on the Chrome Web Store.
Create An AccountWhat we are, and what we are not
Prompt Architects generates prompts. That is the whole scope, and it is worth being exact about the parts of this workflow we do not touch.
We are not a reference manager. We do not hold your library, we do not sync it between machines, we do not watch a folder of PDFs, and we do not have a word processor plugin. Zotero, Mendeley, EndNote and Paperpile do that job and do it properly. If you do not have one, get one before you get us. We cannot verify a citation for you either, and neither can any other prompt tool, because verification means querying an index and we do not have one.
What a saved prompt is good for is the discipline. The house rules block at the top of this page is six lines that nobody remembers to type at midnight, and they are the difference between a table with visible gaps and a table with invisible inventions. Save it once, keep it attached to every citation prompt you run, and the rule survives the deadline. Our free plan includes 5 prompt enhancements per day, forever, according to the FAQ page at prompt-architects.com/faq as of 27 August 2026, which is enough to build the set and refine it.
The version of this article that would rank better opens with "10 prompts to fix your bibliography in seconds" and quietly implies the model can look things up. That article is why people submit reference lists containing papers that do not exist. Reformatting is a real service and a genuinely tedious job worth automating. Retrieval is not on offer, from us or from anyone selling you a prompt.