# Legal Citation Verify

> 法规引用验证技能。当用户写文章、报告时引用了法律法规、政策文件、司法解释等，需要对引用的准确性、有效性、合理性进行验证时触发。覆盖六大验证组（来源溯源、元数据核验、效力与版本、法理一致性、适用条件、引用质量）共18项检查，支持法律、行政法规、部门规章、司法解释、政策文件、地方性法规六类引用的差异化验证管道。核心工具链为北大法宝(pkulaw)、华宇元典(yuandian)、互联网检索(WebSearch)，采用引用归并+三阶段渐进验证架构。

- Skill: `cslawyer1985/legal-citation-verify` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add cslawyer1985/legal-citation-verify`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cslawyer1985/legal-citation-verify/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: cslawyer1985 (https://skillmd.com/u/cslawyer1985)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cslawyer1985/legal-citation-verify

---


# 法规引用验证技能

## 概述

对文章、报告中引用的法律法规、政策文件、司法解释等引用进行系统性验证，确保引用的法规真实存在、现行有效、条款准确、适用恰当。采用"引用提取 -> 分类路由 -> 六组并行验证 -> 汇总报告"的流水线架构，支持底线层(G1-G3)快速验证和深度层(G4-G6)按需启用两种模式。

## 触发条件

以下场景触发此技能：

- 用户写文章/报告时引用了法律法规或政策文件，要求验证引用准确性
- 用户要求核查AI生成内容中的法规引用是否准确
- 用户提到"验证引用""核查法条""检查法规准确性""法规是否有效"等
- 用户提交文档（docx/pdf/md）要求检查其中所有法规引用
- 用户在写作过程中主动触发，如"帮我验证这段法条引用"

## 前置条件

### 工具依赖

| 工具 | 用途 | 必需性 |
|------|------|--------|
| pkulaw (北大法宝) | 法规检索、条文精确查询、效力状态查询 | 首选 |
| yuandian (华宇元典) | 法律向量检索、幻觉检测、司法解释检索 | 首选 |
| WebSearch / WebFetch | 官方政府网站交叉验证、最新政策核实 | 必需 |

当 pkulaw 或 yuandian 不可用时，启用降级模式：仅使用 WebSearch 检索，准确率下降，输出报告中标注"降级验证"。

### 输入格式

| 输入方式 | 处理方式 |
|----------|----------|
| 粘贴文本 | 直接处理 |
| 上传文件(.docx/.pdf/.md) | 先用 markitdown-skill 转为纯文本 |
| URL | 用 WebFetch 抓取页面内容 |
| 截图 | OCR 提取文字 |

## 工作流程

### Pass 0：引用提取与分类

**目标**：从全文中提取所有法规引用，分类并归并。

**步骤 1：引用提取**

从文本中识别所有法规引用，包括标准引用和非标准引用：

- 标准引用模式（正则匹配）：
  - `《XX法》第X条` / `《XX条例》第X条第X款`
  - `《XX规定》（XXXX修订）` / `XX部令第X号`
  - `最高人民法院关于适用《XX法》若干问题的解释`
- 非标准引用（LLM 语义识别）：
  - 口语化表述："合同法里关于解除合同的那个条款"
  - 简称引用："劳动法第39条"（应为《中华人民共和国劳动法》）
  - 隐式引用：上下文中提及"根据相关规定"但未明确法规名称

每条引用封装为 Citation 对象：

```
Citation {
  id: "cit_001",
  raw: "原始引用文本",
  law_name: "法规标准名称",
  law_name_variants: ["简称", "全称", "变体写法"],
  article: "条款号（如 39 或 39.2）",
  article_text: "AI概述的条款内容（如有，无则为空）",
  implicit_summary: "从上下文提取的隐式概述（当article_text为空时自动填充，详见verification-engine.md G1-3）",
  context: "引用所在上下文段落（引用前后2-3句）",
  position: 原文中的字符位置,
  doc_type: "分类类型（待Pass 0步骤2确定）",
  version_hint: "版本提示（如 2018修正）"
}
```

**步骤 2：引用分类**

对每条 Citation 进行分类，分类规则详见 `references/classification-rules.md`。分类优先级：发文机关 > 文号格式 > 标题后缀。

| 类型 | 识别关键词 | 验证管道 |
|------|------------|----------|
| 法律 | "法"结尾 + 人大/主席令 | 全量 G1-G6 |
| 行政法规 | "条例" + 国务院令 | 全量 G1-G6 |
| 部门规章 | "办法/规定/细则" + 部令/局令 | G1-G5 + 部分 G6 |
| 司法解释 | 最高法/最高检 + "解释/规定/批复" | 特殊五步路径 + G1-G6 |
| 政策文件 | "通知/意见/决定/公告/函" + 无条款结构 | 仅 G1-G3 + G5 |
| 地方性法规 | 省/市/自治区 + 人大/政府 | 全量 G1-G6（加地方标记） |

分类不确定时，调用 pkulaw `search_article` 检索确认法规类型。

**步骤 3：引用归并**

将引用同一部法规（同一版本）的多条 Citation 归并为一个 CitationGroup：

```
CitationGroup {
  law_name: "法规标准名称",
  version: "版本标识",
  citations: [Citation, Citation, ...],
  doc_type: "分类类型"
}
```

归并策略：
- 同法规全称 + 同版本 → 归并为同一组
- 简称/变体写法 → 先通过 pkulaw 规范化为标准全称，再归并
- 同法规不同版本（如"劳动法"和"劳动法(2018修正)"）→ 不归并，分别建组

归并后进入 Pass 1 的检索对象从"每条引用"降为"每个法规组"。

### Pass 1：批量检索与缓存

**目标**：对每个 CitationGroup 执行一次检索，缓存原文和元数据。

对归并后的每个 CitationGroup，并行调用以下工具（每部法规仅调用一次）：

1. **pkulaw `get_law_list`**：获取法规元数据（效力状态、制定机关、发布日期、修订历史）。适用于法律、行政法规、部门规章、司法解释、地方性法规。政策文件类如数据库无收录则跳过。
2. **pkulaw `get_article`**：获取引用条款的原文（仅对有条款号的引用）
3. **yuandian `law_vector_search`**：语义检索补充（当 pkulaw 无结果时）
4. **WebSearch（政策文件强制）**：对政策文件类引用，**必须优先**从制定机关官方门户网站检索原文（如中央文件 → gov.cn，海南文件 → hainan.gov.cn 及 wjk.hnftp.gov.cn，部委文件 → 对应部委官网）。官方门户检索是政策文件的**第一优先级验证来源**，不可跳过。检索策略详见 `references/official-sources.md` 中的"政策文件专用验证流程"。
5. **WebSearch（通用交叉验证）**：对法律/行政法规/部门规章类引用，在数据库检索完成后追加官方 gov.cn 交叉验证

检索结果缓存为 LawRecord：

```
LawRecord {
  law_name: "法规标准名称",
  official_title: "官方标题",
  issuing_authority: "制定机关",
  doc_number: "文号",
  publish_date: "发布日期",
  effective_date: "施行日期",
  validity_status: "现行有效/已废止/已修订/尚未生效/部分失效",
  revision_history: ["修订记录1", "修订记录2"],
  articles: { "39": "条款原文", "40": "条款原文", ... },
  official_source_url: "官方来源URL（如有）",
  source_confidence: "high/medium/low",
  source_type: "official_portal/database/web_multi_source"  // 政策文件专用字段
}
```

当 pkulaw 和 yuandian 均无结果时，标记 `source_confidence: "low"` 并在 Pass 2 中加强 WebSearch 交叉验证。

**政策文件特有标注**：政策文件类引用在 LawRecord 中额外标注 `source_type: "official_portal" | "database" | "web_multi_source"`，标明原文的实际获取来源。只有 `source_type: "official_portal"` 的引用才符合 G1-1 的最高通过标准。

### Pass 2：六组验证引擎

**目标**：对每条 Citation，复用 Pass 1 缓存的 LawRecord 执行验证。

> **归并与验证的关系**：Pass 0 的引用归并仅影响 Pass 1 的检索次数（同一部法规只检索一次，缓存为一份 LawRecord）。**Pass 2 的验证仍逐条执行**——每个 CitationGroup 内的每条 Citation 独立验证条款精确性（G2-1 条款号存在性）、原文比对（G1-3）和引用意图匹配（G6-1）等检查项，因为这些检查依赖于每条引用各自不同的条款号和上下文。归并优化的是"检索"环节，不是"验证"环节。

验证分两层执行：

**底线层（默认启用，所有文章类型）**：

| 组 | 检查项 | 核心逻辑 |
|----|--------|----------|
| G1 来源溯源 | 官方渠道验证、非官方过滤、原文比对 | 确认原文来自制定机关官方渠道，非民间转载 |
| G2 元数据核验 | 文号格式、标题一致性、机关权责 | 文号、标题、发文机关三项齐全且逻辑自洽 |
| G3 效力与版本 | 效力状态、修订链、最新版本 | 确认法规现行有效，使用的是最新版本 |

> **G1 与 G2 的执行顺序说明**：G1-1（官方渠道验证）所需的"制定机关"信息直接从 Pass 1 缓存的 LawRecord.`issuing_authority` 字段获取，**不依赖 G2-3 的机关权责匹配结果**。LawRecord 在 Pass 1 阶段已通过 pkulaw `get_law_list` 获取并缓存了制定机关信息，因此 G1 和 G2 之间不存在循环依赖，两组可并行执行。

**深度层（按需启用，适用于政策报告/学术论文/政府公文）**：

| 组 | 检查项 | 核心逻辑 |
|----|--------|----------|
| G4 法理一致性 | 上位法一致性、同位法协调、内部逻辑自洽 | 检查引用条款与上位法是否冲突 |
| G5 适用条件 | 适用地区、适用对象、有效期限 | 确认法规适用于文章讨论的地区、对象和时间 |
| G6 引用质量 | 引用意图匹配、替代指引、兜底条款风险、地方法规特殊性 | 检查引用是否真正支撑论点 |

六组验证引擎的详细检查逻辑、工具调用方式和判定规则详见 `references/verification-engine.md`。

**渐进验证开关**：

```
对每条 Citation：
  1. 先执行 G1 + G2 + G3（底线层）
  2. 底线层全部通过 → 标记"基本可信"
     - 普通文章（公众号/科普）→ 到此为止
     - 严肃文章（政策报告/论文/公文）→ 继续执行 G4 + G5 + G6
  3. 底线层任一告警 → 自动触发对应条目的深度层验证
