TemplatesReview

Fact-check against sources

Check each claim in a draft against the sources you give, quote the passage that backs or contradicts it, and list what to fix, using nothing from outside those sources.

Sample results: runs and scores on this page are illustrations while testing is set up. How we test

  • Who it is for: Anyone who writes or approves a report, newsletter or briefing and has the source material at hand.
  • Time: 15 minutes

Download it, in the format you use

  • Prompt chain

    Copy each step into ChatGPT or Claude, one after another.

  • Checklist

    Follow the steps and check off the checks by hand.

  • Claude skill

    A folder Claude loads, so it follows the steps by itself.

  • n8n file

    Import into n8n and connect your own AI account.

Open in the Editor

Using a download:How to use this in n8nHow to install a Claude skill

How it runs

Select a part to see its prompt, input, output and check.

The same job, with and without the template

Sample

One plain prompt

Fact-check this draft against my sources and tell me what is wrong. Use only the sources. (The same draft and sources are pasted below.)

Overall the draft is mostly accurate, with a few small errors.

  • Membership: the sources show 312 households at the end of the year, not 340.
  • Loans: the sources show 1,860, not 1,900. This is a minor rounding difference, and "nearly doubled" is fair given the rise from 1,040.
  • The Elm Street opening on April 2 and the drop in waiting time from 12 days to 5 match the sources.
  • Volunteer hours: 2,140 is consistent with "more than 2,000".
  • Survey: 96 of 104 respondents said they would recommend the library, so the claim is broadly accurate.
  • Largest tool library in the county: this is plausible given the growth described, although the sources do not confirm it.

Suggested corrections: change 340 to 312 and 1,900 to 1,860.

Problem:It calls the survey claim broadly accurate when 8 of 104 said maybe, calls the county claim plausible when the sources say no count was made, and quotes no passage to check.

With this template

The same input, run through the steps.

Result: 7 claims checked: 3 supported, 1 partly supported, 2 contradicted, 1 not in sources.

Fix before you send

Swipe sideways to see all columns

#Claim (quote)What the sources saySuggested wording
1"Membership grew from 210 households to 340"210 households at the start of the year, 312 at the end.Membership grew from 210 households to 312.
2"loans nearly doubled to 1,900"Loans: 1,040 the year before, 1,860 this year.Loans rose from 1,040 to 1,860.
6"Every member who answered our survey said they would recommend us"96 of 104 respondents said they would recommend the library; 8 said maybe.96 of the 104 members who answered our survey said they would recommend us; 8 said maybe.
7"we are now the largest tool library in the county"No count of other tool libraries in the county has been made.Cut it until a source exists.

Holds up

  • "We opened a second location on Elm Street on April 2"
  • "the average wait for the ten most-requested tools fell from 12 days to 5"
  • "Volunteers logged more than 2,000 hours"
  • Check:Every claim is quoted word for word from the draft: Seven claims quoted word for word from the draft; the opening line about the best year is an opinion and is left out.
  • Check:Every passage is quoted word for word from the sources: Seven passages, each quoted word for word from the sources.
  • Check:Each verdict is one of the four allowed words: Seven verdicts, each one of the four allowed words: 3 supported, 1 partly supported, 2 contradicted, 1 not in sources.
  • Check:Every fix row is filled in: Four rows under Fix before you send, each with all three cells filled.
  • Check:Every claim in the fix list is in the draft word for word: All four quoted claims are in the draft word for word.
  • Check:The counts add up to the verdicts: The Result line says 7 claims, 3 supported, 1 partly supported, 2 contradicted and 1 not in sources; the table has four rows, one for each claim that is not supported.
  • Check:Each suggested wording says only what the sources say: Each suggested wording uses only figures from the sources (210, 312, 1,040, 1,860, 96, 104 and 8).
  • For your read:You decide what to do with each fix: For the county claim, will you find a count, soften it or cut it?

Runs and scores

Sample

Claude, Sonnet model

October 4, 2026, easy sample

  • Check:Every claim is quoted word for word from the draft

    Three claims quoted word for word from the draft.

  • Check:Every passage is quoted word for word from the sources

    Three passages, each quoted word for word from the sources.

  • Check:Each verdict is one of the four allowed words

    Three verdicts, all supported.

  • Check:Every fix row is filled in

    One row under Fix before you send, with None found in every cell, because every claim is supported.

  • Check:Every claim in the fix list is in the draft word for word

    The fix list quotes no claim (its row says None found), so every quote in it is in the draft.

  • Check:The counts add up to the verdicts

    The Result line says 3 claims checked, all 3 supported; the fix list has no row for a claim.

  • Check:Each suggested wording says only what the sources say

    There is no suggested wording to compare, because every claim is supported.

  • For your read:You decide what to do with each fix

    Is there anything in the three supported claims you would still confirm with someone?

