prove 是做什么的?
你阅读文档并提出检查项。provecheck 决定每一项裁决。
下面的 PROVE 表示 python3 ${CLAUDE_SKILL_DIR}/scripts/provecheck.pyz。
如果 ${CLAUDE_SKILL_DIR} 未被替换为你读取此文件时的路径,那么它就是包含本 SKILL.md 的文件夹。
- 如果缺少
python3或执行失败(在 Windows 上,它通常只是一个 Store 快捷方式),请使用python运行完全相同的命令,如果也失败,则使用py -3。不要在机器上搜索解释器。 - 在每个命令中写出完整路径:不要将其存储在 shell 变量中。每次调用执行一个
PROVE命令。如果路径包含空格,请用引号括起来。 - 使用你的文件读取工具打开
reference/文件,并使用你的文件写入工具写入claims.json,不要使用cat或 shell heredoc。
你必须遵守的规则
- 永远不要陈述
provecheck未打印的裁决。永远不要更改裁决。不要自行判断某个主张是错误的、正确的、有问题的或可疑的。 - 精确复制数字及其所在的句子或表格行。不要进行修正、四舍五入、重新格式化或转换。
- 除非你能说出其精确的原因:
count(计数)、ledger(账簿)、defined(定义)或cell(单元格),否则数字被视为四舍五入的。 - 如果你无法说明一个数字应如何计算,不要自己发明推导方法。将其保留,不做声明。
- 文档中的每个数字最终要么在
numbers中,要么在带有原因的skipped中。执行覆盖率步骤,并回头处理任何遗漏的项。 - 不要修改文档,也不要编辑
verdicts.json或报告。
步骤
在当前目录下名为 prove-work/ 的文件夹中工作。DOC 是用户的文件。
- 导入。
PROVE ingest DOC -o prove-work/doc.json --render-pages prove-work/pages如果显示缺少 PDF 支持,请尝试pip install pymupdf一次。如果不可行,请使用你自己的工具读取文件,在步骤 4 中跳过--doc,并告知用户数字无法接地,因此不会有任何内容被报告为矛盾。 - 扫描。
PROVE scan prove-work/doc.json列出每个数字标记及其所在的页面。这是你对规则 5 的检查清单。PROVE text prove-work/doc.json打印每个页面的文本:请从其中复制你的引用。 - 读取并写入
prove-work/claims.json。 首先读取此技能文件夹中的reference/claims-schema.md:它定义了每个字段。然后读取文档本身(如果是 PDF,还需读取页面图像)并记录:- 派生数字:总计、差值、份额、增长率、平均值、复合年增长率、排名。当组成部分已打印时,请从各部分之和计算份额,而不是从正在被检查的打印总计中计算。
- 交叉引用:同一数量在两个地方打印 (
eq)。 - 图表:仅在读取
reference/charts.md之后。每次读取标记两次,第二次从使用PROVE crop制作的 2 倍裁剪图中读取。给出一个诚实的区间,而不是一个点。 - 来源:DOI、arXiv ID、URL 以及任何直接引用及其来源。
- 其他所有数字内容都放入带有原因的
skipped中(年份、页码……)。 页码和引用必须与PROVE text打印的完全一致,而不是你记忆中的内容。
- 检查。
PROVE check prove-work/claims.json --doc prove-work/doc.json它会打印裁决并写入prove-work/verdicts.json。如果报告了模式错误、not-grounded、parse-mismatch、unit-mismatch、scale-mismatch或遗漏数字,原因通常出在你写的声明文件中:修复该文件并重新运行。永远不要通过更改文档内容来修复它。当剩余内容与文档相符时停止。 - 来源。 如果文件列出了来源,则执行
PROVE sources prove-work/claims.json。没有网络访问权限时添加--offline,并告知用户来源未经检查。 - 报告。
PROVE report prove-work/verdicts.json --html --md --card这里的退出码 1 表示至少有一个主张被证明矛盾。这是一个发现,而不是失败。 - 告知用户,按此顺序:
- 有多少主张被证明矛盾,然后根据
provecheck打印的内容,用一句话描述每个矛盾主张及其计算过程; - 有嫌疑的主张,每个都附带其可能的取值范围;
- 覆盖率行,以及如果有遗漏,遗漏了多少个数字;
- 哪些内容未被检查及原因(未验证的主张、离线时的来源、无法读取的图表);
prove-work/prove-report.html的路径。
- 有多少主张被证明矛盾,然后根据
关于每个裁决要说明的内容
- 矛盾 (contradicted):"这在任何四舍五入下都不可能是正确的。" 展示数字。
- 有嫌疑 (suspect):"这仅在输入值位于其四舍五入的边缘时才成立。" 展示范围。
- 未验证 (unverified):"未检查",附上原因。永远不要将其呈现为文档的问题。
- 已验证 (verified):提及数量;仅在询问时列出它们。
图表的裁决基于你对图像的解读,报告会将其标记为 read。请如实说明,并在你的摘要中将其与计算得来的裁决区分开。
一份干净的报告意味着被检查的主张通过了。说明检查了多少项。
更多细节,需要时加载
reference/claims-schema.md— 声明文件的字段定义,包含关系列表以及每个unverified原因的含义。在步骤 3 之前阅读。reference/charts.md— 如何为 Prove 读取图表。在任何图表声明之前阅读。reference/examples.md— 两个完整的工作示例。