```

### 司法解释特殊处理路径

司法解释的有效性寄生在母法上，需在常规验证前执行五步特殊检查：

1. **解析母法**：从司法解释标题中提取被解释的法律名称
   - 标准格式："关于适用《XX法》若干问题的解释" → 提取"XX法"
   - 非标准格式：调用 LLM 从标题和内容中推断母法
2. **追溯母法有效性**：查询母法效力状态。母法已废止 → 司法解释标记"失效"，终止验证
3. **查新替代版本**：检索同一母法下是否存在更新的司法解释
4. **条款反查母法**：验证司法解释引用的条款对应的母法条款是否存在
5. **常规验证**：通过前四步后，执行 G1-G6 常规验证

**格式校验规则**：
- 发文机关必须为"最高人民法院"或"最高人民检察院"
- 标题须包含"关于" + "解释/规定/批复/决定"关键词
- 不符合格式 → G2 直接标记"格式不规范"

### Pass 3：汇总报告

**目标**：汇总所有验证结果，生成结构化报告。

报告格式：

```
## 法规引用验证报告

### 一、验证概览
- 引用总数：X 条
- 通过（底线验证）：X 条 | 通过（基础结构检查）：X 条 | 通过（深度法理分析）：X 条 | 存疑：X 条 | 失效：X 条 | 错误：X 条
- 综合置信度：XX%
- 验证模式：底线层(G1-G3) / 全量(G1-G6) / 全量激进(G1-G6, 激进模式)
- 时间语境：明确 / 模糊 / 未检测到

