# 证据清单生成

> 证据清单生成技能，用于将用户提供的案件材料整理为可提交、可编辑的标准证据清单。当用户要求生成证据清单、证据目录、证据列表，或整理证据名称、页码、原件状态和证明对象时应触发，即使用户只说“帮我把这些证据整理成表”。核心交付物为证据清单 Word 文档。不用于判断证据真实性、合法性、关联性和证明力，不负责举证策略、证据补强或质证意见。

- Skill: `ahang1598/skill-148` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add ahang1598/skill-148`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ahang1598/skill-148/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: ahang1598 (https://skillmd.com/u/ahang1598)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ahang1598/skill-148

---


# 证据清单生成技能

专业的证据清单生成技能，帮助律师从案件材料中提取关键信息，生成符合诉讼要求的标准格式证据清单。

## 前置条件

**必须**：用户已提供或准备提供以下材料之一：
- 案件相关文档（合同、协议、往来函件、聊天记录等）
- 证据材料清单或证据描述
- 案件事实概述及相关证据说明

若用户未提供任何材料，先询问用户案件基本情况和已有证据材料，不可在无材料的情况下执行生成。

## 约束原则

### 1. 真实性约束
证据清单中所有证据名称、页码、证明对象必须严格基于用户提供的材料提取，严禁编造或虚构任何证据 — 虚假的证据清单会严重误导诉讼策略，甚至导致律师面临执业风险。

### 2. 完整性要求
用户提供多少份证据材料，就提取并列出多少项证据。禁止自行筛选、遗漏或合并证据项（除非用户明确要求合并同类证据）。

### 3. 证明对象精准性
- 证明对象必须**精准、具体**，避免模糊表述
- 每条证明对象应明确指出该证据能证明的具体案件事实
- 采用"证明……的事实"标准表述格式
- 同一证据可有多项证明对象时，按逻辑顺序分条列明（如参考图片所示）

### 4. 格式规范性
严格遵循标准证据清单格式（见下方"输出格式"），包含五列：
- **序号**：从 1 开始连续编号
- **证据名称**：准确描述证据内容及形成时间
- **页码**：标明证据在证据材料中的页码范围
- **原/复印件**：明确标注"原件"或"复印件"
- **证明对象**：分条列明该证据的证明目的

## 不适用场景

本技能**不适用于**以下场景：
- **证据质证意见撰写** → 使用 `综合证据策略` 模式A（综合证据分析）
- **证据合法性审查** → 使用 `综合证据策略` 模式A（综合证据分析）
- **证据效力评估** → 使用 `综合证据策略` 模式A（综合证据分析）
- **类案检索** → 使用 `律师类案检索与报告`

## 工作流程

**以下阶段必须严格按顺序执行。每个阶段必须在前一阶段完成后才能开始，不得跳步。**

### 阶段一：材料接收与分类

1. **接收用户材料**：
   - 用户可能以文字描述、文件上传、或粘贴文本形式提供材料
   - 若材料不清晰或缺失关键信息，主动询问补充

2. **询问证据提供者信息（必须执行）**：
   - **明确询问**：「请问这份证据清单是由哪一方提供的？」
   - **提供选项**：
     - 原告提供
     - 被告提供
     - 第三人提供
     - 其他（请说明）
   - **记录提供者信息**：用于更新证据清单标题和提交人信息

3. **材料分类整理（必须输出）**：
   - 按证据类型分类：书证、物证、视听资料、电子数据、证人证言等
   - 按证明目的分组：如"证明合同关系成立"、"证明违约事实"、"证明损失金额"等
   - 记录每份证据的关键信息：名称、形成时间、页码、原件/复印件状态
   - **固定输出**：进入阶段二前，必须在对话中输出分类结果（证据类型 + 证明目的分组清单），不得静默跳过

4. **材料完整性检查（必须输出）**：
   - 核对证据链是否完整（如合同+付款凭证+催款函）
   - 提示用户可能缺失的关键证据（如"建议补充银行转账记录以证明付款事实"）
   - **固定输出**：进入阶段二前，必须输出"已有证据 + 建议补充证据"清单；**即使用户只提供了单一文件（如仅一份合同），也必须提示建议补充的证据**（如付款凭证、交付签收单、往来函件、验收报告等），以形成完整证据链
   - 完整性提示不阻塞流程：输出提示后继续进入阶段二，无需等待用户补充

### 阶段二：证据信息提取

对每份证据提取以下信息：

| 提取字段 | 说明 | 示例 |
|----------|------|------|
| **证据名称** | 准确描述证据内容及形成时间 | "2021年3月20日签署的协议书、46万元打款凭证" |
| **原始页码** | 证据在原始材料中的页码范围（如用户提供） | "1-3"、"4-8" |
| **重排页码** | 按证据顺序重新编排的连续页码 | "1-3"、"4-8"、"9-12" |
| **原/复印件** | 明确标注 | "原件" 或 "复印件" |
| **证明对象** | 该证据能证明的具体案件事实（可多项） | "1. 证明原被告之间存在居间关系……"<br>"2. 证明原告向被告支付了46万元居间费用的事实" |

**提取规则**：
- **证据名称**：包含关键要素（时间 + 文件类型 + 核心内容），控制在 50 字以内
- **页码处理（重要）**：
  - **单份材料**：直接使用用户提供的页码
  - **多份材料**：必须按证据顺序重新编排页码，保证连续性
    - 第 1 份证据：从第 1 页开始，如 "1-3"
    - 第 2 份证据：紧接上一份，如 "4-8"
    - 第 3 份证据：继续延续，如 "9-12"
    - 以此类推，确保页码连续无断层
  - **页码计算方法**：
    0. **docx 页数提取（强制）**：从 docx 提取页数时，须**同时统计两种分页符**——`lastRenderedPageBreak`（Word 渲染分页）与 `w:br type="page"`（显式分页符），缺一不可；先得出并打印文档**总页数**做校验基准，再按段落定位每份证据的起止页。**禁止**用目录页码或粗估推算页数；清单页码总跨度不得超过文档实际总页数
    1. 统计每份证据的页数（结束页 - 起始页 + 1）
    2. 第 N 份证据的起始页 = 前 N-1 份证据的总页数 + 1
    3. 第 N 份证据的结束页 = 起始页 + 本证据页数 - 1
  - 若用户未提供页码，标注为"待确认"，并在生成后提示用户补充
- **原/复印件**：若用户未明确，默认为"复印件"，并在生成后提示用户核实
- **证明对象**：
  - 必须基于证据内容客观提炼，不得夸大或缩小证明范围
  - 使用"证明……的事实"标准表述
  - 多项证明对象按逻辑顺序编号（1. 2. 3. …）
  - 避免主观推断（如"证明被告恶意违约"应改为"证明被告未按约履行付款义务的事实"）

### 阶段三：清单生成与质量检查

1. **生成证据清单**：
   - 按证明目的或证据类型合理排序
   - 序号从 1 开始连续编号
   - **页码重排（多份材料时必须执行）**：
     - 统计每份证据的页数
     - 按顺序重新编排连续页码（第 1 份从 1 开始，后续依次延续）
     - 示例：3页 + 5页 + 4页 → "1-3"、"4-8"、"9-12"
   - 检查格式规范性（五列完整、对齐）

2. **质量检查清单（必须逐条输出）**：

生成清单后、运行门禁脚本**之前**，必须在对话中逐项输出以下六项自查结果（每项标 ✅ 通过 / ❌ 不通过及修正说明），**未输出六项自查结果不得运行门禁脚本**：

| # | 检查项 | 标准 | 处理方法 |
|---|--------|------|----------|
| 1 | 证据名称准确性 | 是否准确反映证据内容及时间 | 修正模糊或不准确描述 |
| 2 | 页码连续性 | 多份材料时页码是否连续无断层 | 重新计算并修正页码 |
| 3 | 页码完整性 | 是否全部标注页码且连续 | 标注"待确认"并提示用户；多份材料时确保连续性 |
| 4 | 原/复印件标注 | 是否明确标注 | 标注"复印件（待核实）"并提示用户 |
| 5 | 证明对象精准度 | 是否具体、客观、无夸大 | 修正主观表述，确保客观准确 |
| 6 | 证据链完整性 | 关键证据是否缺失 | 向用户提示建议补充的证据 |

**自查与门禁的分工（强制）**：上表是**模型自查**，管内容质量（证明对象是否精准、证据名称是否准确）；门禁脚本是**硬校验**，管格式合规（列齐备、页码连续、落款完整）。两者缺一不可，不得以门禁脚本替代自查，也不得以自查替代门禁。

3. **脚本硬门禁（必须执行）**：

自查输出完成后，先把 Markdown 清单写入文件（如 `outputs/证据清单_案件名称.md`），再运行门禁脚本做硬校验：

```bash
python3 scripts/validate_evidence_list.py --file "outputs/证据清单_案件名称.md" --evidence-count 4
```

- `--evidence-count` 填**用户实际提供的证据材料份数**（防漏项、防合并）；不确定时可省略，但省略即不校验完整性
- 页码沿用原始卷宗页码（含单份材料）时加 `--original-pages`
- 退出码：`0` 通过 / `1` 拦截（打印逐条明细：哪一行哪一项不合格）/ `2` 输入错误
- **退出码非 0 时禁止进入阶段四预览**：按拦截明细逐条修正后重跑，直至通过

### 阶段四：Markdown 预览确认（必须执行）

在调用任何文档生成工具之前，**必须**先将完整的证据清单以 Markdown 表格格式输出给用户，并明确提示：

> 以下为生成的证据清单预览，请确认内容无误（特别是页码、原/复印件状态、证明对象表述）后，我将生成 Word 文档。

**预览格式示例**：

```markdown
## 证据清单（原告提供）

