| 名称 | 文件审核 |
| 描述 | 对 PDF/DOCX/DOC/TXT 中的新闻/报道类文字进行全面的数据审查和事实核查。自动提取数字数据、事实陈述与观点方法、引用来源,通过联网搜索比对验证准确性,审查标点符号、错别字、语法逻辑三个语言文字子维度,输出错误数据表格和完整数据来源报告。 |
事实核查与数据审查
⛔ 三大不可协商规则(优先级最高)
以下三条规则任何情况下都不可违反。违反即视为审查失败。
| # | 规则 | 违反示例 |
|---|---|---|
| 1 | 文档提取必须用 scripts/extract_text.py |
用 Read 工具直接读文件、用 python -c "import docx..." 手动提取 |
| 2 | 每个 [NUM]/[FACT]/[SRC] 判定必须附带来源名称 + 来源链接 | 表格中"来源链接"列为空、写"无"“待补充”“N/A”,或只写来源名称不写链接 |
| 3 | 输出前必须完成步骤7自检清单,全部通过才允许输出 | 跳过自检直接输出报告;自检发现问题但不修正就输出 |
违反第1条 → 文本提取不可靠,段落编号可能错乱,后续审查引用无效 违反第2条 → 报告不可追溯,审查结果无法验证,等同于无用 违反第3条 → 报告可能存在遗漏、缺失链接或格式错误
概述
对 PDF / DOCX / DOC / TXT 文档中的新闻/报道类内容进行四维度全面审查:数字数据、事实陈述与观点方法、引用来源与参考文献、语言文字规范(标点符号、错别字、语法逻辑)。所有数据点通过联网搜索找权威来源交叉验证,输出结构化审查报告。
🔴 强制要求:来源链接全覆盖
除语法、标点、错别字的审核外,其他所有审查维度([NUM]、[FACT]、[SRC] 以及政治性合规审查)的每一个数据点,在报告中都必须附带以下两项信息:
| 必填项 | 说明 |
|---|---|
| 来源名称 | 来源网站/机构/出版物的完整名称(如"水利部·国务院新闻办发布会"“知网CNKI”“人民日报”) |
| 来源链接 | 真实可访问、可直接点击跳转的完整 URL(https://...) |
此要求不可妥协,且适用于所有判定结果:
- ✅ 准确 → 必须附验证来源的名称和链接
- ⚠️ 偏差 → 必须附纠偏来源的名称和链接
- ❌ 错误 → 必须附反驳来源的名称和链接
- ❓ 无法核实 → 必须附搜索过程和判断依据的来源(说明在哪些来源搜索过、为什么判定为无法核实),除非该数据点在任何已知渠道中确实一点信息都查询不到
- 政治性/合规性审查 → 7 项逐条检查,即使"未见违规"也要注明判断依据
此要求持久生效:即使将该技能分享到其他用户或项目中,也必须严格按此格式输出,来源链接不可省略。
🔴 上下文一致性原则(Context-Consistent Verification)
所有数据审查必须建立在理解原文上下文的基础上。脱离上下文的"精确比对"本身就是一种审查错误。
核心规则
| 规则 | 说明 | 违规示例 |
|---|---|---|
| 时间一致 | 搜索验证数据时,必须匹配原文声明的时间节点 | 原文说"截至2025年6月,XX为1600万",却去搜索2023年数据然后判❌ |
| 限定条件一致 | 原文中的限定词("超过/约/预计/初步/截至/大约/近/左右"等)必须纳入判定标准 | 原文说"超过1600万家",搜索到精确值"1623万家"就判⚠️偏差——这是错误的,"超过1600万"与"1623万"是一致的 |
| 口径一致 | 验证数据的统计口径必须与原文一致 | 原文说"城镇人口",用"常住人口"数据对比判❌ |
| 观点语境一致 | 审查观点/判断时,必须考虑原文是否有限制条件(如"在XX条件下"“从XX角度看”“短期内”) | 原文说"在AI加持下,XX行业可能迎来增长",忽略"AI加持"这个前提就去驳斥 |
执行方法
在提取每个数据点后,先执行上下文标注,再搜索:
数据点:[原文数值/陈述]
├── 时间语境:原文声明的时间节点是______
├── 限定条件:原文附加的限定词是______
├── 口径说明:原文使用的统计口径是______
└── 搜索关键词:必须包含以上语境信息
判定修正
| 场景 | 旧做法(错误) | 新做法(正确) |
|---|---|---|
| 原文"截至2025年6月数据为X" | 搜索到2026年数据Y,判❌ | 搜索2025年6月前后数据,如果Y是更新后的数据,判✅准确(时间点在原文声明范围内)或标注"该数据截至2025年6月符合,最新数据为Y" |
| 原文"超过X" | 搜索到精确值X+Δ,判⚠️偏差 | 判✅准确——"超过X"与X+Δ一致 |
| 原文"预计将达到X" | 按事实数据判❌ | “预计"是预测性表述,搜索当时是否有此预测,判✅或标注”[预测性表述]" |
| 原文观点带有"在XX前提下" | 忽略前提条件直接驳斥 | 在前提条件成立时评论该观点是否成立 |
此原则持久生效:即使将该技能分享到其他用户或项目中,也必须严格遵循上下文一致性原则。
工作流
🔴 第一步:文档解析(强制使用提取脚本)
必须使用 scripts/extract_text.py 提取文档文本。禁止使用 Read 工具或其他方式代替。
为什么必须用脚本?
- 脚本统一输出格式:每个正文段落带
[paragraph N]编号,确保后续审查引用位置一致 - 脚本自动检测编码(UTF-8/GBK/GB18030),避免乱码
- 脚本对 PDF 做段落合并+标题分离,Read 工具无法做到
- 脚本对 DOC 做多方法兼容(COM→antiword→OLE→LibreOffice),单独用 python-docx 读不了 .doc
执行命令(依赖自动检测+安装):
# 自动检测并安装缺失依赖,然后运行提取脚本
python -c "import pdfplumber, docx; print('ok')" 2>$null; if ($LASTEXITCODE -ne 0) { pip install pdfplumber python-docx -q }; python scripts/extract_text.py "<文件路径>"
若 Unicode 输出乱码:
$env:PYTHONIOENCODING = 'utf-8'; python scripts/extract_text.py "<文件路径>"
Windows + DOC 格式额外(仅在处理 .doc 文件且脚本报错时执行):
python -c "import win32com.client; print('ok')" 2>$null; if ($LASTEXITCODE -ne 0) { pip install pywin32 -q }
提取完成后,验证输出格式:检查是否出现了 [paragraph N] 标记。如未出现,说明脚本未正确执行,必须重跑脚本。
若脚本多次尝试仍失败(极少情况),才允许退而使用 Read 工具,但必须在报告中标注"⚠️ 文本提取未使用标准脚本,段落编号可能不准确"。
步骤 2:选择审查模式
询问用户选择执行模式:
- 方案 A(全自动审查):自动提取所有数据点,逐一联网比对,生成完整报告。
- 方案 B(先预览再审查):先快速扫描 PDF,列出所有待审查的数据点清单供用户确认范围,确认后逐项联网比对。
步骤 3:提取待审查数据点
按四个维度提取所有待审查数据点。详细审查标准见 references/review-dimensions.md。
提取时使用以下分类标签:
| 维度 | 标签 | 提取内容 |
|---|---|---|
| 数字数据 | [NUM] |
统计数据、百分比、金额、日期、数量等具体数值;数字用法违规;法定数据写错;虚假失实数据;涉密数据 |
| 事实陈述与观点方法 | [FACT] |
事件描述、人物关系、时间线、因果关系等断言;学术观点/政策观点/行业判断/技术方法的论述;滥用极限广告词;政治性/政策性/法律合规审查 |
| 引用来源与参考文献 | [SRC] |
原文明确引用的报告名称、机构、URL、人物言论;参考文献 GB/T 7714 格式合规性(著录项完整性、作者/刊名/年卷期页码正确性) |
| 语言文字规范 | [LANG-P] / [LANG-T] / [LANG-G] |
标点符号(标点误用、汉语拼音/外文拼写错误);错别字(错字、别字、多字漏字、字词颠倒);语法逻辑(语法病句、逻辑矛盾) |
如果是方案 B,在此步骤暂停,将提取清单展示给用户,待确认后继续。
步骤 4:联网搜索验证
对 [NUM]、[FACT]、[SRC] 类型的每个数据点,使用 WebSearch 进行验证。
前置步骤:上下文分析。 搜索前必须先完成(详见上方"上下文一致性原则"):
数据点:______
├── 原文时间节点:______(如"截至2025年6月""2024年全年")
├── 原文限定词:______(如"超过""约""预计""初步")
├── 原文统计口径:______(如"一人有限责任公司""新注册企业")
└── 搜索词(含以上语境):______
- 构造搜索词:搜索词必须包含原文声明的时间节点和统计口径,不能只搜核心数字。例如原文"截至2025年6月,一人公司超过1600万家",搜索词应为
一人有限责任公司 2025年 1600万,而非一人公司 数量 2026。 - 搜索:对每个数据点执行至少 2 次搜索,交叉验证结果。
- 选择权威来源:优先采信:
- 政府官方网站 (.gov)
- 权威新闻机构(新华社、人民日报、路透社、BBC、美联社等)
- 学术机构和官方统计数据库(知网、万方、国家统计局等)
- 行业公认的研究机构报告
- 避免采信:个人博客、论坛帖子、自媒体内容、维基百科(可作为线索但不作最终依据)
- 记录来源:记录每个验证结果的:
- 来源网站名称
- 具体 URL
- 找到对比数据的具体段落或位置(审查依据)
- 来源发布时间
- 来源数据的时间节点是否与原文一致
- 补搜最新数据:当数据点判定为 ❌(错误)或 ❓(无法核实/来源模糊无法判定)时,额外搜索该数据点所指向主题的最新权威数据,附在判定结果后面,作为"最新可参考数据"。搜索时不限于原文时间节点,以当前可获取的最新官方数据为准。
步骤 5:比对判定
5.1 数据/事实/来源判定
判定时必须纳入原文上下文约束(时间节点、限定词、统计口径)。脱离上下文的判定本身就是错误的。
| 判定结果 | 条件 |
|---|---|
| ✅ 准确 | 数据与权威来源一致,且匹配原文声明的时间节点、统计口径、限定词范围。原文"超过X",搜索值为X+Δ → 准确。原文"约X",搜索值在合理误差内 → 准确。 |
| ⚠️ 偏差 | 数据在原文声明时间节点上大致正确但存在细微偏差(如百分比差1-2个点、时间差1-2天)。注意:原文有"超过/约/预计"等限定词时不适用⚠️,应为✅。 |
| ❌ 错误 | 数据在原文声明的同一时间节点和统计口径下,与权威来源明显不符。不可用不同时间节点的数据去判❌。 |
| ❓ 无法核实 | 在原文声明的时间节点和统计口径下搜索后,找不到任何可靠来源。报告需说明搜索过程和为什么无法核实。 |
❌ 和 ❓ 判定的附加动作:提供最新数据。 当数据点被判定为 ❌ 或 ❓(含来源模糊无法判定)时,必须额外搜索该数据点所指向主题的最新权威数据(不限于原文时间节点),附在判定结果下方,格式为:
📎 最新可参考数据:[数据内容]
来源:[来源名称]
链接:[URL]
时间:[数据的发布时间]
5.2 语言文字判定
[LANG-P]、[LANG-T]、[LANG-G] 类型直接标注问题,每个子维度三个等级:
| 等级 | 标点符号 [LANG-P] | 错别字 [LANG-T] | 语法逻辑 [LANG-G] |
|---|---|---|---|
| 🔵 1级(轻微) | 中英文标点混用,不影响理解 | 罕见字/生僻字错误,不影响句意 | 搭配略不当/语义重复,不影响信息传达 |
| 🟡 2级(中度) | 标点缺失/多余导致断句不清 | 常见形近/音近字混淆,多字漏字 | 语法病句/成分残缺/句式杂糅,影响表达清晰度 |
| 🔴 3级(严重) | 标点错误导致语义歧义 | 错别字导致语义完全改变,或出现在关键术语/人名/地名中 | 逻辑矛盾/伪因果/事实知识性硬错 |
5.3 政治性/政策性/合规性审查
对以下维度逐项检查,判定 ✅(无问题)或 ❌(存在问题):
- 滥用极限广告词(“全国第一”、"全球唯一"等不实夸大用语)
- 危害国家主权、领土完整、国家安全;歪曲党史国史;错误表述领导人姓名/职务/评价
- 违反民族、宗教政策
- 宣扬淫秽色情、暴力凶杀、封建迷信、邪教内容
- 违反法律法规、泄露国家秘密、涉密数据
- 违背国家大政方针、发表错误政治观点、违规刊载境外不当立场言论
- 虚假失实数据、造谣类内容(疫情、灾害、政法、外交等重大事项违规不实表述)
步骤 6:生成报告
严格按照 references/output-format.md 的模板输出报告。报告包含三部分:
- 审查概览:总体统计(含语言文字三个等级统计)
- 错误与偏差数据表(优先展示):所有 ❌ 和 ⚠️ 数据点
- 完整数据报告:
- 3.1 数字数据逐项验证(含数字用法违规检查)
- 3.2 事实陈述与观点方法逐项验证(含观点/方法来源追溯、政治性/政策性/合规审查)
- 3.3 引用来源与参考文献逐项验证(含 GB/T 7714 合规检查)
- 3.4 语言文字规范(三个子维度分别列表)
🔴 步骤 7:输出前强制自检(不可跳过)
报告生成后,必须逐项检查以下清单,全部通过才允许输出。任何一项未通过,必须回去修正。
============================================================
🔴 输出前强制自检清单
============================================================
□ 1. 脚本检查:文本是否通过 scripts/extract_text.py 提取?
→ 如未使用脚本,必须在报告开头标注警告。
□ 2. 来源链接全覆盖(逐条检查):
□ 每一个 [NUM] ✅/⚠️/❌/❓ 都有来源名称 + 来源链接?
□ 每一个 [FACT] ✅/⚠️/❌/❓ 都有来源名称 + 来源链接?
□ 每一个 [SRC] ✅/⚠️/❌/❓ 都有来源名称 + 来源链接?
□ 政治性审查 7 项每项都有判定依据?
□ 任何链接都不为空、不为占位符(如"待补充""无""N/A")?
→ 如有一条缺失,禁止输出,立即回去补充。
□ 3. 数据点全覆盖:
□ 原文中提取的每一个数据点都在报告中有对应条目?
□ 有没有遗漏的数据点?
→ 如有遗漏,禁止输出,补全后再输出。
□ 4. 新旧规则检查:
□ 所有判定都考虑了原文的时间节点和限定词?
□ ❌/❓ 数据点是否都附了"📎 最新可参考数据"?
→ 如有违反,回去修正。
□ 5. 输出格式检查:
□ 报告是否按 output-format.md 模板的三部分结构输出?
□ 表格列数与模板一致?
□ 语言文字问题分了 P/T/G 三类、每类三级?
============================================================
此自检清单持久生效:即使将该技能分享到其他用户或项目中,也必须执行此自检。
📦 技能分享与移植说明
接收方使用(零手动配置)
将整个 文件审核/ 文件夹放入 .claude/skills/ 目录后,无需任何手动操作。SKILL.md 第一步已内置自动依赖检测和安装——首次运行提取脚本时会自动 pip install pdfplumber python-docx。
必须包含的完整文件结构
文件审核/
├── SKILL.md ← 主文件(含自动安装逻辑)
├── scripts/
│ ├── extract_text.py ← 核心提取脚本
│ └── extract_pdf.py ← PDF 提取辅助
└── references/
├── output-format.md ← 报告模板
└── review-dimensions.md ← 审查维度标准
分享时禁止只发 SKILL.md——缺少 scripts/ 和 references/ 会导致功能完全失效。
常见问题排查
| 症状 | 原因 | 解决 |
|---|---|---|
脚本报错 No module named 'pdfplumber' |
自动安装未执行 | 手动运行 pip install pdfplumber python-docx |
| PDF 文本提取为空 | PDF 是扫描版图片 | 用 OCR 工具先转 TXT |
| DOC 文件提取失败 | 缺少 pywin32 | pip install pywin32 或提供方转存为 DOCX |
| 报告没有来源链接 | 模型跳过了步骤7自检 | 在对话中说"请执行输出前自检清单" |
注意事项
- 对无法核实的数据点如实标注 ❓,不强行判定。
- 来源链接必须真实可访问,不编造 URL。
- 搜索到矛盾信息时,标注"存在争议"并列出各方来源。
- 审查文档中的全部数据点,不遗漏。
- 观点和方法审查需追溯核心论点和方法的理论来源,交叉验证其原创性和可行性,检查是否与已有文献重合或存在学术不端。
- 参考文献审查需逐项核对 GB/T 7714 著录要素是否齐全、格式是否规范,对期刊论文需在知网/万方数据库中检索验证。
- 政治性审查为必检项,即使文档不涉及政治内容,也应在报告中逐一列出审查结果(写"未见违规")。
- 补搜最新数据:对 ❌ 和 ❓(含来源模糊无法判定)的数据点,必须额外搜索该主题的最新权威数据,附上来源名称和链接。目的是让用户不仅知道原数据有问题,还能获得可用的正确数据。