### 二、逐条验证结果

| # | 引用原文 | 法规名称 | 条款 | 状态 | 验证深度 | 问题说明 | 修正建议 |
|---|----------|----------|------|------|----------|----------|----------|
| 1 | 《XX法》第39条 | XX法 | 39 | 通过 | 底线验证(G1-G3) | - | - |
| 2 | 《XX规定》第5条 | XX规定 | 5 | 失效 | 底线验证(G1-G3) | 已被XX号文件废止 | 替换为《XX办法》第X条 |
| 3 | 《XX条例》第12条 | XX条例 | 12 | 存疑 | 深度验证(G1-G6,保守) | 条款内容与原文存在差异 | 原文："..."；引用概述："..." |
| 4 | 《XX法》第8条 | XX法 | 8 | 通过 | 深度验证(G1-G6,激进) | - | - |

### 三、需人工复核项
[列出所有"存疑"项的详细说明和复核建议]

### 四、降级验证说明（如适用）
[说明哪些引用因工具不可用而降级验证]

### 免责声明
本验证结果基于法律数据库和公开互联网信息生成，不构成法律意见。
法规效力状态以有权机关正式公告为准。建议对"存疑"及"失效"项进行人工复核。
```

**状态码定义**：

| 状态 | 含义 | 触发条件 |
|------|------|----------|
| 通过（底线验证） | 法规有效、条款准确、适用恰当 | G1-G3 全部通过，深度层未执行 |
| 通过（基础结构检查） | 底线层 + 深度层结构化检查均通过 | G1-G6 全部通过，G4/G6 为保守模式（仅结构化检查，未执行深度法理分析） |
| 通过（深度法理分析） | 底线层 + 深度层语义分析均通过 | G1-G6 全部通过，G4/G6 为激进模式（LLM 深度语义分析通过） |
| 存疑 | 部分检查项存在不确定性 | 某些检查项置信度低于阈值，但未确认错误 |
| 失效 | 法规已废止/已修订/已过期 | G3 确认法规不再有效 |
| 错误 | 法规/条款不存在或内容严重不符 | 法规名称无法匹配，或条款号不存在，或内容严重偏离原文 |

> **重要提示**：用户需注意"通过（基础结构检查）"与"通过（深度法理分析）"的区别。保守模式的"通过"仅表示条款号存在、关键词无表面矛盾，**不代表无法理冲突**。如需确认无法理冲突，应使用激进模式。

## 工具连接层

工具按以下优先级调用，支持降级：

```
pkulaw (首选法律数据库)
  ↓ 不可用时