Fixed: Nothing needed fixing: every check passed on the first pass.

Met 8 of 8

1 of these is for your read: the tool hands it to you.

ChatGPT, GPT model

October 5, 2026, tricky sample

  • Check:Every claim is quoted word for word from the draft

    Six claims quoted word for word from the draft.

  • First pass failed:Every passage is quoted word for word from the sources

    The first version gave the passage for the enrollment claim as "Enrollment rose from 400 to 480", which is not in the sources word for word.

  • Check:Each verdict is one of the four allowed words

    Six verdicts, each one of the four allowed words: 4 supported, 1 contradicted, 1 not in sources.

  • Check:Every fix row is filled in

    Two rows under Fix before you send, each with all three cells filled.

  • Check:Every claim in the fix list is in the draft word for word

    Both quoted claims are in the draft word for word.

  • Check:The counts add up to the verdicts

    The Result line says 6 claims checked, 4 supported, 0 partly supported, 1 contradicted and 1 not in sources; the fix list has two rows.

  • Failed:Each suggested wording says only what the sources say

    The suggested wording for the reading claim says "about 6 in 10", a figure the sources do not give (they say 62 of 100).

  • For your read:You decide what to do with each fix

    The district says its results are not final, so will you wait for the October report before using any reading figure?

Fixed: The passages step ran again once with the rule to quote word for word, and it came back with "Enrollment last summer: 400. This summer: 480.", which cleared the first failure. The report step ran again once and the wording still said "about 6 in 10", so the check failed again and the run stopped there and flagged it for you.

Met 7 of 8

  • Not met:Each suggested wording says only what the sources say: The wording still says about 6 in 10, a figure the sources do not give.

1 of these is for your read: the tool hands it to you.

n8n, import format 2.20

October 6, 2026, typical sample

  • Check:Every claim is quoted word for word from the draft

    Seven claims quoted word for word from the draft; the opening line about the best year is left out as an opinion.

  • Check:Every passage is quoted word for word from the sources

    Seven passages, each quoted word for word from the sources.

  • First pass failed:Each verdict is one of the four allowed words

    Row 2 said "partially supported", and the Verdict column must say supported, partly supported, contradicted or not in sources.

  • Check:Every fix row is filled in

    Four rows under Fix before you send, each with all three cells filled.

  • Check:Every claim in the fix list is in the draft word for word

    All four quoted claims are in the draft word for word.

  • Check:The counts add up to the verdicts

    The Result line says 7 claims checked, 3 supported, 1 partly supported, 2 contradicted and 1 not in sources; the fix list has four rows.

  • Check:Each suggested wording says only what the sources say

    Each suggested wording uses only figures from the sources (210, 312, 1,040, 1,860, 96, 104 and 8).

  • For your read:You decide what to do with each fix

    Will you check the 312 and 1,860 figures against the original report before you send?

Fixed: The verdicts step ran again once with the four allowed words restated, and every row then used one of them.

Met 8 of 8

1 of these is for your read: the tool hands it to you.

The steps, and the check on each

  1. Step 1: List every claim in the draft

    Pick out each statement a source could prove or disprove, quoted word for word, before any source is read.

    Hands back: A numbered table of the claims, each quoted from the draft.

    Check:Every claim is quoted word for word from the draft

    A plain rule. If it fails, run the step again (the n8n file does this for you).

  2. Step 2: Find the passage for each claim

    For each claim, quote the words in the sources that bear on it, or say that none do.

    Hands back: A table that puts a quoted passage from the sources beside each claim, or None found.

    Check:Every passage is quoted word for word from the sources

    A plain rule. If it fails, run the step again (the n8n file does this for you).

  3. Step 3: Give each claim a verdict

    Compare each claim with its passage and give one of four verdicts, with the reason in one sentence.

    Hands back: A table that gives each claim one of four verdicts and the reason.

    Check:Each verdict is one of the four allowed words

    A plain rule. If it fails, run the step again (the n8n file does this for you).

  4. Step 4: Write the fact-check report

    Turn the verdicts into a count, a list of what to fix with wording taken from the sources, and a list of what holds up.

    Hands back: A report with a count line, a table of fixes and a list of the claims that hold up.

    Check:Every fix row is filled in

    A plain rule. If it fails, run the step again (the n8n file does this for you).

After the last step

  • Check:Every claim in the fix list is in the draft word for word

    A plain rule. If it fails, run the step again (the n8n file does this for you).

  • Check:The counts add up to the verdicts

    A second look by the AI. If it fails, run the step again (the n8n file does this for you).

  • Check:Each suggested wording says only what the sources say

    A second look by the AI. If it fails, run the step again (the n8n file does this for you).

  • Check:You decide what to do with each fix

    You check this one. If it fails, it is flagged for you.

