# Contract Review

> 通用商务合同审核与风险检测技能。安装后必须先引导用户完成企业商业底线配置，之后才能审核合同。支持PDF/Word/文本格式合同审核，输出结构化审核报告，包含否决项、警告项和改进建议。当用户要求审核合同、检查合同风险、审查合同条款、合同自审、合同红线检查时激活。

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

---


# 通用合同审核技能

为企业提供可定制的商务合同系统化风险审查。

## ⛔ MANDATORY GATE — 初始化检查（不可跳过）

**每次用户要求审核合同时，执行以下检查：**

1. 用 `exec` 检查配置文件是否存在：
   ```bash
   cat ~/.openclaw/workspace/.contract-review-config.json 2>/dev/null || echo "NOT_FOUND"
   ```
2. **如果返回 `NOT_FOUND`** → 立即停止，进入【初始化流程】（见下方），**禁止继续审核**
3. **如果配置存在** → 先确认用户的审核角色（甲方/乙方），再进入审核流程

**🚫 绝对禁止：在配置文件不存在的情况下跳过初始化直接审核合同。**
**🚫 绝对禁止：用户未明确审核角色时自行假设。**

---

## 初始化流程

当配置文件不存在时触发，**必须**按以下步骤执行：

### 1. 收集基础信息

一次性收集以下 3 项：
- **审核角色**：甲方（采购方）/ 乙方（服务/产品提供方）
- **企业名称**
- **合同类型**（可多选）：产品销售 / 技术实施 / 定制开发 / 订阅(SaaS) / 混合型

> 💡 角色决定所有红线规则的适用方向，合同类型决定后续模块的自动跳过裁剪。

### 2. 选择配置模式

问用户：**"选择配置模式：**
- **快速**（1 个问题，其余用推荐默认值）
- **详细**（逐模块自定义，约 10-15 个问题）"

#### 快速模式

只问 1 个核心问题：**违约责任总额上限，不超过实际收款额的 ____%**
- 🔹 乙方建议 100%，甲方建议 100%-150%

回答后，读取 `references/config-questions.md` 中的「快速模式默认值」表，根据角色自动预填所有其余配置项，直接进入步骤 3 写入。

#### 详细模式

读取 `references/config-questions.md`，按模块 1-7 依次向用户提问。

- **跳过规则**：根据合同类型选择，自动跳过不适用的问题
- **甲/乙方适配**：问题说明展示对应视角的建议值
- **数据安全跳过**：模块 5 先询问是否涉及数据处理，不涉及则跳过
- 每次只问一个模块，等用户回答后再问下一个
- 用户回答"按示例"时，使用问题中的示例值

### 3. 写入配置文件

所有配置确认后，将配置写入 `~/.openclaw/workspace/.contract-review-config.json`：

```json
{
  "company": "企业名称",
  "review_role": "甲方 或 乙方",
  "contract_types": ["产品销售", "定制开发"],
  "config_mode": "quick 或 detailed",
  "version": "1.0.0",
  "created": "YYYY-MM-DD",
  "payment": {
    "first_payment_min_pct": 30,
    "first_payment_deadline_days": 10,
    "max_payment_cycle_days": 30
  },
  "liability": {
    "cap_pct_of_actual_receipt": 100,
    "compensation_scope": "仅限直接经济损失"
  },
  "ip": {
    "source_code_policy": "B",
    "source_code_ip_owner": "客户",
    "shared_ip_allowed": "仅限定制/共创功能部分"
  },
  "product_service": { ... },
  "confidentiality": { ... },
  "compliance": {
    "integrity_violation_penalty_pct": "5%-10%",
    "require_integrity_annex": "仅限政府及国企项目"
  },
  "service_rights": {
    "acceptance_penalty_daily_rate": 0.5,
    "acceptance_penalty_cap_pct": 3,
    "suspend_after_days": 30,
    "terminate_after_days": 60,
    "performance_bond_pct": 10
  }
}
```

配置完成后，**询问用户"配置已完成！现在要审核合同吗？"**
- 如果用户确认 → 立即进入审核流程
- 如果用户说稍后 → 回复"好的，随时发合同给我审核"

---

## 审核流程

配置存在时，按以下 5 步执行：

### Step 1：预审确认

读取合同文本后，确认本次合同的关键信息（仅检查初始化中未覆盖的项目）：

