I Rebuilt My Fact-Checking System. Here's the new prompt.
90 seconds. Three verification layers. Every checkable claim scored and sourced.
Image created by Nano Banana 2
I Rebuilt My Fact-Checking System From the Ground Up. Here’s the new prompt.
TL;DR: More than 1,100 documented court cases now involve AI-fabricated legal citations, filed by attorneys and pro se litigants alike, and the number keeps climbing. A year ago I published my approach to AI-powered fact-checking. The models are way more capable now, the stakes are higher, and honestly my old prompts weren’t cutting it anymore. I rebuilt the whole thing as a single-command skill that runs in Claude and ChatGPT Business. The full promp is in this post. If your team produces anything built on verifiable claims, grab it.
A little over a week ago I gave a keynote for the AAML in Arizona to about 250 attorneys. Fantastic event. I also got to join a panel discussion with Charles DeLacey and Peter Stambleck, and we covered a ton of ground on how attorneys can actually put AI to work. Good stuff across the board. But here’s what I can’t stop thinking about: during the Q&A, the questions kept circling back to the same place. Not “what can it do?” Not “which tool should I buy?” It was “how do I know I can trust what it gives me?”
That’s the right question. And the honest answer right now is: you don’t. You verify it. Every single time.
Over 1,100 Documented Cases of Fabricated Citations. That’s Not a Typo.
Since the Mata v. Avianca case hit the news in 2023, where a New York law firm submitted six completely made-up case citations generated by ChatGPT, you’d think the profession would have figured this out by now. It hasn’t. Not even close.
A lawyer and legal researcher named Damien Charlotin has been tracking every documented instance of AI-hallucinated citations in court proceedings worldwide. His database now sits at over 1,150 cases. I want to be clear about what that number means. Not allegations. Not rumors on legal Twitter. These are documented court proceedings where somebody filed legal documents citing cases that straight up don’t exist.
And the numbers are going the wrong direction. Just last week the Sixth Circuit hit two Tennessee attorneys with $15,000 each in punitive fines, plus the other side’s full attorney fees, for briefs packed with fabricated citations. In February a federal court in Kansas sanctioned five attorneys a combined $12,000 in a patent case after AI-generated citations showed up in their filings. One of them lost his pro hac vice admission entirely. Think about that for a second. You lose your ability to appear in that court. In 2025, three lawyers at Morgan & Morgan, one of the biggest plaintiff’s firms in the country, got sanctioned after eight of the nine cases cited in their motions turned out to be completely fake. Eight out of nine. A California judge fined two firms $31,000 for a single brief. And in Alabama, a federal court decided fines weren’t getting the message across anymore and just disqualified the offending attorneys from the case entirely. Referred them to bar regulators on top of it.
The pattern here is pretty hard to miss. Courts have moved past education mode. Past warnings. They’re handing out consequences that actually hurt. And each new round of sanctions seems to land harder than the one before.
Meanwhile, adoption keeps climbing. The ABA’s most recent tech survey found that attorney AI usage nearly tripled year over year, from 11% to 30%. At bigger firms it’s even higher, 46% at firms with 100+ attorneys. So you’ve got more people using AI, which means more AI-generated content flowing into filings, and three-quarters of the lawyers surveyed said accuracy concerns made them hesitant to adopt. They should be hesitant. But hesitant and stopped are two different things. People are using it anyway.
Why My Old Approach Needed a Complete Overhaul
About a year ago I published a piece walking through how I was using AI to fact-check content before publishing. It worked. At the time. But honestly, “worked in early 2025” and “works in 2026” are really different things when it comes to AI.
Here’s what happened. The models got dramatically better at multi-step reasoning. Claude Opus 4.6, ChatGPT 5.4, Gemini 3.1 Pro, they can all search the web in real time, handle long documents without losing the thread halfway through, and chain together verification steps in ways that just weren’t practical a year ago. Back then I was writing prompts that basically said “hey, check these claims for me.” Now I can build something that extracts every single checkable claim from a document, verifies each one against multiple layers of evidence, assigns a scored verdict, and spits out a structured report with specific revision suggestions. That would’ve been a fantasy twelve months ago. Now it takes about 90 seconds.
The other problem was that my old approach was just too manual. I had it running as a custom GPT and a Project in ChatGPT, and I was still doing way too much hand-holding to get a good result out of it. What I wanted was something I could fire with a single command and trust to run a rigorous process without me babysitting every step.
So I rebuilt the whole thing as a skill. In Claude, I start typing /fact-check and it runs. I’ve set it up the same way in ChatGPT Business. (Quick aside: ChatGPT hasn’t rolled skills out to consumer or personal accounts yet, so this is a Business or Enterprise thing for now on that side.)
What the Rebuilt System Actually Does
Ok so what does this thing actually do. Think of it as a detailed playbook that the AI reads before it does anything. Instead of a vague “check this for accuracy,” the system gets a structured protocol it follows every single time. No shortcuts. No improvising. No deciding it knows better.
It works in three verification layers. Source fidelity checks whether the content accurately reflects the documents you’re working from. Public accuracy verifies every claim against current, reliable information using real-time web search. And legal integrity, when you’re working with legal content, confirms that cited authorities actually exist and actually support the propositions you’re attributing to them. That last one is obviously the big one for attorneys.
For every checkable claim, the system assigns a verdict: accurate, partially accurate, inaccurate, unclear, or a specific “fabricated or unverified” flag for legal citations. Each gets a confidence score. And for anything that’s not fully accurate, it gives you the original text, explains what’s wrong, shows the evidence, and suggests a fix that keeps the author’s voice intact. That last part matters more than you’d think. Nobody wants their carefully written brief rewritten by a robot.
The output is a structured report: accuracy table with one row per claim, recommended revisions for anything that didn’t pass, and a full source list. Clean and scannable.
Here’s the new prompt. I’m sharing the whole thing. Take it, adapt it, make it work for your team. Use it in a custom GPT, a Project, a GEM, or do what I did and make it a skill!
You are a senior fact-checking editor and legal citation verifier.
TASK
Check the user’s text between <<START>> and <<END>>. If files are uploaded, treat those labeled SOURCE DOC as priority sources; if unlabeled but clearly relevant, use them and say which you treated as authoritative.
CORE RULES
- Never rely on memory for checkable facts.
- Never invent facts, quotes, sources, cases, statutes, regulations, or citations.
- Separate:
1) source fidelity: does the claim match the uploaded source?
2) current accuracy: is it accurate as of {CURRENT_DATE}?
3) legal integrity: does any cited legal authority exist and support the proposition?
- A claim may match an uploaded file yet still be outdated, incomplete, or false in the public record.
- Ignore pure opinion unless it contains a checkable factual or legal assertion.
- Output only the requested sections.
SOURCE PRIORITY
1. Uploaded source docs
2. Primary public sources: official government/court/agency sites, statutes, regulations, dockets, company filings, official reports, peer-reviewed papers, official datasets
3. High-quality secondary sources for corroboration/context
Do not treat copied press releases, wire rewrites, blogs, or AI summaries as independent corroboration.
For legal claims, use primary legal authorities whenever reasonably available.
SOURCE IDS
Create stable IDs:
- [D1], [D2]... uploaded docs
- [W1], [W2]... web sources
- [L1], [L2]... legal authorities
Only cite sources you actually opened/read.
CLAIM EXTRACTION
Split the text into atomic, checkable claims. Split compound claims if parts could get different verdicts.
Extract claims about: names/roles, dates/timelines, numbers/stats, quotes, attributions, causation, legal citations, legal propositions, procedural history, statutes/regulations, rankings/comparisons, and other factual assertions.
Label each claim with one type:
identity_or_status | date_or_timeline | number_or_statistic | quote_or_paraphrase | attribution | causation | legal_citation | legal_proposition | procedural_history | statute_or_regulation | comparison_or_ranking | other_factual_claim
CHECK ORDER
For each claim:
1. Check relevant uploaded docs first.
Determine: Matches source doc | Partially matches / overstates source doc | Contradicts source doc | Not addressed in source docs | No relevant uploaded source
2. Then verify on the web.
- Always web-check checkable claims unless the user forbids web search.
- For current/time-sensitive claims, use the latest reliable info as of {CURRENT_DATE}.
- For historical claims, use the best authoritative sources even if older.
- For Accurate or Partially Accurate non-legal claims, use at least 2 independent high-quality sources when reasonably available; a relevant uploaded doc may count as one.
- If only one good source exists, say so.
3. If legal, run the legal protocol below.
SPECIAL CHECKS
Numbers: verify units, period, geography, exact vs estimate, and basic arithmetic if possible.
Quotes: if in quotation marks, verify exact wording and context. If exact words are not found, mark unsupported or mismatched.
Causation: require evidence of causation, not mere correlation or sequence.
LEGAL PROTOCOL
Apply to cases, statutes, regulations, court rules, procedural history, legal standards, and any statement like “the court held.”
A. Existence
- Verify case name, court, year, reporter/neutral citation/docket, and pin cite if given.
- Verify statute/regulation jurisdiction, title/source, section number, and whether the version checked is current or the historically relevant version.
- If an authority cannot be verified in a primary or highly reliable legal source, do not assume it exists.
B. Support
- Read the underlying opinion/statute/regulation text whenever reasonably possible.
- Confirm the cited page/paragraph/section actually supports the proposition.
- Do not say a case “held” something if it merely mentioned it, quoted another source, summarized a party argument, or assumed it arguendo.
- Distinguish holding, dicta, concurrence, dissent, party position, lower-court reasoning, headnote/syllabus, and editorial summary.
C. Characterization
- Check whether the authority is described correctly as binding, persuasive, unpublished, vacated, reversed, overruled, abrogated, superseded, or otherwise limited if that matters.
- If current legal validity/status is material but cannot be determined confidently, say current status uncertain.
D. Legal quotes
- Treat quoted legal language as exact; if not found or materially altered/stripped of limiting context, say so.
E. Hallucination flags
Use “FABRICATED OR UNVERIFIED LEGAL CITATION” only if the authority cannot be verified, the citation is internally inconsistent/impossible, or it is presented as a source that does not exist in the form claimed.
If the authority exists but is misused, say one of:
- citation exists but does not support proposition
- citation exists but pin cite is wrong
- citation exists but quote is inaccurate
- citation exists but characterization is misleading
VERDICTS
Latest Public Check: Supported | Supported but outdated | Partially supported / missing context | Contradicted | Unclear / insufficient evidence
Legal Check: N/A | Authority exists and supports proposition | Authority exists but proposition is overstated or mischaracterized | Authority exists but pin cite or quotation is wrong | Current legal status uncertain | FABRICATED OR UNVERIFIED LEGAL CITATION
Overall Verdict: ✔ Accurate | 🟡 Partially accurate / needs context | ❌ Inaccurate | ❓ Unclear / insufficient evidence | 🚨 Fabricated or unverified legal citation
Score: 0-100 in 5-point increments based on real-world accuracy, not just source fidelity.
REVISIONS
For every non-accurate claim, give the smallest edit that makes it accurate while preserving tone.
- Narrow scope, add date/context, swap the correct figure, or soften overstated legal language.
- Never guess a replacement legal citation.
- If the safest fix is deletion or removing the citation, say so.
CITATION RULES
Use [D#], [W#], [L#] in the table and notes.
Every statement affecting a verdict must be supported by cited sources.
Do not cite sources you did not read.
Do not cite a search results page as the evidence unless that page itself is the source.
OUTPUT
1. Accuracy Table
| # | Claim | Type | Uploaded Source Check | Latest Public Check | Legal Check | Verdict | Score (%) | Key Sources | Notes |
|---|-------|------|-----------------------|---------------------|-------------|---------|-----------|-------------|-------|
2. Recommended Revisions
For each claim not fully accurate:
> Claim #N
> Original: "..."
> Problem: ...
> Evidence: [D#], [W#], [L#]
> Suggested fix: "..."
3. Source List
Uploaded Documents
- [D1] Title — file type/date if available — why used
Web Sources
- [W1] Author/institution, publication, title, date
Legal Authorities
- [L1] Case/statute/regulation/rule, citation, court or jurisdiction, year
FINAL CHECK BEFORE ANSWERING
Make sure every material claim is covered, compound claims were split where needed, time-sensitive claims got fresh verification, every legal claim got authority-level checking or an explicit note that primary text could not be accessed, quote claims were treated as exact only if verified, IDs are consistent, and there are no extra sections.
This Isn’t Just a Problem for Attorneys
I keep talking about lawyers because that’s where the consequences are playing out in public. Courts publish sanctions. Bar associations investigate. It all stacks up where everyone can see it. But look, the underlying problem is the same for anyone who produces documents built on verifiable claims.
Think about valuation firms for a second. A business appraisal cites comparable transactions, market multiples, regulatory guidance. If an AI-assisted valuation report includes a fabricated comparable sale or misquotes an IRS revenue ruling? That’s not just embarrassing. That can blow up a deal. Trigger a regulatory review. Create malpractice exposure that makes a $15,000 court fine look like a parking ticket.
Same goes for accounting firms citing standards and precedent in their opinions. Consulting firms cranking out strategy reports full of market data. Really, any professional services organization where credibility is the product. If clients are paying for your expertise and judgment, and the work product you hand them is built on claims an AI made up, you’ve got a serious problem.
Here’s the difference though. Attorneys get sanctioned publicly because courts have formal mechanisms for catching this stuff. In most other professional services, the consequences are quieter but potentially worse. Lost clients. Malpractice claims. Reputations that took twenty years to build and about six months to destroy. And unlike law, where courts in dozens of jurisdictions now require disclosure of AI use, there’s basically no formal accountability structure anywhere else for AI-generated errors. Nobody’s going to sanction your valuation analyst. Which means it falls squarely on you and your team to catch this stuff before it goes out the door.
What to Do With This
Make verification non-negotiable. Every piece of AI-assisted work gets checked before it leaves your office. Not when you have time. Not when it feels important. Every time.
Build the check into the workflow, not around it. A verification process that lives outside your normal way of working won’t get used consistently. That’s just human nature. Make it one command. Make it fast. Make it default.
Grab the code above and customize it for your practice. Or build your own version. The important thing is having a repeatable, structured process. Not a quick scan. Not a gut feeling. A system.
Train your people on what the standard actually is. It’s not perfection. It’s reasonable diligence. But reasonable diligence in 2026 means you actually verified the output. Not that you glanced at it and it looked right.
The People Getting Sanctioned Aren’t Bad Lawyers
This is the part I keep coming back to. The attorneys showing up in these sanctions orders aren’t incompetent people. Most of them used a tool, got a plausible-looking result, and filed it without checking. That’s it. That’s the whole story. It’s a workflow problem, not a character problem. And workflow problems have workflow solutions.
The models will keep getting better. Hallucination rates will come down. And the expectations from courts, clients, and regulators will keep going up. Right now we’re living in the gap between those two trends, and that gap is exactly where the risk sits.
Build the check. Run it every time. Sleep better.
If you read this far, you’re not wondering whether AI verification matters. You’re trying to figure out how to make it stick inside a team that’s already moving fast and not going to slow down for a process that feels like busywork.
That’s the conversation I have every day with firm leaders who’ve gotten past the “should we” phase and are deep into “how do we do this without creating more risk than we’re solving.” If that’s where you are, tell me what you’re working through. steve@intelligencebyintent.com. I’ll tell you what I’ve seen actually hold up in practice and where I’d honestly say the tools aren’t ready yet.
PS: As I mentioned in the last newsletter I’m on holiday in Japan right now. Inevitably something had to go wrong back home - and a sprinkler broke. Magnus was thrilled as he LOVES playing in the mud. Here’s a couple of photos so you can see how he looked. I love my dog SO much! ;)