| 序号 | 证据名称 | 页码 | 原/复印件 | 证明对象 |
|------|----------|------|-----------|----------|
| 1 | 2021年3月20日签署的协议书、46万元打款凭证 | 1-3 | 复印件 | 1. 证明原被告之间存在居间关系，双方明确约定"非原告原因居间不成功则返还全部已交居间费"。<br>2. 证明原告向被告支付了46万元居间费用的事实。 |
| 2 | 2022年9月4日签署的协议书、13.4万元收款凭证 | 4-8 | 复印件 | 1. 证明双方约定被告应按约返还全部已交的46万元居间费。<br>2. 证明被告仅返还原告13.4万元，仍有12.6万元距今费用未返还的事实。 |

---

**提交人（代理律师）：** _______________

**提交日期：** 2025年4月7日
```

**证据提供者动态更新规则**：

根据用户在阶段一提供的信息，自动更新证据清单标题：

| 提供者 | 证据清单标题 | 示例 |
|--------|-------------|------|
| 原告 | 证据清单（原告提供） | 原告张三诉被告李四合同纠纷案 |
| 被告 | 证据清单（被告提供） | 被告李四答辩证据 |
| 第三人 | 证据清单（第三人提供） | 第三人王五参与诉讼证据 |
| 其他 | 证据清单（XX提供） | 根据用户说明自定义 |

**提交人信息**：
- 默认格式："提交人（代理律师）：_______________"
- 若用户提供律师姓名，则填写："提交人（代理律师）：张三律师"
- 若用户未提供律师信息，保留空白下划线供手动填写

️ **页码重排示例（多份材料）**：

当用户提供多份证据材料时，必须重新编排连续页码：

**原始材料页码**（用户提供）：
- 证据1：第 1-3 页（3页）
- 证据2：第 5-9 页（5页，原始材料中的页码）
- 证据3：第 12-15 页（4页，原始材料中的页码）

**重排后页码**（证据清单中使用）：
- 证据1：1-3（3页，从1开始）
- 证据2：4-8（5页，紧接证据1）
- 证据3：9-12（4页，紧接证据2）

这样确保在证据清单中页码是连续的，便于法院查阅。

等待用户明确确认（如"确认""可以""没问题""生成"等）后，方可进入下一步生成 Word 文档。如用户提出修改意见，返回阶段二调整后再重新预览确认。

### 阶段五：生成 Word 文档（三档降级，首选预置脚本）

用户确认后生成 Word 文档。**强制**：严禁 agent 自行编写 Python 代码生成 docx；必须使用预置脚本 `scripts/generate_evidence_docx.py`——法院提交文书的排版（字体、字号、行距、页边距、表格边框）须逐项可控，通用工具做不到稳定。

| 优先级 | 路径 | 触发条件 | 命令 / 操作 |
|--------|------|---------|-------------|
| 1（首选） | **scripts/generate_evidence_docx.py** | python3 + python-docx 可用 | 见下方命令示例 |
| 2（次选） | `docx` skill | 脚本执行失败（如 python-docx 缺失且无法安装）且 `docx` skill 已注册 | 调用 `docx` skill，并按下方「Word 文档格式要求」逐项指定格式 |
| 3（兜底） | Markdown 文件 | 以上均不可用 | 输出完整证据清单 Markdown 表格，告知用户可手动导入 Word |

**首选路径命令示例（参数名与脚本签名一致）**：

```bash
python3 scripts/generate_evidence_docx.py \
  --title "证据清单（原告提供）" \
  --evidence "2022年1月15日双方签署的借款合同|1-4|原件|证明原被告之间存在借款合同关系，借款本金为50万元|证明双方约定借款期限为一年，年利率为12%" \
  --evidence "2022年1月16日银行转账凭证（50万元）|5|原件|证明原告已按约向被告交付借款本金50万元的事实" \
  --submitter "张三律师" \
  --submit-date "2025年4月7日" \
  --output "outputs/证据清单_案件名称.docx"
