技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
verify-claims【数据与研究】Run Chain-of-Verification (CoVe) on a draft or a block of text with factual claims. Spawns the `claim-verifier` agent in a fresh context (never a conversation fork) so it never sees the draft — then reports which claims are supported, contradicted, or unverifiable. Use when user says "verify these citations", "check the claims in X", "did I hallucina…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
claim-verifier agent in a fresh context (never a conversation fork) so it never sees the draft — then reports which claims are supported, contradicted, or unverifiable. Use when user says "verify these citations", "check the claims in X", "did I hallucinate anything", "fact-check this draft", "run CoVe on this", or after any text generation that asserts facts about papers, datasets, or numerical results. NOT for style/grammar review (use /proofread) or substance review (use /review-paper).
argument-hint: "[file-or-text-path] [--source ] [--no-fail-closed]"
allowed-tools: ["Read", "Grep", "Glob", "Agent", "Task", "Write"]
disallowed-tools: ["Edit", "MultiEdit"]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./verify-claims (this skill) — ad-hoc fact-checking on any draft or text block the user hands you. One-shot, user-invoked./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./validate-bib — checks citations exist and are well-formed (structural + DOI). This skill checks they hold (the cited paper supports the attributed claim). Complementary — run both before submission.Implements the 4-step CoVe loop from Dhuliawala et al. 2023 (arXiv:2309.11495), with architectural enforcement of the fresh-context independence trick.
Confirm:
--source or auto-detected from draft)claim-verifier agent file exists at .claude/agents/claim-verifier.mdIf any fail → surface the failure, do NOT proceed.
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.
For citation-type claims, extract the claim↔citation PAIR — not just the citation. Capture what the draft attributes to which work, so the verifier checks appropriateness (does Smith 2019 actually show X?), not merely existence. "Smith (2019) shows a positive wage effect" becomes {cite: Smith2019, attributed: "positive wage effect"}. This is the layer /validate-bib explicitly defers here: validate-bib confirms the citation exists and is well-formed; this skill confirms it holds. A mis-citation (the paper exists but says something else, or the opposite) is exactly a numeric/directional contradiction → HIGH-WARN unless a concrete author_alternative is recorded (then EXPLAINED).
Output a claims table:
| ID | Claim | Source hint |
|----|-------|-------------|
| C1 | ... | ... |
One question per claim. Make it specific and answerable from the source alone.
claim-verifier (fresh context — never a conversation fork)Agent: subagent_type=claim-verifier # a named subagent starts fresh; a /fork copy would inherit the draft
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.
The verifier returns a per-claim verdict in one of these severity tiers:
not_found retrieval that the verifier interprets as a hallucinated citation. Fail closed — surface these first and never present the draft as verified while one stands. This is a reporting rule, not a mechanical gate: nothing in /commit or the pre-commit hook reads these verdicts, so the author decides, and a HIGH-WARN left in place is stated in the report the user sees.cannot-verify flag; do not gate-refuse.author_alternative field. Surfaced with the evidence and the recorded reason; non-gating. The hard floor holds: a fabricated citation is never EXPLAINED, and a blank/vague alternative stays HIGH-WARN. This mirrors audit-reproducibility's EXPLAINED disposition for numeric claims — a mismatch is not always a failure when a defensible alternative is named.Verdict aggregation by tier across all extracted claims (EXPLAINED counts as non-gating, like LOW):
| Tier counts | Outcome | What the report says |
|---|---|---|
| 0 HIGH, 0 MED, ≥ 0 LOW/EXPLAINED | PASS (green block) | draft verified |
| 0 HIGH, ≥ 1 MED, any LOW/EXPLAINED | PARTIAL (yellow block) | verified with warnings |
| ≥ 1 HIGH | FAIL (red block) | never reported as verified while a HIGH-WARN stands (unless --no-fail-closed) |
--no-fail-closed reports HIGH-WARN verdicts as ordinary warnings instead of failing closed. Use sparingly — it's there for offline / hallucination-sensitive contexts where the user accepts the risk in writing.
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.
/verify-claims quality_reports/lit-review_measurement-error.md --source master_supporting_docs/author_2021_method.pdf --source master_supporting_docs/coauthor_2020_survey.pdf
Expected output (abridged):
## Post-Flight Verification — lit-review_measurement-error.md
**Claims extracted:** 14
**Verified independently:** 14 (fresh-context claim-verifier)
**Outcome:** FAIL — 12 verified, 1 contradicted by its source (HIGH-WARN), 1 unverifiable (LOW-WARN); the draft is not reported as verified until C7 is corrected
### Discrepancies
- **C7** — draft claims "Coauthor (2020) *proposes* a bias-corrected estimator." Source Section 4 shows they propose a weighting estimator, not a bias-corrected one. Recommend correction.
### Unverifiable
- **C12** — draft cites "Third Author et al. 2024 (working paper)". No canonical URL in provided sources. Recommend user supply DOI or arXiv link.
### Verified
| ID | Claim | Evidence |
|----|-------|----------|
| C1 | "Author 2021 defines the calibration constant as a ratio of moments" | p. 5, eq. (3) |
| ... | ... | ... |
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.
.claude/agents/claim-verifier.md — the fresh-context verifier..claude/rules/post-flight-verification.md — the protocol.[LEARN:pattern] on Chain-of-Verification vs critic-fixer vs cross-artifact review.