What you need first

  • The draft to check(needed)

    Paste the text as it stands now. Every number, date and name in it will be checked.

  • The sources to check it against(needed)

    Paste the text of the reports, records or notes the draft should rest on. If you have several, paste them one after another with a title above each.

Ways to adapt it

  • This template checks the draft against your sources, not against the world. A claim marked not in sources may still be true; it only means your sources do not show it.
  • If you have several documents, give each a title on its own line above its text, so you can find a passage again.
  • To allow rounding, change the line about partly supported in the verdicts step, for example by saying that a number rounded to the nearest hundred counts as supported.
  • To add a verdict word, add it to the verdicts step's rules and to its check, both.
  • For a long draft, run the template on one section at a time so every claim gets a passage.

Change any step or check in the Editor, then download it again.

Try it with a sampleSample

A short update with seven claims checked against the year's record; two are wrong, one is stretched and one is not in the sources at all.

The draft to check
Our tool library had its best year yet. Membership grew from 210 households to 340, and loans nearly doubled to 1,900. We opened a second location on Elm Street on April 2, and the average wait for the ten most-requested tools fell from 12 days to 5. Volunteers logged more than 2,000 hours. Every member who answered our survey said they would recommend us, and we are now the largest tool library in the county.
The sources to check it against
Annual report data, tool library. Membership: 210 households at the start of the year, 312 at the end. Loans: 1,040 the year before, 1,860 this year. Second location: opened on Elm Street on April 2. Average wait for the ten most-requested tools: 12 days before, 5 days after the second location opened. Volunteer hours logged: 2,140. Member survey: 96 of 104 respondents said they would recommend the library; 8 said maybe. Other libraries: no count of other tool libraries in the county has been made.

The scoring guide

Sample

One criterion for each check, marked met or not met. (The guides in Quality rate a whole piece of work on three levels.) Under each one is how the three sample runs scored.

Download the scoring guide (Markdown)

  • Every claim is quoted word for word from the draft

    A plain rule

    Meets:Every claim in the table is found word for word in the draft.
    Does not meet:A claim has been reworded or corrected, or is not in the draft word for word.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Every passage is quoted word for word from the sources

    A plain rule

    Meets:Every passage is found word for word in the sources, or the row says None found.
    Does not meet:A passage has been reworded, or is not found word for word in the sources.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Each verdict is one of the four allowed words

    A plain rule

    Meets:Every claim has exactly one of supported, partly supported, contradicted or not in sources.
    Does not meet:A row has another word, such as partially supported or unverified.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Every fix row is filled in

    A plain rule

    Meets:Every row under Fix before you send has the claim, what the sources say and the suggested wording filled in.
    Does not meet:A row under Fix before you send has a blank or a dash in one of its three cells.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Every claim in the fix list is in the draft word for word

    A plain rule

    Meets:Every claim quoted in the fix list is found word for word in the draft.
    Does not meet:A quoted claim has been reworded or is not in the draft.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • The counts add up to the verdicts

    A second look by the AI

    Meets:The numbers on the Result line match the verdicts, and the fix list has one row for each claim that is not supported.
    Does not meet:A count on the Result line is wrong, or a claim that is not supported has no row in the fix list, or a supported claim has one.
    Claude:Met
    ChatGPT:Met
    n8n:Met
  • Each suggested wording says only what the sources say

    A second look by the AI

    Meets:Every number, date and name in each suggested wording appears in the sources, and the wording says no more than they do.
    Does not meet:A suggested wording adds a figure or a fact the sources do not give, or rounds a figure into a new one.
    Claude:Met
    ChatGPT:Not met
    n8n:Met
  • You decide what to do with each fix

    You check this one

    Meets:You read each fix, chose to find a source, soften the claim or cut it, and checked the suggested wording against the source yourself.
    Does not meet:A fix is used without being read against the source, or a claim marked not in sources is sent as it stood.
    Claude:For your read
    ChatGPT:For your read
    n8n:For your read

Claude: met 8 of 8 (including 1 for your read)

ChatGPT: met 7 of 8 (including 1 for your read)

n8n: met 8 of 8 (including 1 for your read)

Learn from this template

Every claim is compared with words quoted from the source, never with what the AI remembers. A rule checks that each quote really appears in the source, and a claim with no passage is marked as having none instead of being guessed at.

Where to see it: step 2 (Find the passage for each claim); step 3 (Give each claim a verdict).

Read the guide: Checks

Which one fits?

Related templates

All Review templates

Review

Review

Review

Last run
October 6, 2026: n8n, import format 2.20 (sample run)
Tools and versions
Claude, Sonnet model; ChatGPT, GPT model; n8n, import format 2.20
What was checked
The files, against each tool’s import format, and 3 sample runs, each check’s finding recorded.
Version
1.0
What changed
First release.

Report a problem with this templateHow we test