1. 本次合同类型：____（对照配置中的 `contract_types`，若不在范围内则提示）
2. 合同金额及与报价单差异
3. 是否涉及第三方分包/渠道分佣（初始化未覆盖，需每次确认）
4. 是否存在履约保证金要求（对照 `service_rights.performance_bond_pct`）
5. 是否涉及第三方知识产权授权（初始化未覆盖，需每次确认）

> 💡 定制开发、源代码交付、数据安全等项已在初始化时通过合同类型选择和模块配置完成，无需每次重复确认。仅在本次合同出现与配置不一致的情况时才需特别提示。

如有任一涉及，提示用户需提前评估风险。

### Step 2：否决条件扫描（7条即时触发）

对合同文本逐一检查，**命中任一条即输出【否决】**：

| # | 检查项 | 检查方式 |
|---|--------|----------|
| 1 | 侵犯己方知识产权（共有IP超出配置范围） | 搜索"共同拥有""共同享有知识产权"，对照 `ip` 配置 |
| 2 | 无违约责任上限 | 搜索"赔偿不封顶""无上限赔偿" |
| 3 | 付款周期超过配置最大天数 | 提取付款条款日期，对照 `payment.max_payment_cycle_days` |
| 4 | 己方须提供所有源代码（超出配置范围） | 搜索"源代码""源码交付""全部源码"，对照 `ip` 配置 |
| 5 | 保密期限超过配置上限或永久 | 搜索"永久保密""无期限保密"，对照 `confidentiality` 配置 |
| 6 | 无限连带赔偿责任（无上限） | 搜索"无限连带""连带赔偿" |
| 7 | 数据安全责任无限连带（无上限） | 搜索数据安全条款中的连带责任，对照 `confidentiality` 配置 |

### Step 3：七大类红线逐项审查

按类别逐条对照审查。详细规则见 `references/redlines.md`，数值从配置文件读取：

1. **知识产权** → 对照 `ip`
2. **违约责任** → 对照 `liability`
3. **验收&回款** → 对照 `payment`
4. **产品&服务** → 对照 `product_service`
5. **保密&数据安全** → 对照 `confidentiality`
6. **合规&廉洁** → 对照 `compliance`
7. **服务方权益** → 对照 `service_rights`

### Step 4：必备条款完整性检查

确认合同是否包含以下必备条款（缺失为【警告】）：

- 违约责任上限（≤ 配置比例 × 实收费用）
- 赔偿范围限定为配置范围（排除排除项）
- 首款 ≥ 配置最低比例%（签署后配置期限内）
- 付款周期 ≤ 配置最长天数
- 验收环节 + 支付节点 + 验收标准附件
- 验收逾期违约金（每天配置‰率，上限配置%）
- 暂停服务权（逾期配置天数）
- 送达条款（含电子送达）

订阅合同额外：订阅自动终止条款、扩容费用条款
买断合同额外：维保期限制、无"免费升级"承诺

### Step 5：输出审核报告

```
📋 合同审核报告

基本信息：
- 审核角色：甲方/乙方
- 合同类型：xxx
- 合同金额：xxx
- 审核依据：企业自定义商业底线规则

🚫 否决项（N/N）：
[命中条款+原文+修改建议]

⚠️ 警告项（N/N）：
[风险点+对应条款+修改建议]

✅ 必备条款检查：
[逐项通过/缺失，显示配置值]

📝 改进建议：
[非红线但建议优化的条款]

审核结论：✅ 通过 / ⚠️ 有条件通过 / 🚫 否决
```

## 参考资料

| 文件 | 用途 | 何时读取 |
|------|------|----------|
| `references/config-questions.md` | 7 模块配置问答模板 | 初始化时逐模块提问 |
| `references/redlines.md` | 24 条红线详细规则 | Step 3 审查时读取 |
| `references/keywords.md` | 关键词速查表 | Step 2 扫描时辅助定位 |

## 配置管理

| 操作 | 触发方式 | 说明 |
|------|----------|------|
| 修改配置 | 用户说"修改合同审核配置" | 可指定模块，如"修改合同审核配置：付款规则" |
| 查看配置 | 用户说"查看合同审核配置" | 显示当前完整配置 |
| 重置配置 | 用户说"重置合同审核配置" | 删除配置文件，下次审核重新初始化 |
| 查看模块 | 用户说"查看付款规则"等 | 显示单个模块的当前配置值 |

