legal-due-diligence · git:20260901.1936886 · 2026-09-01 · sha256 32aaf35cffcb33b8
legal-due-diligence git:20260901.1936886B
Immutable. This exact content is served forever at /api/v1/blob/32aaf35cffcb33b8.
---
name: legal-due-diligence
license: Apache-2.0 (adapted from anthropics/claude-for-legal, corporate-legal/skills/tabular-review + corporate-legal/skills/diligence-issue-extraction; complete terms in LICENSE.txt)
description:
对一批交易/尽调文档做结构化法律尽调:表格式逐份提取字段,或按类别扫描问题。
每一条结论都标注原文逐字引用和定位,杜绝凭印象复述条款。Use when 用户说
"帮我做一下尽调""审查这批合同看有没有问题""从这些文件里提取变更控制/转让限制
条款""给我一张尽调表格""批量审查这些文档""这批材料里有什么问题"等。单份合同
审查用 `contract-review`;单一争议的论证构建用 `legal-reasoning`。
metadata:
origin: 字段类型系统、三态"未找到"规则、逐字引用铁律、问题类别清单、严重度分级,
改编自 anthropics/claude-for-legal 的 corporate-legal/skills/tabular-review 与
corporate-legal/skills/diligence-issue-extraction(Apache-2.0);已移除该项目的
VDR MCP 连接器(Box/Datasite/iManage)、matter-workspace 多矩阵项目管理、
Office/Sheets 云端集成、律所"house format"配置层,改为读本地文件、顺序逐份处理、
输出 markdown/csv 的独立方法论
---
# Skill: legal-due-diligence
面对一批文档(合同、公司档案、诉讼记录等)需要系统性审查时,有两种互补的做法:
- **表格式(tabular)**:同样一组字段问遍每一份文档,产出一行一文档、一列一
字段的表格。适合"这 50 份合同里,变更控制条款分别怎么约定的"。
- **问题提取式(issue extraction)**:按标准类别清单扫描,只把真正有问题的
文档挑出来写成发现清单。适合"这批材料里有没有埋雷"。
两者可以先后使用:先跑表格式摸清全貌,再对表格里标红/标黄的行做问题提取式深挖。
**这不是替代人工阅读文档。** 每一格/每一条结论都是"线索",需要人工核实,不是
"定论"。这个技能的目标是让核实变快,不是让核实变得可以跳过。
## 处理规模的现实约束
当前 profile 没有配置并行子代理(sub_agent),本技能按文档**顺序**逐份处理,
不做原始方法论里"每份文档一个并行子代理"的 fan-out。文档量较大(50+)时提前
告知用户这会比较耗时,并建议先用小样本(3-5 份)跑通字段定义再处理全量,避免
字段定义有问题却已经审完几十份文档。
## 逐字引用铁律
这是整个技能最重要的纪律,不是可选项:
**每一条结论(不管是表格里的一个格,还是问题清单里的一条发现)必须配一段来自
原文、逐字复制的引用,以及能让人重新定位到原文的位置信息(章节号/条款号/页码,
文档给了什么就用什么)。**
- 不能把一个标题加常见样板文字拼成"引用"。
- 不能改写后当作逐字引用。
- 不能凭"这类条款通常怎么写"的印象复原一段引用。
- 找不到原文、定位不到,就把这一条标记为"待核实"(见下面的三态规则),value
留空,并在备注里写清楚原因(文档截断、扫描件识别不清、条款隐含但没写明、
只看到标题没看到正文等)。绝不能为了让格子显得"已完成"而编一个引用。
这条纪律同样适用于所有字段类型的"配套原文引用",不只是"逐字类"字段本身——
一个分类判断(比如"需经同意")如果配的引用是编的,比留空更危险,因为它看起来
更完整、更容易被直接采信。
## 三态"未找到"规则
一个空格子会掩盖信息。凡是给不出正面答案的情况,强制归入以下三种明确状态之一:
| 状态 | 含义 | 使用场景 |
|---|---|---|
| `未涉及` | 读过文档,确认没有这条约定 | 有把握该主题文档确实没提 |
| `不确定` | 文档里有相关内容,但无法确信地分类 | 措辞含糊、条款不完整、内容自相矛盾 |
| `待人工判断` | 找到了内容,但需要人判断怎么归类 | 边缘情形、罕见措辞、答案取决于字段定义没覆盖的判断 |
"合同对此完全没有约定"和"约定含糊看不清楚"是团队会用完全不同方式处理的两种
情况,压缩成一个空格子会丢失这个区别。
## 模式一:表格式提取
### 第一步:定义字段和范围
和用户确认:审哪些文档(本地文件/用户粘贴的文本)、要哪些字段、输出放哪里。
把用户的字段描述整理成结构化 schema,每个字段包含:一个稳定的 `id`、一个人类
可读的 `名称`、一个 `类型`、一个 `提示词`(一个真正在读文档的人会问的问题),
`分类`型字段还需要一个 `选项`列表:
| 类型 | 返回什么 | 用于 |
|---|---|---|
| `逐字` | 原文精确引用,一字不改 | 定义性术语、操作性条款原文、任何措辞本身很关键的地方 |
| `分类` | 从你预定义的固定选项里选一个 | 是/否、有/无、条款变体(如"需经同意"/"同意不得无理拒绝"/"未提及") |
| `日期` | ISO 日期 | 生效日、到期日、终止通知截止日 |
| `期限` | 数字+单位 | 合同期限、通知期、存续期 |
| `金额` | 数字+币种 | 责任上限、门槛、费用 |
| `数字` | 裸数字 | 数量、百分比、页码引用 |
| `自由文本` | 简短自由文本摘要 | 谨慎使用——这是最容易漂移的类型,其他类型确实不合适时才用 |
**逐字引用规则同样适用于非"逐字"类型的字段**:每个非逐字字段都要配一个"支持
原文"作为配套字段。格子里的答案是解读,配套引用是证据——一个写着"同意不得无
理拒绝"的分类结果,没有对应的原文句子支撑就没有意义,因为核实者的工作就是检
查这个解读对不对。
用小样本(3-5 份文档)先跑一遍,检查:某个字段是不是大部分答案都是"不确定"
(说明提示词本身模糊,需要改写)、"分类"字段的答案是不是经常不落在预设选项里
(需要补充选项或改成自由文本)、"逐字"字段是不是经常返回的是改写而非原文(需要
在提示里再强调一次"必须逐字")。调整后再确认,避免整批跑完才发现字段定义有问题。
### 第二步:逐份处理
按顺序读完整份文档(不是摘录片段),对每个字段找到对应条款,返回:`值`、
`状态`(已回答/未涉及/不确定/待人工判断)、`原文引用`、`位置`。
### 第三步:归一化检查
全部处理完后,按列(而不是按行)通读一遍表格,这一步专门抓"同一类条款在不同
文档里被判断得不一致"这个常见问题:
- `分类`字段:检查所有"已回答"的值是否都落在选项列表里,离群值重新分类或降级
为"待人工判断"。检查聚类是否合理(比如 180 份都是"需经同意"、20 份是"同意不
得无理拒绝"大概率是真实分布;195 份"需经同意"、5 份"可自由转让",这 5 份值得
重点看看是真的不同还是分类错了)。
- `日期`/`期限`/`金额`字段:格式是否统一,是否有不合理的极端值(99 年期限、
1 元责任上限)需要标"待人工判断"。
- 所有字段的原文引用:随机抽查(每列至少 3-5 行,或 10% 取较大值),重新打开
原文核对引用是否逐字一致。发现编造/改写/定位不到原文的引用:把这一格降级为
"待人工判断"并注明原因,**同时扩大这一整列的抽查范围**——一个子任务在这份
文档上编了引用,同一列的其他文档也可能有同样问题,不能假设其余的是干净的。
一个标着"已回答"但引用对不上的格子,比一个"不确定"格子问题更严重,因为它
歪曲了证据链,要更果断地降级。
### 输出
Markdown 表格(始终输出,便于当场查看)+ CSV(数值文件 + 一份单独的引用/位置
文件,保持主文件干净同时留住证据链)。用户如果需要 Excel 格式,可以另外加载
`office-xlsx` 技能对生成的 CSV 做进一步整理——本技能不直接依赖它。
结尾给一屏摘要:文档数、字段数、完成行数;每列的"未涉及/不确定/待人工判断"
计数(这就是需要人工核实的工作量);归一化检查标记超过 10% 异常的列;文件在哪;
提醒每一格是线索不是结论。
## 模式二:问题提取式
### 第一步:盘点范围
列出要审的文档来源、大致数量,按类别(重大合同/公司治理/知识产权/劳动/诉讼等)
分组。数量很大时,和用户确认重要性门槛(比如"只审金额超过 X 的合同"),不要在
没有门槛的情况下试图审查全部文档。
### 第二步:按类别标准清单扫描
对读到的每份文档,对照该类别的标准问题清单检查:
**重大合同类:** 变更控制条款(本次交易是否触发?是否需要同意?)、转让限制
(能否随交易转移?)、排他性/竞业限制(是否限制己方未来业务?)、最惠国条款
(价格约束?)、终止权(对方能否因本次交易解约?)、异常的赔偿/责任约定。
**公司治理类:** 股权结构准确性、未行权期权/认股权证、董事会对本次交易的同意
要求、股东协议限制(拖售权/随售权/优先购买权)、子公司架构与关联交易安排。
**知识产权类:** 权属链条是否完整(创始人/员工的转让文件是否齐全)、产品中是
否使用开源代码(copyleft 风险)、关键知识产权是许可还是自有、是否存在待决/
潜在的知识产权诉讼。
**劳动类:** 变更控制触发的遣散/补偿成本、关键员工留任风险、待决劳动争议、
用工性质认定风险(外包/劳务人员实际按员工管理)。
**诉讼类:** 在诉案件及准备金、潜在索赔、监管调查、批量性诉讼(如消费者集体
诉讼)。
### 第三步:陈述每条发现
每条发现附逐字引用(同上面的逐字引用铁律),格式:
```
问题 #N:[标题]
类别:[所属类别]
严重度:[见下方分级]
文档来源:[文件名/位置]
发现:[原文引用 + 为什么这是个问题]
建议:[价格调整/要求赔偿/需要取得同意/尽调保留意见/其他]
```
**严重度分级:**
- 🔴 **高:** 影响交易价值或结构。变更控制需要重要客户同意、未披露的重大诉讼、
知识产权权属存在缺口。
- 🟡 **中:** 需要处理但可解决。同意大概率能取得、开源代码需要合规整改、用工
性质认定风险。
- 🟢 **低:** 记录在案。与已披露信息一致,无需额外行动。
**遇到用户或材料里引用的具体法条/规则,如果你没有把握准确复述:** 不要凭印象
描述这条规则大概是什么意思。要么检索确认原文并引用,要么说"这条我没有把握准确
复述,需要核对原文"。一个自信但错误的法条描述比一个"不确定"更危险——前者会被
写进备忘录直接采信。
**检索/技能返回结果不足时不要悄悄补:** 如果某个发现需要援引的规则/原则,检索
结果覆盖不足,明确说出来并给用户选项(换关键词/换信息源/用网络检索但标注
`[网络检索-待核实]`/直接标记未核实并停下),不要用模型记忆填坑。
### 第四步:按类别汇总
按类别分组,组内按严重度排序,附一段"结论先行"(几个 🔴/🟡 分别多少条,最需要
关注的一件事是什么)。
### 输出安全提示
每次输出都提醒:本审查基于抽样/门槛审阅,未必覆盖全部文档;发现的重要性判断
(是否够得上"重大")由用户/律师最终拍板,本技能只负责按标准套用门槛;输出内容
可能涉及保密信息,分发前请确认对象范围。
## 边界
- 不做"够不够重大"这类边界情形的最终判断——套用门槛,边界情形交给人工判断。
- 不谈判交易条款、不代替律师出具正式尽调报告——产出的是尽调线索清单,供人工
复核后写入正式文件。
- 单份合同的深度审查用 `contract-review`;单一争议的论证构建用
`legal-reasoning`;本技能专注"一批文档"的批量场景。