关于 contract-review
面向法律和业务团队的合同审查技能,可按组织的立场检查协议文本。它识别条款风险并生成分级修订建议、理由和备选方案,但不能替代专业法律意见。
主要功能
- 01识别条款及缺失条款
- 02GREEN/YELLOW/RED 风险分级
- 03生成分优先级的修订建议
- 04提供理由和备选立场
适用场景
- 01在律师审阅前筛查商业协议
- 02为风险条款准备谈判方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ borghei/ claude-skills --skill contract-review安装后在 Claude Code 中输入/contract-review确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/clause_analysis_guide.mdnegotiation_playbook.mdscripts/contract_analyzer.pyredline_generator.py详细介绍
⚠️ 实验性 — 此技能仅用于教育和信息目的,不构成法律建议。用户须对使用行为承担全部责任。采取任何行动前,请咨询具备资质的法律专业人士。
合同审查
自动化合同审查工具,可根据组织的审查手册分析协议,按 GREEN/YELLOW/RED 严重程度对条款风险进行分类,并生成按优先级排序的修订建议及备选立场。
目录
先澄清
审查合同前,请确认以下信息。如有任何信息未知或含糊不清,请询问,不要自行假设:
- 您代表哪一方 — 客户/买方还是供应商/服务提供方;这会影响哪些条款对您有利,并反转每项修订建议的方向
- 合同类型 — SaaS、服务、供应商/供货或许可;这决定标准条款基准,以及哪些缺失条款会被标记
- 风险承受度 / 审查手册中的立场 — 组织认定哪些情况不可接受;这决定 RED 与 YELLOW 的分界,以及 Must-Have 与 Nice-to-Have 的分级
- 交易筹码 / 价值 — 据此判断哪些修订属于不可退让的要求(Tier 1),哪些属于可交换的让步(Tier 3)
停止规则:只询问最可能改变输出的 2-3 项。如果用户说“直接起草”,则继续处理,并在审查开头列出您的假设。
工具
合同分析器
分析合同文本文件,识别条款类型、缺失的标准条款和风险指标。
# Analyze a contract file
python scripts/contract_analyzer.py contract.txt
# JSON output for pipeline integration
python scripts/contract_analyzer.py agreement.md --json
# Save analysis to file
python scripts/contract_analyzer.py contract.txt --output analysis.json --json
可检测内容:
- 条款类型:责任限制、赔偿、知识产权、数据保护、期限与终止、管辖法律、陈述与保证、不可抗力、保密、付款条款
- 对照基准清单检查缺失的标准条款
- 风险指标:无上限责任、永久期限、单方赔偿、无退出选项的自动续约、宽泛的知识产权转让、无限制的审计权
风险分类:
| 级别 | 含义 | 操作 |
|---|---|---|
| RED | 不可接受的风险 | 签署前必须协商 |
| YELLOW | 重大顾虑 | 应进行协商,也可在采取缓解措施后接受 |
| GREEN | 标准或有利 | 可按现状接受 |
修订建议生成器
接收合同分析 JSON,并生成带有优先级分级的格式化修订建议。
# Generate redlines from analysis
python scripts/contract_analyzer.py contract.txt --json --output analysis.json
python scripts/redline_generator.py analysis.json
# JSON output
python scripts/redline_generator.py analysis.json --json
# Save redlines to file
python scripts/redline_generator.py analysis.json --output redlines.md
输出包括:
- 优先级(Must-Have / Should-Have / Nice-to-Have)
- 首选修订措辞
- 每项修改的理由
- 对方拒绝时的备选立场
- 谈判备注
优先级分级:
| 级别 | 标签 | 说明 |
|---|---|---|
| 1 | Must-Have | 不可接受的条款;若遭拒绝则放弃交易 |
| 2 | Should-Have | 强烈偏好;应积极争取,但可协商 |
| 3 | Nice-to-Have | 可让步项;可用于换取 Tier 1-2 的成果 |
参考指南
条款分析指南
references/clause_analysis_guide.md
涵盖 8 种以上条款类型的深入参考资料:
- 责任限制(上限类型、例外、间接损失)
- 赔偿(互惠性、范围、程序)
- 知识产权(所有权、许可、雇佣作品、反馈)
- 数据保护(DPA、子处理方、违规通知、数据传输)
- 期限与终止(自动续约、补救期限、过渡)
- 管辖法律(司法管辖权、仲裁、陪审团审判放弃)
- 陈述与保证
- 不可抗力
谈判手册
references/negotiation_playbook.md
谈判优先级框架,包括:
- 第 1 级:不可接受的条件和退出标准
- 第 2 级:强烈偏好及交易策略
- 第 3 级:可用于策略性让步的候选项
- 红线条款格式模板
- 常见谈判陷阱
工作流
标准合同审查
- 导入 -- 将合同保存为
.txt或.md文件 - 分析 -- 使用
--json标志运行contract_analyzer.py - 审查结果 -- 先检查 RED 项,再检查 YELLOW 项
- 生成红线条款 -- 对分析结果运行
redline_generator.py - 确定优先级 -- 优先处理必备红线条款,并为应备红线条款准备备用方案
- 发送给法律顾问 -- 附上分析结果和红线条款,以供最终审查
快速风险分类
- 以文本模式运行
contract_analyzer.py,快速扫描 - 如果发现任何 RED 项:立即升级给法律顾问处理
- 如果只有 YELLOW 项:安排在 48 小时内审查
- 如果全为 GREEN:按标准审批工作流推进
故障排除
| 问题 | 原因 | 解决方案 |
|---|---|---|
Error: File not found | 合同文件路径不正确,或文件不存在 | 验证文件路径;如果相对路径无效,请使用绝对路径 |
| 未检测到条款 | 合同采用了特殊格式或非标准条款标题 | 确保合同为纯文本;分析前清除 PDF 残留内容 |
| 所有条款都标记为 GREEN | 合同确实有利,或文本提取遗漏了关键章节 | 手动确认输入文件中包含关键条款(责任、赔偿、知识产权) |
| 红线条款生成器输出为空 | 分析 JSON 中没有 YELLOW 或 RED 项 | 确认分析 JSON 有效;如果合同已更新,请重新运行分析器 |
| 对无限责任的误报 | 责任章节在文档其他位置提到了责任上限 | 审查完整的责任限制章节;该工具会在每个条款边界内扫描责任上限关键词 |
| 对缺失条款的误报 | 条款存在,但使用了非标准标题(例如,“损害赔偿上限”而非“责任限制”) | 分析器会检查多个标题变体;如果贵组织使用独特术语,请添加自定义别名 |
成功标准
- 合同审查时间缩短 50%: 自动识别条款并分类风险,免去人工扫描。
- 零遗漏 RED 严重级别条款: 所有无上限责任、单方面赔偿和宽泛的知识产权转让条款,都会在人为审查前被标记。
- 红线条款生成时间不超过 2 分钟: 从分析 JSON 生成按优先级排列的红线条款文档。
- 审查人员之间的风险分类保持一致: GREEN/YELLOW/RED 框架消除主观评估。
- 100% 的合同均以结构化形式完成审查: 每份协议在开始谈判前都会生成条款清单和风险报告。
- 必备事项的谈判成功率超过 80%: 第 1 级红线条款及其备用方案可提升谈判成效。
范围与局限
涵盖内容:
- 使用关键词和模式匹配对合同条款进行静态文本分析
- 识别 10+ 类标准商业合同中的条款类型
- 检测风险指标:无上限责任、永久期限、单方面义务、自动续约陷阱
- 根据标准商业合同基准检测缺失条款
- 生成按优先级排列并包含备用立场的红线条款
不涵盖:
- 法律建议 -- 此工具辅助审查,不能替代具备资质的法律顾问
- 特定司法管辖区的合规要求 -- 对于监管合规(GDPR、SOC 2 等),请使用
ra-qm-team技能 - 合同签署或电子签名工作流 -- 不在范围内
- 多文档交叉引用(例如,核对 SOW 与 MSA)-- 请分别分析每份文档
- 非英语合同 -- 模式匹配仅适用于英语
反模式
| 反模式 | 失败原因 | 更好的做法 |
|---|---|---|
| 仅凭 GREEN 结果且未经人工审核就签署合同 | 自动化分析无法发现依赖上下文的风险、含糊的措辞或特定业务方面的顾虑 | 即使合同结果全为 GREEN,也务必在签署前由具备资质的法律顾问审核 |
| 将所有 RED 结果一视同仁 | 有些 RED 项是结构性的交易障碍,另一些则可能只需改动一个词即可解决 | 使用红线生成器评估每项 RED 结果所需的工作量和备选立场 |
| 跳过红线备选立场 | 只带着首选立场进入谈判,会让策略性让步失去空间 | 务必准备“必须坚持”的备选方案,并确定可用于交换的“最好有”事项 |
| 对提取质量差的文本进行分析 | PDF 转文本产生的伪影会破坏条款检测模式 | 分析前清理文本文件:移除页眉、页脚、页码和格式伪影 |
工具参考
contract_analyzer.py
**用途:**分析合同文本文件中的条款类型,识别缺失的标准条款,并以 GREEN/YELLOW/RED 严重级别标记风险指标。
用法:
python scripts/contract_analyzer.py <contract_file> [--json] [--output FILE]
标志:
| 标志 | 短标志 | 默认值 | 描述 |
|---|---|---|---|
contract_file | (位置参数) | 合同文本文件的路径(.txt 或 .md) | |
--json | 关闭 | 以 JSON 格式输出 | |
--output | -o | (标准输出) | 将输出写入文件 |
输出示例(JSON):
{
"file": "vendor_agreement.txt",
"clauses_found": [
{
"type": "limitation_of_liability",
"severity": "RED",
"text_snippet": "...liability shall not be limited...",
"risk_flags": ["uncapped_liability"],
"notes": "No liability cap found; uncapped exposure"
}
],
"missing_clauses": ["force_majeure", "data_protection"],
"risk_summary": {"RED": 2, "YELLOW": 3, "GREEN": 5},
"overall_risk": "RED"
}
redline_generator.py
**用途:**接收合同分析 JSON,并生成格式化的红线建议,其中包含优先级、理由和备选立场。
用法:
python scripts/redline_generator.py <analysis_json> [--json] [--output FILE]
标志:
| 标志 | 短标志 | 默认值 | 描述 |
|---|---|---|---|
analysis_json | (位置参数) | 合同分析 JSON 文件的路径 | |
--json | 关闭 | 以 JSON 格式输出 | |
--output | -o | (标准输出) | 将输出写入文件 |
输出示例:
REDLINE SUGGESTIONS
===================
[MUST-HAVE] Limitation of Liability — Uncapped Liability
Severity: RED
Preferred: "Aggregate liability shall not exceed 12 months of fees paid."
Rationale: Uncapped liability creates unlimited financial exposure.
Fallback: "Aggregate liability shall not exceed 24 months of fees paid."
[SHOULD-HAVE] Indemnification — Unilateral Indemnification
Severity: YELLOW
Preferred: "Each party shall indemnify the other for breaches of this Agreement."
Rationale: Mutual indemnification balances risk between parties.
Fallback: "Indemnification obligations shall be subject to the liability cap."
评论
支持 Markdown