# Legal Fact Checker

> 法律产出事实核查技能。当用户需要撰写、编辑、分析任何法律文件（法律文书、案例分析、法条评析、合同审查、法律意见书、法学作业等）时触发此技能。核心原则：一切法律产出必须有事实依据，禁止编纂案例、法规或事实。触发词：法律文件、案例分析、法条分析、合同审查、法律意见、法学作业、案例检索、法规验证、事实核查、凶宅案、合同纠纷、民法作业、法律写作、legal writing、fact check、法律产出。

- Skill: `zuoguyoupan2023/legal-fact-checker` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add zuoguyoupan2023/legal-fact-checker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zuoguyoupan2023/legal-fact-checker/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zuoguyoupan2023 (https://skillmd.com/u/zuoguyoupan2023)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/zuoguyoupan2023/legal-fact-checker

---


# Legal Fact Checker — 法律产出事实核查技能

## 核心原则

**一切法律产出必须有事实依据。禁止编纂案例、法规或事实。**

本技能在法律相关任务中强制执行三道防线：
1. 用户材料锚定——优先核对用户放在任务文件夹里的法规、案例、PDF、网页截图、数据库结果和 Word 文档
2. 可用时回源——有北大法宝 MCP 或网页权限时再做回源核验；没有权限时标 `[待补: 来源]`，不得声称已验证
3. 无据声明——提交前自检，单独输出无据内容清单

---

## 工作流程

### 阶段一：文档转换与锚定（Document Anchoring）

当用户提供包含 PDF 或 Word 文件的文件夹时：

1. **扫描文件夹**：识别所有 `.pdf`、`.docx`、`.doc` 文件
2. **逐个转换**：
   - PDF 文件 → **优先使用 `markitdown`**（对长文档更可靠，不易截断）；如需版面还原则用 `PaddleOCR Document Parsing` 补充
   - Word 文件 → 使用 `docx` 或 `Docx Cn` skill 转为 Markdown
3. **⚠️ 转换完整性验证（强制）**：转换完成后必须执行以下检查，**不得跳过**：
   - **章节覆盖检查**：提取 MD 中所有章节标题（`## Chapter`、`## 第X章`等），与 PDF 目录页对照，确认最后一章在 MD 中存在
   - **长度合理性检查**：如果 MD 长度明显偏短（如只有预期的 60%），必须怀疑截断，用 markitdown 交叉验证
   - **关键词锚定检查**：如果用户问的是特定内容，搜索该内容是否在 MD 中出现；**搜索未命中时，先怀疑解析不完整，再怀疑原文确实没有**
   - **双工具交叉验证**：长 PDF（>30页）必须同时用 markitdown 和 PaddleOCR 转换，取内容更完整的版本
4. **保留引用位置**：转换后的 Markdown 必须标注原文出处位置（页码、段落号、章节标题），格式示例：
   ```
   <!-- 来源：某某判决书.pdf 第3页 -->
   原告[当事人A]于[日期]通过[交易/行为]取得[标的物]……
   ```
5. **存储转换结果**：将所有转换后的 MD 文件存放在工作目录的 `_source_md/` 子文件夹中
6. **锚定声明**：在后续所有工作中，凡引用文件夹内容，必须能在 `_source_md/` 中找到对应原文。**不得凭记忆或推测补充细节。**

> ⚠️ 如果文档转换失败或内容不完整，必须明确告知用户哪些部分未能转换，不得跳过此步骤直接开始写作。
>
> 🚫 **绝对禁止**：在未验证转换完整性的情况下，基于不完整的转换结果下"原文没有"的结论。这是已发生过的严重错误（2026-04-26：PaddleOCR 丢失 PDF 后半部分，直接得出"Outline 不含 Chapter 7-9"的错误结论）。

### 阶段二：内容撰写与引用纪律

在撰写法律文件时：

1. **严格引用**：所有事实陈述必须可追溯到 `_source_md/` 中的原文、用户提供的数据库/网页材料，或经可用 PKULaw MCP/网页回源的来源
2. **案例引用规则**：
   - 案号必须完整准确（如 `(20XX)XX民初XXXXX号`）
   - 当事人姓名必须与原文一致
   - 判决结果、赔偿金额等数字必须逐字核对
   - 不得凭印象编写案例细节
3. **法规引用规则**：
   - 法条编号必须准确（如《民法典》第148条，不是第147条）
   - 法条内容必须与原文一致，不得意译后当作原文引用
   - 引用具体款项时必须标注（如第1款、第2项）
4. **标注来源**：在写作过程中，对每个关键事实标注来源：
   - `[来源：_source_md/判决书.md 第5页]` —— 来自文件夹文档
   - `[来源：PKULaw MCP/网页回源通过]` —— 经用户可用的法宝权限回源
   - `[待补: 来源]` —— 未能找到来源或当前没有可用回源权限（必须在最终提交前处理）

### 阶段三：PKULaw 回源（可用时）

北大法宝是增强回源工具，不是使用本 skill 的安装前提。核验顺序如下：

1. **先核用户给出的来源**：
   - 如果用户已经把法规、案例、PDF、网页截图、数据库结果放进文件夹，先逐字核对这些材料。
   - 不要因为没有联网或没有 MCP，就重新编造来源或跳过本地来源核验。

2. **有基础 PKULaw MCP 时再回源**：
   - 法规或规范性文件：用 `law-keyword` / `get_law_list` 找法规线索。
   - 已知法规名和条号：用 `fatiao` / `get_law_item_content` 核对条文原文。
   - 案例线索：用 `case-keyword` / `get_case_list` 检索案例列表，并核对案名、法院、案号、日期和相关段落。

3. **没有 MCP 或没有对应订阅时**：
   - 如果用户有浏览器登录/IP 权限，可转 `pkulaw-legal-search` 做网页兜底。
   - 如果无法回源，标 `[待补: PKULaw 回源]` 或 `[待补: 来源]`。
   - 禁止写“已在北大法宝验证”“引用准确”等确定性结论。

4. **高级 MCP 只在确认订阅时使用**：
   - `citation-validator`、`doc-link`、`case-number`、`semantic-nlsql`、`law-recognition` 等属于高级可选能力。
   - 未确认订阅时，不得把这些高级能力写进已完成步骤；改用基础三项或网页兜底。

5. **验证记录**：每次核验后在内部记录：
   ```
   [来源核验] 案例：(20XX)XX民初XXXXX号 → 已用 case-keyword 回源 / 待补: PKULaw 回源
   [来源核验] 法规：《法律名称》第X条 → 已用 fatiao 核对原文 / 待补: 来源
   ```

### 阶段四：三遍自检（Triple Review）

在向用户提交完整版之前，**必须**执行三遍事实核查：

**第一遍：文档回溯核查**
- 逐段检查：每个事实陈述是否能在 `_source_md/` 中找到对应原文？
- 标记所有无法回溯的内容

**第二遍：回源交叉验证**
- 对影响结论的案例引用，用用户提供来源、可用 PKULaw MCP 或网页权限回源。
- 对影响结论的法规引用，用用户提供来源、可用 PKULaw MCP 或网页权限回源。
- 没有 MCP、没有网页登录权限或高级订阅缺失时，标记为 `[待补: 来源]` 或 `[待补: PKULaw 回源]`，不得声称已验证。

**第三遍：逻辑一致性核查**
- 案号与法院是否匹配？
- 当事人与案由是否匹配？
- 判决结果与法律适用是否匹配？
- 金额数字是否前后一致？
- 时间线是否合理？

每遍核查后记录结果，三遍全部完成后生成无据声明文件。

### 阶段五：无据声明（Unsourced Content Declaration）

**必须**生成一个独立的 Markdown 文件 `UNSOURCED.md`，内容包括：

```markdown
# 无据内容声明

生成时间：[日期时间]
文件来源：[对应的产出文件名]

## ⚠️ 以下内容未找到实际依据

### 1. [具体内容描述]
- **位置**：产出文件第X段 / 第X页
- **内容**：[原文摘录]
- **原因**：[未在文件夹文档中出现 / 当前无可用 PKULaw 回源 / 其他]
- **建议**：[需要用户提供补充材料 / 需要进一步检索 / 建议删除]

### 2. ……

## ✅ 已验证内容摘要

- [案例1]：文件夹来源回溯验证通过 / PKULaw 回源通过
- [法规1]：文件夹来源回溯验证通过 / PKULaw 回源通过
- [事实1]：文件夹文档回溯验证通过（来源：_source_md/XX.md 第X页）

## 验证统计

| 类别 | 总数 | 已验证 | 未验证 |
|------|------|--------|--------|
| 案例引用 | X | X | X |
| 法规引用 | X | X | X |
| 事实陈述 | X | X | X |
```

---

## 强制规则

1. **绝不编纂**：不确定的内容标注为无据，而不是编造
2. **绝不假装验证**：即使时间紧迫，也必须说明来源状态；没有 MCP 或网页权限时，标 `[待补: 来源]`，不得声称已经法宝验证
3. **绝不隐瞒**：无据内容必须如实声明，不得在用户不问的情况下省略
4. **三遍核查不可省略**：提交完整版之前必须完成三遍自检
5. **数字特别敏感**：金额、日期、案号等数字信息必须逐字核对，一个数字错误即构成事实问题
6. **当事人姓名必须原文**：不得用"某"替代原文中的具体姓名，除非原文本身使用"某"
7. **转换完整性必须验证**：PDF 转 MD 后必须检查章节覆盖和长度合理性，**禁止在未验证的情况下基于不完整结果下"原文没有"的结论**。搜索未命中时，先怀疑解析质量，再怀疑原文确实没有

---

## 适用场景

- 法学课程作业（案例分析、法条评析）
- 法律文书撰写（起诉状、答辩状、代理词）
- 合同审查与法律意见书
- 学术论文中的案例与法规引用
- 任何需要引用案例或法规的法律写作

---

## 与其他技能的协作

| 协作技能 | 用途 |
|----------|------|
| `docx` / `Docx Cn` | Word 文件转 Markdown |
| `PaddleOCR Document Parsing` | PDF 文件转 Markdown（含表格、版面） |
| `Pdf Extract` | PDF 文本提取 |
| `legal-citation-automator` | 法律引用脚注格式化 |
| `legal-homework-formatter` | 民法作业格式调整 |
| `法条结构化拆解` | 法条构成要件分析 |
| `类案检索验证` | 类案检索与验证 |
| `不确定法律概念深挖` | 法条模糊概念分析 |

---

## 北大法宝 MCP 能力速查

默认推荐只依赖基础三项；它们通常已经足够完成法学生常见的法规、法条和案例回源。

| 能力 | 推荐 MCP | 用途 | 缺少时 |
|------|----------|------|--------|
| 法规关键词检索 | `law-keyword` / `get_law_list` | 找法规、司法解释、规范性文件线索 | 使用用户提供来源或网页兜底；仍缺则标 `[待补: 来源]` |
| 精准法条查找 | `fatiao` / `get_law_item_content` | 已知法规名和条号时核对条文原文 | 要求用户提供法规原文/截图；仍缺则标 `[待补: 法条原文]` |
| 案例关键词检索 | `case-keyword` / `get_case_list` | 找案例列表、案号、法院和裁判线索 | 使用用户提供案例材料或网页兜底；仍缺则标 `[待补: 案例来源]` |

高级可选能力如 `citation-validator`、`doc-link`、`case-number`、`semantic-nlsql`、`law-recognition` 只有在用户确认已订阅时才调用。未订阅时，不要调用旧工具名，也不要把未完成的高级核验写成已经完成。

