/verify-claims¶
auditMITreferee-simulation/verify-claims — Chain-of-Verification on a Draft¶
Fact-check a draft using the Post-Flight Verification protocol (.claude/rules/post-flight-verification.md).
Input: $ARGUMENTS — path to a file containing the draft (markdown, .qmd, .tex, .md) or a shorthand pointer. Optional flags:
--source <path-or-url>— one or more source-material pointers (repeat for multiple). If omitted, the skill infers from context (e.g., papers referenced, cited arXiv URLs).--no-fail-closed— downgrade FAIL outcomes to warnings without regeneration. Use sparingly.
When to pick this skill¶
/verify-claims(this skill) — ad-hoc fact-checking on any draft or text block the user hands you. One-shot, user-invoked.- Other skills that auto-run Post-Flight internally (
/lit-review,/research-ideation,/respond-to-referees,/review-paper --peer) — no need to call this separately; they already run it. /proofread— grammar, typos, overflow. Different lens./review-paper(default mode) — full manuscript review, not just claim verification.
How it works¶
Implements the 4-step CoVe loop from Dhuliawala et al. 2023 (arXiv:2309.11495), with architectural enforcement of the fresh-context independence trick.
Phase 0 — Pre-Flight¶
Confirm:
- Draft file exists and is readable
- At least one source pointer available (either --source or auto-detected from draft)
- claim-verifier agent file exists at .claude/agents/claim-verifier.md
If any fail → surface the failure, do NOT proceed.
Phase 1 — Extract claims¶
Read the draft. Identify factual assertions of these types:
| Type | Example |
|---|---|
| Citation | "Smith (2019, JEL) shows X" |
| Numerical fact | "N = 10,000", "ATT = 0.42" |
| Negative literature | "No prior work studies X" |
| Named entity | researcher, paper title, venue, package, estimator name |
| Dataset claim | "The CPS contains field educ_attain" |
Skip: opinions, forward-looking suggestions, definitions the draft introduces.
Output a claims table:
Phase 2 — Generate verification questions¶
One question per claim. Make it specific and answerable from the source alone.
Phase 3 — Spawn claim-verifier (forked, fresh context)¶
Task: subagent_type=claim-verifier, context=fork
Prompt: hand over claims table + verification questions + source material pointers.
Do NOT include the draft text.
The forked agent runs the CoVe independent-answer step. It has never seen the draft and cannot confirm-bias. It returns a structured verification report.
Phase 4 — Reconcile¶
Based on the report:
- PASS (all claims match source): produce a green Post-Flight block and return.
- PARTIAL (unverifiable claims remain): produce a yellow block flagging which claims need manual review.
- FAIL (at least one contradiction): produce a red block listing discrepancies with evidence. If the draft is writeable and the user asked for auto-correction, regenerate the affected sections using the verifier's evidence. Otherwise return the report and let the user decide.
Respect --no-fail-closed: on FAIL, produce the warning but do not regenerate.
Example¶
/verify-claims quality_reports/lit-review_staggered-did.md --source master_supporting_docs/callaway_santanna_2021.pdf --source master_supporting_docs/dechaisemartin_dhaultfoeuille_2020.pdf
Expected output (abridged):
### Post-Flight Verification — lit-review_staggered-did.md
**Claims extracted:** 14
**Verified independently:** 14 (forked claim-verifier)
**Outcome:** PARTIAL — 12 verified, 1 discrepancy, 1 unverifiable
#### Discrepancies
- **C7** — draft claims "de Chaisemartin & D'Haultfœuille (2020) *propose* a DR estimator." Source Section 4 shows they propose a weighting estimator, not DR. Recommend correction.
#### Unverifiable
- **C12** — draft cites "Borusyak et al. 2024 (working paper)". No canonical URL in provided sources. Recommend user supply DOI or arXiv link.
#### Verified
| ID | Claim | Evidence |
|----|-------|----------|
| C1 | "Callaway & Sant'Anna 2021 use group-time ATT" | p. 5, eq. (3) |
| ... | ... | ... |
Fail modes and recovery¶
Verifier times out: surface a warning block, return draft as provisional. Do not silently ship.
Source material inaccessible (paywall, 404): report the specific claims that hinge on it, flag as cannot-verify, recommend user supply an alternative source.
Draft contains only opinions / forward-looking text: report "no verifiable factual claims extracted — nothing to check" and return.
Cross-references¶
.claude/agents/claim-verifier.md— the forked verifier..claude/rules/post-flight-verification.md— the protocol.- MEMORY.md
[LEARN:pattern]on Chain-of-Verification vs critic-fixer vs cross-artifact review.