factchk — Claude Code skill: check claims before they ship
A skill that verifies reality-grounded claims against external sources in both directions: could the absurd be real, could the obvious be false?
npx skills add LilMGenius/paperthin --skill factchk -a claude-codeWhat factchk does
The least reliable line in any artifact is the author's sense of what is plausible. factchk scans a document for claims presented as facts about the world and checks each one against outside sources. Both directions matter here: the absurd may turn out real, and the obvious may be false or long-established.
The workflow has four steps. First it finds reality-grounded assertions, including the sentence you are about to write. Then it verifies them through web search and open references. A mechanically clear error — a wrong date, a misattributed source, a falsified number — gets corrected with a citation, while a contested or interpretive claim is surfaced rather than silently rewritten. The report lists each claim, its verdict, the source, and which direction it failed.
The trigger is metacognition, not knowledge. You cannot know every domain, so the moment a checkable fact comes from a feeling, that is the signal to verify. If no source can be reached, the skill flags the claim instead of asserting from intuition. Deliberate fiction is left alone, and when it is unclear whether something is an in-world choice or a real-world assertion, it flags rather than fixes. Scanning is read-only.
What it helps with
- catch a date or number in a draft that came from memory
- check whether stale knowledge is presented as new
- separate deliberate fiction from a claim about the real world
- surface a contested claim instead of silently rewriting it
- confirm a cited source actually says what it is credited with
Example prompts for the agent
- run factchk on the claims in this draft
- factchk: verify the design rationale against sources
- check the facts in this plan with the factchk skill
How to install factchk
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill factchk -a claude-code2Manually: put the files in place
~/.claude/skills/factchk/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/factchk/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill factchk -a codex2Manually: put the files in place
.agents/skills/factchk/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill factchk -a cursor2Manually: put the files in place
.cursor/skills/factchk/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install LilMGenius/paperthin factchk2Manually: put the files in place
.github/skills/factchk/SKILL.md1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill factchk -a gemini-cli2Platform CLI
gemini skills install https://github.com/LilMGenius/paperthin --path skills/depth/factchkManually: put the files in place
.devin/skills/factchk/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill factchk -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about factchk
How do I install factchk in Claude?
Run npx skills add LilMGenius/paperthin --skill factchk -a claude-code. The skill lands in ~/.claude/skills/factchk/SKILL.md.
What does factchk do?
It finds claims presented as facts about the world and verifies each against external sources in both directions. Clear errors get corrected with a citation; judgment calls get flagged.
Does it rewrite fiction?
No. Deliberate fiction is left untouched. When it is unclear whether a claim is an in-world choice or a real-world assertion, the skill flags it instead of fixing it.
Source text
SKILL.md · MIT
---
name: factchk
description: "Verify reality-grounded claims against external sources in both directions before they ship — could the 'absurd' be real, could the 'obvious' be false or long-established? Use whenever an artifact, or the sentence you are about to write, asserts something as plausible, realistic, absurd, novel, or impossible from intuition rather than a checked source; before relying on a factual claim in prose, a design rationale, a research claim, or a plan. Fires on metacognitive doubt — when you can't actually know, verify instead of trusting the feeling. Scans read-only, then fixes the clear errors or flags the judgment calls; leaves deliberate fiction alone."
---
Check what's asserted as real against reality — in both directions — before it ships.
## Goal
The author's "plausible / absurd / novel" is the least reliable line in any artifact. Human priors fail **both ways** — they exclude the real (desert frogs exist) and normalize the impossible (weightless crates). `factchk` scans claims presented as reality-grounded, verifies each against external sources in both directions, and fixes or flags. Its scope is a claim about *the world* — whether what's asserted as real is real — not the soundness of a validation or the survival of a whole plan.
## Workflow
1. Scan for **reality-grounded assertions** — anything leaning on "this is plausible / realistic / absurd / novel / impossible because X," including the claim you are *about to write*, not only those already on the page.
2. Verify each against **external sources** (web search, open references) in **both directions**: could the "absurd" be real? could the "obvious" or "novel" be false or long-established? If you cannot reach a source, **flag — never assert from intuition**.
3. **Fix or flag:** a mechanically-clear error (a wrong date, a misattributed source, a falsified number) → correct it with a cited source; a judgment call (a contested or interpretive claim) → surface it, don't silently rewrite.
4. Report each claim, its verdict, the source, and — for a failed claim — which direction it failed.
## Rules
- Target claims asserted **as reality-grounded**, never deliberate fiction ("in our world, boxes float" is a declared choice). When it is unclear whether a claim is an in-world choice or a real-world assertion, **flag, don't fix** — the hardest call in the skill.
- Flagging only the unrealistic catches half the errors.
- The trigger is **metacognition, not knowledge**: you can't know every domain, so the moment you are about to assert a checkable fact from a feeling, verify it instead of trusting the feeling.
- A pass that finds nothing changes nothing.
## Verification
Before finishing: every verdict traces to a citable external source, not a reworded prior intuition — and the report reads as fixes-vs-flags, not restated intuitions.
© LilMGenius · MIT · LilMGenius/paperthin