A cited proposition raises three questions. Does the authority exist? Is it still good law? And does the source actually say what the brief says it says? A citator answers the first two against a publisher’s corpus, which is work no language model should be trusted with. Nothing answers the third, and the third is where a large share of the damage now sits.
The numbers are in the AI Hallucination Cases database maintained by Damien Charlotin, which as of its 19 August 2026 update holds 1,934 decisions worldwide where a court found a party relied on hallucinated material — 1,325 of them in the United States. Across the 1,832 of those cases with tagged findings, the database records 5,748 individual defects: 3,238 fabricated, 1,538 misrepresented, 937 false quotes, 35 outdated. Fabrication is the majority class and the one KeyCite and Shepard’s catch. The other 2,475 defects — 43% of the total — are real, current authorities cited for propositions they do not support, or quoted in words they do not contain. A citator returns a clean flag on every one of them.
This Claude Skill checks that third question, and only that one. It reads a draft, builds one row per citation instance, and looks for the supporting language in source text you supply. When it finds the language, it copies the span into the log verbatim. When it does not, it says so. It never confirms a citation from what the model recognizes.
The bundle lives at apps/web/public/artifacts/citation-verification-claude-skill/ and ships:
SKILL.md— the Skill definition with inputs, the three-pass method, a literal log excerpt, and the watch-outsreferences/1-source-index-template.md— the fillable source index, with the closed provenance vocabulary and the excerpting rulesreferences/2-verification-log-template.md— the certification-ready log, including the scope statement and the reviewer sign-off blockreferences/3-status-vocabulary.md— the six statuses and their promotion rules, the Bluebook signal-match table, and the quote-fidelity rules
When to use
Run it on a substantively finished draft, after the citator pass, after every cited authority has been pulled to text, and before filing.
- Any filing where an AI tool touched the drafting. ABA Formal Opinion 512 (29 July 2024) puts the verification duty on the lawyer regardless of which tool produced the text, and treats uncritical reliance on generative output as close to malpractice. A log is how you show the inquiry happened.
- Courts with an AI certification requirement. Judge Brantley Starr’s May 2023 standing order in the Northern District of Texas required attorneys to certify either that no part of a filing was drafted by generative AI or that any AI-drafted portion was checked against a traditional legal database, and hundreds of federal and state judges have since issued their own versions. The certificate is itself sanctionable if false, so the file needs to hold something behind it.
- Briefs assembled from a brief bank. Recycled sections carry pin cites written against an earlier record and an earlier version of the law. Nobody re-reads them, and per-instance rows are what surfaces the fourth use of a case whose pin cite drifted three drafts ago.
- Opposing briefs inside a safe-harbor window. Rule 11(c)(2) requires a sanctions motion to be served 21 days before it is filed. Running an opponent’s brief through the same check turns that window into a documented list rather than a hunch.
- Records-heavy filings. Factual assertions cited to Bates ranges and transcript page:line get the same treatment as legal authorities, which is the half of cite-checking that no citator covers at all.
When NOT to use
- Instead of a citator. The skill has no publisher corpus, no subsequent-history data, and no way to establish that a case exists. Run KeyCite, Shepard’s, or an equivalent first, every time. This is a second pass, not a substitute, and using it as one reproduces the exact failure it is built to catch.
- On a draft whose authorities have not been pulled. With nothing to read, every row returns
NO-SOURCEand the log is a list of homework. The pull is the work; the skill is the check. - On sealed or protective-order material before the retention terms are checked. Opinion 512 puts that analysis on the lawyer, and it belongs before the first paste, not after.
- To decide whether an argument wins. Verification asks whether the source supports the proposition as written. Whether the proposition carries the motion is counsel’s call and stays there.
- On scanned PDFs. The comparison is character-level. Convert to text first or the run is checking an image.
Setup
- Download the bundle from
apps/web/public/artifacts/citation-verification-claude-skill/and drop it into~/.claude/skills/for Claude Code, or upload it to a Claude project. - Fill
references/1-source-index-template.md. One row per supplied source, each with aprovenancevalue from the closed list —westlaw,lexis,courtlistener,govinfo,pacer,production,reporter_pdf— and a realretrieved_onpull date. - Pull each authority to text as an excerpt: the pin-cited page plus two on either side. Record the actual range in
pages_included. This column decides whether an out-of-range pin cite comes back asNO-SOURCEor asUNSUPPORTED, and getting it wrong is the fastest way to turn a real problem into a clean-looking log. - Set
citator_run_onandcitator_toolin the header. Leave them blank if no citator ran — the log then states that on its face, which is what a reviewing partner needs to see. - Run it once against a filed brief you already cite-checked by hand, and diff the two. You are testing one thing: that every
SUPPORTEDrow carries a span you can open in the source. - For each new draft: supply the draft, the source index, and the sources directory. Read the unresolved section, clear it, then file.
What the skill actually does
Three passes, and the split between the first two is the guard.
Pass 1 builds the proposition table — one row per citation instance, not per authority. A table-of-authorities tool deduplicates, and deduplication is what hides this failure class. One case cited five times supports five different propositions. The case exists, it is good law, it appears once in the TOA, and the fourth pin cite points at a page that says the opposite. Rows keyed to the authority cannot show that; rows keyed to the proposition can. The log prints instance count beside distinct-authority count, so a parse that quietly collapsed the repeats is visible rather than silent.
Pass 2 matches against supplied text only. For each row the skill opens the file named in the source index and copies out the supporting span, verbatim, with its locator. The refusal rule is the whole design: no span, no status upgrade. A row reaches SUPPORTED only with a span sitting in it. The model will recognize plenty of these citations — it has read a lot of public law — and every one of those recognitions is worthless here, because recognition is the same mechanism that produces a confident cite to a case that never existed.
Pass 3 writes the log, grouped by status with the unresolved rows first, opening with a scope statement that names what was not checked.
Two checks ride along because the spans are already located. Quote fidelity is character-level, not semantic — semantic comparison rates a paraphrase inside quotation marks as a match, and that paraphrase is the false-quote pattern in the sanctions record. Deliberate alterations are pulled into their own table: an ellipsis that removes a limiting clause changes the proposition, and (cleaned up) covers internal quotation marks and citations without licensing a rewrite. Signal matching compares the actual support relationship against the introductory signal. A bare cite whose source supports the proposition only by inference wants a see. That error is not sanctionable on its own, and it clusters with the misrepresentation class, because a proposition that needed a signal and did not get one is one where the drafter’s reading and the source’s text have already come apart.
Cost reality
Cost tracks how much source text you hand over, and excerpting is the difference between a cheap run and one that does not fit.
A 30-page brief runs about 20,000 tokens. Forty authority excerpts at five pages each add roughly 120,000, so a full run lands near 140,000 input tokens against 4,000 to 8,000 out. At Claude Sonnet 5 list pricing ($3 per million input, $15 per million output) that is $0.45 to $0.70 per brief; on Claude Opus 5 ($5 and $25), $0.80 to $1.20.
Full-text pulls change the shape rather than the price. Forty complete opinions run past 600,000 tokens, which does not fit a standard context window — the 1M-token window is an Anthropic API capability, not something available in the Claude apps — so the run has to be chunked, and chunking breaks the guarantee that pass two saw every supplied source before assigning a status. The wider pull is right in two places: propositions about what a court held, where the procedural posture sits away from the pin cite, and see generally cites that have no pin cite to build a window around.
The cost that matters is the hour count. Cite-checking a 30-page brief with 40 authorities by hand is a 4-to-8-hour paralegal or associate job (estimate, based on pulling and reading each cited page). The skill does not remove it. It converts a hunt into a review of a table, and the review still has to happen — the sample check in the sign-off block is the control that tests whether the no-span rule held, and it is the one step a machine cannot run on its own output.
Success metric
- Unresolved rate at first pass —
NO-SOURCEplusUNSUPPORTEDover total instances. Watch it across drafts, not within one. A rate that stays high after the pull discipline settles is a source-index problem living inpages_included, not a model problem, and prompting harder will not move it. - Instances per distinct authority. Under 1.3 on a brief of any length means pass one deduplicated when it should not have. That number is the health check on the guard itself.
- Post-filing challenges to a cite. Target zero. One is a review of the whole pipeline, not of the brief.
vs alternatives
vs a citator alone. KeyCite and Shepard’s answer existence and treatment against a publisher’s corpus with machine authority. Keep paying for that; nothing here replaces it. What they do not do is read your sentence, and 43% of the tagged defects in the Charlotin database are exactly that gap. The rule: run both, citator first, in that order. Neither one alone covers the brief.
vs Clearbrief. A Word add-in that checks whether a cite exists, whether the source supports the claim, and whether it has been overruled, and builds a hyperlinked table of authorities. The Solo plan publishes at $300 per user per month (checked 20 August 2026), so $3,600 per seat per year. If your drafting happens in Word and you can get the seats approved, buy it — it covers the existence half this skill cannot, and it sits where the writing already is. Use the skill when the purchase will not clear, when the brief cites a production the vendor does not hold, or when you want the verification log as a portable file in the matter folder rather than a state inside someone’s Word session.
vs Lexis+ with Protégé. Shepard’s Verify Trust Markers, added in May 2026, scan AI-generated and attorney-drafted text, check each legal citation against Lexis sources, and flag what cannot be verified. A Lexis shop has already bought this — use it. It checks cites against the corpus rather than against your record, so it leaves the Bates-cited factual assertions untouched, which is where this skill and it stop overlapping.
vs Paxton AI. Its Citator reports 94% on Stanford’s CaseHold — a vendor-run figure, and a 2025 PNAS analysis argues parts of that benchmark are easy enough for bag-of-words models to score near-perfectly, so treat it as a floor rather than a rating. Same rule as the other two: it answers existence and treatment.
vs the status quo of an associate pulling every cite. This is what most firms do, it is the correct baseline, and the skill does not replace it. What it changes is what the associate reads: a table with the unresolved rows already sorted, instead of forty PDFs and a highlighter.
Watch-outs
- The skill certifies from memory. Asked whether a citation is good, a model answers from recognition, confidently — the mechanism behind fabricated authority. Guard:
SUPPORTEDrequires a verbatim span copied from an indexed file and printed in the row, so the log shows spans rather than verdicts and a reviewer can check the guard held. The 10-row spot check in the sign-off block exists for this and nothing else. - Circular sources. A “source” that is itself an AI summary verifies a fabrication against its own fabrication. Guard:
provenanceis a closed vocabulary with noothervalue and no way to express a synopsis; rows outside it are rejected at pass one. Headnotes and brief-bank excerpts are not sources — pull the opinion. - Dedupe hides misrepresentation. Guard: rows keyed to citation instances, with the instance count printed beside the authority count so an equal pair reads as a parse failure rather than as a clean brief.
- The log gets treated as the certification. Guard: the scope statement leads every log, names existence and subsequent history as out of scope, and the signature block stays unsigned until a person signs it. Rule 11(b) certifies an inquiry reasonable under the circumstances; the log is evidence that one happened, not the thing itself. The stakes are documented — in Whiting v. City of Athens, decided in the Sixth Circuit in March 2026 over a brief carrying more than two dozen fabricated citations, the court imposed fees, double costs, $15,000 each in punitive sanctions, and a disciplinary referral.
- Stale pulls. A case that was good law at the pull and was overruled last week reads identically to one nobody checked. Guard:
retrieved_onis required per source and compared againstfiling_date, with any gap over 30 days drawing[STALE-PULL]on every row citing it. - Confidentiality. Guard: check the firm’s accepted data-retention terms before the first sealed document is pasted. The skill has no view on what your protective order permits, and Opinion 512 leaves that analysis with you.
Stack
- Claude — proposition-table extraction, span matching, quote diffing, log assembly
- Lexis+ with Protégé or Thomson Reuters CoCounsel — the citator pass that runs first and answers existence and treatment
- Paxton AI — the lower-cost citator option for firms not carrying a Westlaw or Lexis contract
Related: legal AI grounding vs hallucination for the acceptance test to run before buying any of the tools above, and the deposition outline skill for the same two-pass citation guard applied to examination prep.