```

**参数口径（照抄，勿臆造）**：

| 参数 | 必填 | 说明 |
|------|------|------|
| `--title` | 否（默认「证据清单（原告提供）」） | 按阶段一询问的提供者动态生成 |
| `--evidence` | 是（可重复，每份证据一个） | 管道分隔：`证据名称|页码|原/复印件|证明对象1|证明对象2|…`；**序号由脚本自动生成**，**证明对象不要自带「1.」编号**（脚本会自动加分条序号） |
| `--submitter` | 否（默认空） | 用户提供律师姓名则填入；留空则输出「提交人（代理律师）：」供手写 |
| `--submit-date` | 否（默认空） | 格式 `YYYY年MM月DD日` |
| `--output` / `-o` | **是** | 输出 .docx 路径，父目录自动创建 |
| `--json-input` | 否 | 证据条数多时改走 JSON 文件：`{"title": "...", "submitter": "...", "submit_date": "...", "evidence": [{"name": "...", "page": "1-4", "copy_type": "原件", "proof_objects": ["...", "..."]}]}`（`evidence` 数组元素亦可直接写管道字符串）；亦支持将同结构 JSON 通过 stdin 管道传入 |

**Word 文档格式要求**（首选路径已由脚本内置，无需额外指定；走次选 `docx` skill 时须逐项交代）：
- 标题：居中对齐，黑体，二号字
- 表格：Table Grid 边框完整，列宽按 序号 1.8cm / 证据名称 6.8cm / 页码 2.3cm / 原-复印件 2.7cm / 证明对象 9.0cm 分配
- 表头：加粗，居中对齐
- 内容：宋体（中文）+ Times New Roman（数字），小四号字（12pt），证据名称与证明对象左对齐，序号/页码/原-复印件居中
- 证明对象多行时：自动换行，行距 1.5 倍
- 页面：上下边距 2.54cm，左右 3.17cm
- 提交人和提交日期：左对齐，宋体，小四号字，位于表格下方

**三档全部失败处理**：
- 向用户明确提示："文档生成服务暂时不可用，证据清单内容如下："
- 直接在对话中输出完整的证据清单（Markdown 表格格式）
- 建议用户稍后再次尝试生成文档
- 不得因生成失败而终止任务

### 阶段六：输出与后续指导

0. **交付前硬门禁（必须执行，未通过禁止交付）**：

Word 文档生成后、告知用户之前，**必须**对最终成稿再跑一次门禁脚本复核（走兜底 Markdown 时对 `.md` 文件跑）：

```bash
python3 scripts/validate_evidence_list.py --file "outputs/证据清单_案件名称.docx" --evidence-count 4
```

- 脚本用 zipfile 直接解析 docx（含表格文字），无需额外依赖；`.md` / `.txt` / `.docx` 均可直接传入
- 退出码：`0` 通过 → 方可交付；`1` 拦截 → **禁止交付**，按打印的逐条明细（哪一行哪一项不合格）修正数据后重新执行阶段五生成，再复跑至通过；`2` 输入错误 → 检查文件路径与格式
- 严禁把未过门禁的证据清单交给用户——这是要提交法院的文书，格式错漏当庭即暴露

1. **提供文档路径**：告知用户 Word 文档的保存路径
2. **确认证据提供者信息**：
   - 向用户说明：「证据清单标题已设置为：证据清单（XX提供）」
   - 若用户需要修改提供者信息，可返回阶段一重新询问
3. **补充提示**：
   - 提示用户核实页码和原/复印件状态
   - 建议按清单顺序整理证据材料并编号
   - 提醒准备证据副本（对方当事人数量 + 1 份给法院）
4. **证据链完整性建议**：如发现证据链缺失，提供补充建议
5. **举证期限提醒**：提示用户注意法院指定的举证期限

## 输出格式

### 标准证据清单表格

严格遵循以下五列格式：

| 列名 | 说明 | 填写要求 |
|------|------|----------|
| **序号** | 从 1 开始的连续编号 | 自动编号 |
| **证据名称** | 准确描述证据内容及形成时间 | 包含时间 + 文件类型 + 核心内容，控制在 50 字以内 |
| **页码** | 重排后的连续页码范围 | 多份材料时必须重新编排，保证连续性（如 "1-3"、"4-8"、"9-12"） |
| **原/复印件** | 明确标注 | "原件" 或 "复印件"，未核实时标注"复印件（待核实）" |
| **证明对象** | 该证据的证明目的 | 分条列明，使用"证明……的事实"标准表述 |

### 页码重排规则（重要）

当用户提供**多份证据材料**时，必须按以下规则重新编排页码：

**重排原则**：
1. 第 1 份证据从第 1 页开始
2. 后续每份证据紧接上一份证据的结束页
3. 确保证据清单中的页码连续无断层

**计算方法**：
```
第 1 份证据：
  起始页 = 1
  结束页 = 起始页 + 页数 - 1

