关于 verify-claims
用于对草稿进行事实核查的技能,按 Chain-of-Verification 流程提取事实主张并独立验证。适合检查引文是否支持相关论述,也会报告无法核验或与来源矛盾的内容。
主要功能
- 01提取可核验的事实主张
- 02为主张生成核验问题
- 03调用独立核验 Agent
- 04按严重程度汇总结果
- 05可选择自动修订相关段落
适用场景
- 01核实草稿中的引文与归因
- 02检查数字、数据集和命名实体
- 03定位与来源矛盾或无法验证的主张
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pedrohcgs/ claude-code-my-workflow --skill verify-claims安装后在 Claude Code 中输入/verify-claims确认已加载。
附带文件evals/cases/fresh-context-independence.mdevals/marker.txt
详细介绍
/verify-claims — 对草稿进行链式验证
使用 Post-Flight Verification protocol 对草稿进行事实核查(.claude/rules/post-flight-verification.md)。
输入: $ARGUMENTS — 包含草稿的文件路径(markdown、.qmd、.tex、.md),或简写指针。可选标志:
--source <path-or-url>— 一个或多个源材料指针(有多个时重复使用)。若省略,此技能会根据上下文推断(例如,文中引用的论文、引用的 arXiv URL)。--no-fail-closed— 将 FAIL 结果降级为警告,不重新生成。请谨慎使用。
何时选择此技能
/verify-claims(此技能)——对用户提供的任意草稿或文本块进行临时事实核查。一次性,由用户调用。- 其他会自动在内部运行 Post-Flight 的技能(
/lit-review、/research-ideation、/respond-to-referees、/review-paper --peer)——无需单独调用此技能;它们已会运行该流程。 /proofread——检查语法、错别字和溢出问题。关注角度不同。/review-paper(默认模式)——全面审阅手稿,而非仅验证论断。/validate-bib——检查引文是否存在且格式正确(结构 + DOI)。此技能检查引文是否成立(被引论文是否支持所归属的论断)。两者互补——投稿前应同时运行。
工作原理
实现 Dhuliawala 等人 2023 年提出的 4 步 CoVe 循环(arXiv:2309.11495),并通过架构强制实施全新上下文独立性技巧。
阶段 0 — 预检
确认:
- 草稿文件存在且可读取
- 至少有一个源指针可用(通过
--source提供,或从草稿中自动检测) .claude/agents/claim-verifier.md中存在claim-verifierAgent 文件
若任一项不满足 → 报告失败,切勿继续。
阶段 1 — 提取论断
阅读草稿。识别以下类型的事实性陈述:
| 类型 | 示例 |
|---|---|
| 引文 | “Smith(2019,JEL)证明了 X” |
| 数值事实 | “N = 10,000”,“ATT = 0.42” |
| 文献否定性论断 | “此前没有研究探讨 X” |
| 命名实体 | 研究者、论文标题、期刊、程序包、估计量名称 |
| 数据集论断 | “CPS 包含字段 educ_attain” |
跳过:观点、前瞻性建议、草稿中引入的定义。
对于引文类论断,应提取论断↔引文的配对——而非只提取引文。 记录草稿将什么内容归因于哪项研究,以便核查者检查其适切性(Smith 2019 是否确实证明了 X?),而不只是检查引文是否存在。“Smith(2019)证明工资效应为正”应转为 {cite: Smith2019, attributed: "positive wage effect"}。这是 /validate-bib 明确留待此处处理的环节:validate-bib 确认引文存在且格式正确;此技能确认引文是否成立。错误引文(论文确实存在,但其内容不同,或结论相反)正是数值/方向性矛盾 → HIGH-WARN,除非记录了具体的 author_alternative(此时为 EXPLAINED)。
输出论断表:
| ID | Claim | Source hint |
|----|-------|-------------|
| C1 | ... | ... |
阶段 2 — 生成验证问题
每项论断对应一个问题。问题应具体,且仅依据源材料即可回答。
阶段 3 — 启动 claim-verifier(全新上下文——绝不使用对话分支)
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.
分支出的 Agent 会运行 CoVe 独立作答步骤。它从未见过草稿,因此不会产生确认偏差。它会返回结构化的验证报告。
阶段 4 — 核对
验证器会为每条声明返回以下严重程度之一的判定:
- HIGH-WARN — 引用系伪造(所引论文并不存在于指定的会议或年份)、草稿中的声明与来源直接矛盾,或验证器将
not_found检索结果解读为虚构引用。默认拒绝通过 — 优先呈现这些问题,只要其中一项仍未解决,就绝不将草稿标为已验证。这是一条报告规则,而非机械门槛:/commit或 pre-commit hook 都不会读取这些判定,因此由作者决定;报告中会说明用户看到的 HIGH-WARN 尚未解决。 - MED-WARN — 临时性基础设施 / 检索故障(验证器通常可通过缓存元数据绕过的付费墙、DOI 解析器超时、PDF 读取不完整)。向作者指出问题;不要拒绝通过。
- LOW-WARN — 来源确实无法访问(有付费墙且不在缓存中、私有数据集、预印本服务器暂时不可用)。标记为
cannot-verify并指出问题;不要拒绝通过。 - EXPLAINED(v2.0)— 数值 / 方向性矛盾已由作者用具体、明确命名的替代方案事先说明(不同但合理的版本、规范、样本或舍入惯例),并通过声明的
author_alternative字段传递给验证器。附上证据和记录的原因;不设通过门槛。底线不变:伪造的引用绝不会被判为 EXPLAINED,空泛或含糊的替代方案仍判为 HIGH-WARN。这与audit-reproducibility对数值声明的 EXPLAINED 处理方式一致——只要明确指出合理的替代方案,差异并不总意味着失败。
对所有提取出的声明按严重程度汇总判定:
| 严重程度计数 | 结果 | 报告内容 |
|---|---|---|
| 0 HIGH、0 MED、≥ 0 LOW/EXPLAINED | PASS(绿色块) | 草稿已验证 |
| 0 HIGH、≥ 1 MED,任意数量的 LOW/EXPLAINED | PARTIAL(黄色块) | 已验证,但存在警告 |
| ≥ 1 HIGH | FAIL(红色块) | 只要有 HIGH-WARN 未解决,绝不报告为已验证(除非使用 --no-fail-closed) |
--no-fail-closed 会将 HIGH-WARN 判定作为普通警告报告,而不是默认拒绝通过。请谨慎使用——此选项适用于离线 / 对幻觉敏感的场景,此时用户以书面形式接受相关风险。
如果草稿可写入,且用户要求自动修正,则根据验证器提供的证据重新生成受影响的部分。否则,返回报告并由用户决定。
示例
/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
预期输出(节选):
## 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) |
| ... | ... | ... |
失败模式与恢复
验证器超时: 显示警告块,并将草稿作为临时版本返回。不要悄无声息地发布。
源材料无法访问(付费墙、404):报告依赖该材料的具体声明,标记为 cannot-verify,并建议用户提供替代来源。
草稿仅包含观点 / 前瞻性内容: 报告“未提取到可验证的事实性声明——无需核查”并返回。
交叉引用
.claude/agents/claim-verifier.md— 使用全新上下文的验证器。.claude/rules/post-flight-verification.md— 验证协议。- MEMORY.md 中关于 Chain-of-Verification、critic-fixer 与跨产物审查的
[LEARN:pattern]。