# 04 Fact Check

> Verify factual claims in a text against authoritative sources and rewrite it with footnote citations, hedging the unconfirmed. Use to fact-check, verify a claim, or cite sources on request. Not for judging code or clarifying requirements.

- Skill: `ai-driven-dev/04-fact-check` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add ai-driven-dev/04-fact-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ai-driven-dev/04-fact-check/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ai-driven-dev (https://skillmd.com/u/ai-driven-dev)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ai-driven-dev/04-fact-check

---


# Fact-check

Verifies the factual claims inside a target text and rewrites it grounded in evidence. The skill extracts each verifiable claim, runs a cheapest-first verification cascade, and emits a rewritten answer where every confirmed claim carries a footnote citation and every unconfirmed claim is explicitly hedged. When sources disagree, both are reported rather than one being silently chosen.

## Actions

| #   | Action            | Role                                                                          | Input                       |
| --- | ----------------- | ----------------------------------------------------------------------------- | --------------------------- |
| 01  | `identify-claims` | Extract verifiable factual claims from the text, classify each, drop opinion  | target text                 |
| 02  | `verify`          | Run the verification cascade per claim, produce a verdict and sources         | claim list from 01          |
| 03  | `report`          | Rewrite the text with footnote citations, hedge unverified, surface conflicts | verdict list from 02        |

Run `01 → 02 → 03`; pass each `## Test` before the next.
Before running an action, read its file in `actions/`, not only the table or assets.

## Transversal rules

- Never alter the meaning of a claim while verifying it: verify what was stated, not a charitable reinterpretation.
- The verification cascade is cheapest-first and short-circuits: stop at the first tier that resolves a claim. See `references/verification-cascade.md`.
- A web lookup is the last resort, never the first. Reach it only when project memory and codebase inspection both fail to resolve a claim.
- Claim categories come from the locked set in `references/claim-categories.md`. Opinion, preference, and trivially-known statements are not claims and are skipped.
- When two sources disagree, report both with their origin, never silently pick one.
- An unverified claim is never deleted and never asserted as fact: it is kept and marked `(unverified - no source found)`.
- Caching a verified fact is opt-in: propose it with a recommendation, never cache silently. The skill persists nothing; the mechanics live in action 03.
- The final report is reader-facing prose: the corrected text, `## Sources`, and `## Unverified claims`, nothing else. Internal mechanics never appear in the output: no cascade or tier trace (`Cascade:`, `tier 1/2/3`, `miss`, `resolved`), no category labels, no raw verdict words. State conclusions, not the process. Action 03 holds the exhaustive forbidden list.
- The report is rendered in plain prose and is never restyled by an active output mode. The skill's output format is fixed by action 03 alone.

## References

- `references/claim-categories.md`: locked taxonomy of verifiable claim categories with definition and example.
- `references/verification-cascade.md`: the three-tier cascade, short-circuit rule, web-cost guardrail.

## Assets

- `assets/report-template.md`: rewritten-answer skeleton with the `## Sources` footnote block.