第 N 份证据（N > 1）：
  起始页 = 第 N-1 份证据的结束页 + 1
  结束页 = 起始页 + 页数 - 1
```

**示例**：
- 证据1（3页）：1-3
- 证据2（5页）：4-8  （3+1=4，4+5-1=8）
- 证据3（4页）：9-12  （8+1=9，9+4-1=12）
- 证据4（2页）：13-14 （12+1=13，13+2-1=14）

**单份材料**：直接使用用户提供的页码，无需重排。

### 表格下方信息

```
提交人（代理律师）：_______________

提交日期：YYYY年MM月DD日
```

## 异常处理

### 用户未提供材料
若用户仅说“帮我生成证据清单”但无任何案件材料：
- 明确告知用户需要提供的材料类型
- 提供材料清单模板供用户参考
- 不得基于不充分的信息强行生成证据清单

### 用户未明确证据提供者
若用户未说明证据清单是由哪一方提供的：
- **必须询问**：「请问这份证据清单是由哪一方提供的？（原告/被告/第三人/其他）」
- 若用户仍无法确定，默认使用“证据清单”（不带提供者标识）
- 在生成后提示用户：「证据清单标题为通用格式，如需标明提供者请补充说明」

### 材料信息严重不足
若用户提供的材料缺乏关键信息（如无页码、无原件/复印件说明）：
- 在清单中标注“待确认”或“待核实”
- 明确提示用户需要补充的信息
- 不得编造缺失信息

### 证明对象难以提炼
若某份证据的证明目的不明确或存在争议：
- 向用户说明并提供多个可能的证明对象选项
- 由用户选择或补充说明
- 不得主观推断证明对象

### 三档生成全部失败
若预置脚本 `scripts/generate_evidence_docx.py`、`docx` skill 均失败：
- 将证据清单以 Markdown 表格格式直接在对话中输出（第 3 档兜底）
- 告知用户 Word 生成失败，已以表格形式输出
- 提供手动复制到 Word 的操作建议
- 兜底路径下仍须对 `.md` 文件运行 `scripts/validate_evidence_list.py`

### 门禁脚本拦截或无法运行
- **拦截（退出码 1）**：按打印的逐条明细（第几行、哪一项）逐条修正后重跑，**不得**把未过门禁的清单交付用户，也不得口头声称"已核对"替代脚本
- **输入错误（退出码 2）**：核对文件路径与扩展名（支持 `.md`/`.markdown`/`.txt`/`.docx`；`.doc` 须先转 `.docx`）
- **python3 不可用**：明确告知用户"交付门禁未能执行，本清单为**未过门禁**版本"，并列出需人工逐项核对的项（必备五列、证明对象是否逐份有实质内容、页码是否自第 1 页起连续、落款提交人与提交日期）

## 参考文件说明

本技能包含以下参考文件，各文件用途如下：

| 文件 | 用途 | 何时使用 |
|------|------|----------|
| references/evidence-template.md | 证据清单标准模板 | 生成证据清单时参考格式和结构 |
| references/proof-object-guidelines.md | 证明对象撰写规范 | 提炼证明对象时参考写作规则和示例 |
| references/evidence-classification.md | 证据分类指南 | 对证据进行分类整理时参考 |
| scripts/generate_evidence_docx.py | 证据清单 Word 生成（预置排版） | 阶段五第 1 档，生成 .docx 唯一许可路径 |
| scripts/validate_evidence_list.py | 交付门禁：必备列 / 证明对象 / 页码重排 / 落款 / 防空壳 | 阶段三生成后、阶段六交付前，各跑一次 |

## 示例

详见 [references/evidence-template.md](references/evidence-template.md)，包含：
- 民间借贷纠纷证据清单示例
- 买卖合同纠纷证据清单示例
- 劳动争议证据清单示例
- 知识产权侵权证据清单示例

## 可选套件上下文（不影响独立使用）

1. 工作目录根存在 `套件运行规则.md` 时必须先读取并执行；不存在时以本技能硬规则为准，不影响独立使用。
2. 工作目录根存在 `办案画像.md` 时，只读取与当前任务有关的诉讼立场、风险偏好和文书风格；不存在时按本技能默认运行，不追问、不报错。
3. 仅当用户明确切换到某案或提供唯一案件路径时，读取 `cases/{案件简称}/案件画像.md`；不得猜测案件，不得跨案带入。
4. 画像只影响表达与偏好，不得覆盖事实、法律依据、必备结构、验证结果或本技能硬规则。
5. 已明确绑定唯一案件且案件管家可用时，成果完成后提交标准案件事件；无案件不建档、不回写，回写失败不得阻塞成果交付。