yuandian (备用法律数据库)
  ↓ 不可用时
WebSearch (互联网检索，准确率下降)
```

### pkulaw 工具映射

| 验证组 | 工具 | 用途 |
|--------|------|------|
| G1, G2, G3 | `mcp__pkulaw__mcp-law/get_law_list` | 获取法规元数据和效力状态 |
| G2 | `mcp__pkulaw__mcp-law-search-service/get_article` | 精确查询条款原文 |
| G1, G2 | `mcp__pkulaw__mcp-law-search-service/search_article` | 语义检索（名称不规范时） |

### yuandian 工具映射

| 验证组 | 工具 | 用途 |
|--------|------|------|
| G2, G5 | `mcp__yuandian-mcp__yuandian_law_vector_search` | 法律向量语义检索 |
| G2 | `mcp__yuandian-mcp__yuandian_hall_detect` | 内容幻觉检测（原文 vs AI概述比对） |
| G4 | `mcp__yuandian-mcp__yuandian_rh_fg_search` | 法规检索（法理一致性比对） |

### WebSearch 工具映射

| 验证组 | 用途 |
|--------|------|
| G1 | 检索发文机关官网，交叉验证原文 |
| G3 | 检索最新废止/修订公告 |
| G5 | 检索政策文件的适用地区和对象 |

官方来源白名单和交叉验证逻辑详见 `references/official-sources.md`。

## 关键设计决策

### 1. 来源验证的两层架构

用户要求"必须从文件制定机关的官方渠道获取原文"。实际操作中，官方政府网站检索能力有限，且并非所有法规都能在官网找到原文。因此采用两层架构：

- **第一层（数据库检索）**：通过 pkulaw/yuandian 获取法规原文和元数据。这些数据库的文本来源于官方公报，具有较高可信度。
- **第二层（官方交叉验证）**：对"存疑"和"失效"状态的引用，以及政策文件类引用，通过 WebSearch 检索发文机关官网进行交叉验证。对"通过"状态的引用，抽检关键信息（如效力状态、施行日期）与官方信息比对。

报告中标注每条引用的来源置信度：
- `high`：数据库 + 官方来源双重验证通过
- `medium`：仅数据库验证通过，官方来源未找到或不一致
- `low`：仅互联网检索，未经数据库验证

### 2. G4/G6 验证模式

G4（法理一致性）和 G6（引用质量）涉及实质性法律推理，准确率较低（50-75%）。默认采用**保守模式**：

- 保守模式（默认）：G4 和 G6 仅做结构化检查（条款号存在、关键词重叠、兜底条款识别），不做深度语义推理。输出"建议人工复核"而非确定性结论。
- 激进模式（用户主动开启）：G4 和 G6 使用 LLM 做深度语义分析，输出置信度 + 风险提示。适用于政策报告提交前、学术论文投稿前等高要求场景。

### 3. 政策文件特殊处理

政策文件（通知/意见/决定等）具有以下特殊性，验证管道需相应调整：

- **官方门户优先原则**：政策文件必须优先从制定机关官方门户网站获取原文，不得仅依赖数据库摘要或非官方转载。这是政策文件验证的核心规则：
  - 制定机关为国务院 → 从 gov.cn 获取
  - 制定机关为海南省政府 → 从 hainan.gov.cn 获取
  - 制定机关为海南自贸港相关 → 从 wjk.hnftp.gov.cn（自贸港法规政策库）获取
  - 制定机关为其他省级/市级政府 → 从对应 .gov.cn 域名获取
  - 官方门户无法找到原文 → 降级为数据库验证，报告中标注"官方门户未找到原文，以下验证基于数据库/互联网来源"
- **无条款结构**：多数政策文件是段落式行文，没有"第X条"。G2 条款精确性检查默认跳过，改为段落级内容匹配。**后置规则**：如果引用文本中包含"第X条"等条款编号（部分政策文件如《国务院关于XX的若干规定》确有条款结构），则自动启用 G2 条款精确性检查，验证管道升级为"G1-G3 + G5 + G2 条款精确性"。详见 `references/classification-rules.md` 中的"后置规则——条款结构检测"。
- **有效期不明确**：许多政策文件没有明确的有效期，也无正式废止公告。处理逻辑：
  1. 首先在官方门户检索是否有明确的废止/失效公告
  2. 搜索是否有替代性文件
  3. 标题含"暂行/试行/临时"且发布超过5年 → 标记"效力待定"
  4. 以上均无 → 默认"现行有效"但标注"未发现废止声明"
- **效力层级模糊**：政策文件不属于正式法律体系层级，G4 上位法一致性检查降级为"合理性判断"。

### 4. 时间语境感知

引用的版本选择受文章时间语境影响：

- 提取文章中的时间线索（讨论的事件日期、"根据当时的规定"等表述）
- 如果文章讨论的事件发生在某法规修订前，引用该法规的旧版本是合理的
- 如果文章未指定时间语境，默认使用最新版本
- Pass 0 步骤1 中提取的时间线索写入 Citation 对象的 `version_hint` 字段

**时间语境置信度评估**（三级）：

| 置信度 | 判定条件 | 处理方式 |
|:---:|:---|:---|
| **明确** | 文章中有具体年份/日期（如"2019年""2020年3月15日"） | 按该时间点匹配适用版本 |
| **模糊** | 文章中有模糊时间词（如"近年来""此前""前几年"） | 默认使用最新版本，同时验证最近一个旧版本，在报告中对比差异 |
| **未检测到** | 文章中无任何时间线索 | 默认使用最新版本，报告中标注"未检测到时间语境" |

**模糊/未检测到的降级处理**：
1. 默认使用最新版本进行验证
2. 同时检索该法规的修订历史，如果存在近年重大修订（如民法典施行导致的法律替代），在报告中额外标注"⚠️ 该法规近年有重大修订，当前验证基于最新版本。如文章讨论的是修订前事件，建议人工确认适用版本"
3. 报告中的"验证概览"栏增加"时间语境"字段，标注为"明确 / 模糊 / 未检测到"三档之一

## 边界与免责

1. **不构成法律意见**：验证结果仅供引用核查参考，不构成法律意见。法规效力状态以有权机关正式公告为准。
2. **准确率限制**：底线层(G1-G3)硬错误检出率约90%以上；深度层(G4-G6)为置信度提示，不替代法律专业判断。
3. **覆盖范围限制**：国家级法律法规覆盖较好；地方性法规、部门规范性文件覆盖参差不齐，可能需要人工补充检索。
4. **时效性限制**：数据库更新可能滞后数周至数月，最新法规动态以官方发布为准。

## 资源文件

### references/

- `classification-rules.md` — 引用分类路由规则详解，包含6类引用的识别规则、优先级判定、模糊匹配策略、归并规则
- `verification-engine.md` — 六组验证引擎详解，包含G1-G6共18项检查的详细逻辑、工具调用方式、判定阈值、准确率预估
- `official-sources.md` — 官方来源白名单，包含各级机关官网清单、非官方来源黑名单、交叉验证逻辑

使用 references 文件时，先用 Grep 搜索定位相关内容，再按需 Read 加载到上下文。

