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 扫描时辅助定位 |
## 配置管理
| 操作 | 触发方式 | 说明 |
|------|----------|------|
| 修改配置 | 用户说"修改合同审核配置" | 可指定模块,如"修改合同审核配置:付款规则" |
| 查看配置 | 用户说"查看合同审核配置" | 显示当前完整配置 |
| 重置配置 | 用户说"重置合同审核配置" | 删除配置文件,下次审核重新初始化 |
| 查看模块 | 用户说"查看付款规则"等 | 显示单个模块的当前配置值 |
标签
skill
ai