name: contract-review description: "合同审核技能,通过添加批注方式审查合同(不修改原文)。采用四层审核模型(主体核验、基础审核、商务条款、法律条款),生成结构化批注(问题类型、风险原因、修订建议),风险等级通过审核人名称编码,并生成合同概要、综合审核意见和Mermaid业务流程图(含渲染图片)。输出语言遵循合同语言。支持双模式企业核验:QCC CLI 用于主体信息核验(终端直连),QCC MCP 用于风险穿透预警(深度分析)。"
合同审核技能
概述
本技能通过仅添加批注的方式审查合同(不修改原文)。采用四层审核模型(主体核验、基础审核、商务条款、法律条款),生成:
- 带批注的合同(.docx)
- 合同概要(.docx)
- 综合审核意见(.docx)
- 业务流程图(Mermaid + 渲染图片)
语言规则: 检测合同主要语言,所有生成内容(批注、概要、意见、流程图文字)使用该语言输出。参考 references/language.md。
企查查企业核验:CLI + MCP 双模式
🎯 架构原则:CLI 与 MCP 互补使用,发挥各自优势
| 功能模块 | 推荐工具 | 优势 | 数据来源标注 |
|---|---|---|---|
| 主体信息核验 | QCC CLI(终端直连) | 低延迟、高可靠、无需MCP配置 | 基于企查查 CLI 终端直连获取 |
| 风险穿透预警 | QCC MCP(深度分析) | 18类风险全面扫描、AI深度分析 | 基于企查查 MCP 深度分析 |
为什么采用双模式?
- CLI(终端直连):适合主体核验这类标准化查询,响应快、稳定性高
- MCP(深度分析):适合风险穿透这类需要复杂推理的分析,AI增强理解
CLI 配置(推荐用于主体信息核验)
⚠️ 重要:启用企查查 CLI 企业核验前,确保 CLI 已安装
安装检查:
# 验证 QCC CLI 是否已安装
qcc --version
# 测试企业信息核验
qcc company get_company_registration_info --searchKey "企查查科技股份有限公司"
预期输出:
正在调用 company/get_company_registration_info...
* 企业名称: 企查查科技股份有限公司
* 统一社会信用代码: 91320594088140947F
* 法定代表人: 陈德强
* 登记状态: 在业
...
CLI 安装(如未安装):
# 查看 QCC CLI 安装指南
pip install qcc-cli
# 或从以下地址下载:https://github.com/duhu2000/qcc-cli
MCP 配置(用于深度风险分析)
⚠️ 可选:启用企查查 MCP 进行增强型风险穿透分析
检查清单:
- ✅
~/.claude/.mcp.json存在且配置正确 - ✅
QCC_MCP_API_KEY环境变量已设置 - ✅ Claude Code 已重启以加载 MCP 配置
配置步骤:
# 1. 创建 MCP 配置文件
cat > ~/.claude/.mcp.json << 'EOF'
{
"mcpServers": {
"qcc-company": {
"url": "https://agent.qcc.com/mcp/company/stream",
"headers": { "Authorization": "Bearer ${QCC_MCP_API_KEY}" }
},
"qcc-risk": {
"url": "https://agent.qcc.com/mcp/risk/stream",
"headers": { "Authorization": "Bearer ${QCC_MCP_API_KEY}" }
}
}
}
EOF
# 2. 设置 API 密钥
export QCC_MCP_API_KEY="your_api_key_here"
# 3. 重启 Claude Code
详见:https://github.com/duhu2000/legal-assistant-skills/blob/main/docs/MCP_CONFIGURATION.md
工作流程
执行步骤(必须遵循)
当用户请求合同审核时(如"请审核这份合同"):
- 定位合同文件 - 如用户仅提供文件名,在常用目录(
/Downloads、/.claude/downloads、当前目录)中搜索完整路径 - 读取合同 使用可用工具(优先 pandoc,备选直接 XML)- 必须使用第1步中找到的正确完整路径
- 提取合同主体 并通过 QCC CLI(首选)、QCC MCP(备选)或 Web Search(最后备选)进行核验
- 中国企业核验工具优先级:
- QCC CLI(首选):使用
qcc company get_company_registration_info --searchKey "企业名称"进行快速企业核验- 如 CLI 返回数据 → 作为权威来源使用
- 如 CLI 未安装或失败 → 降级到 MCP
- QCC MCP(备选):如 CLI 不可用但 MCP 已配置,使用 MCP 工具:
qcc-company/get_company_registration_info用于企业核验qcc-company/get_company_profile用于补充信息- 如 MCP 返回数据 → 作为权威来源使用
- Web Search(最后备选):仅当 CLI 和 MCP 都不可用时使用
- QCC CLI(首选):使用
- 数据来源标注:始终在批注中标注核验来源:
- CLI 核验 → 标注"基于企查查 CLI 终端直连获取"
- MCP 核验 → 标注"基于企查查 MCP 服务获取"
- 风险分析 → 标注"基于企查查 MCP 深度分析"
- Web Search → 标注"基于公开网络信息查询"
- 中国企业核验工具优先级:
- 生成所有必需内容(必须创建以下全部内容):
- 合同概要文字 → 作为
summary_text参数传入 - 综合审核意见文字 → 作为
opinion_text参数传入 - Mermaid 流程图代码 → 作为
flowchart_mermaid参数传入(可选,如有问题可跳过)
- 合同概要文字 → 作为
- 执行工作流程 通过
review_contract()或ContractReviewWorkflow.run_full_workflow()并传入所有生成内容:
重要:不要直接写入文件。让工作流程生成 DOCX 文件。workflow.run_full_workflow( comments=comments, output_docx_filename="合同_审核版.docx", summary_text=summary_text, # 合同概要内容 opinion_text=opinion_text, # 综合审核意见内容 flowchart_mermaid=flowchart_mermaid, # 可选 ) - 向用户报告结果 包含所有输出文件位置
工作流程生成的输出文件(DOCX 格式):
{ContractName}_审核版.docx- 带批注的审核版合同合同概要.docx- 合同概要(DOCX,非 TXT)综合审核意见.docx- 综合审核意见(DOCX,非 TXT)business_flowchart.mmd- Mermaid 源码(可选)审核报告.txt- 审核报告(TXT 格式)
技术步骤
- 解包合同(.docx)进行 XML 操作
- 读取合同文字(pandoc 或 XML)
- 提取并核验合同主体(第0层)
- 执行三层条款审核(第1-3层)
- 向文档添加批注
- 生成合同概要
- 生成综合审核意见
- 生成业务流程图并渲染图片
- 重新打包为 .docx
输出命名
- 输出目录:
审核结果:{ContractName}(中文)或Review_Result_{ContractName}(英文) - 审核版合同:
{ContractName}_审核版.docx(中文)或{ContractName}_Reviewed.docx(英文) - 审核报告:
审核报告.txt(中文)或Review_Report.txt(英文)
批注原则
- 仅添加批注:不修改原文或格式
- 精确定位:批注应针对具体条款/段落
- 结构化内容:每条批注包含问题类型、风险原因和修订建议
- 风险等级:通过审核人名称携带;不要在批注正文中包含"风险等级"行
- 输出语言:使用合同语言的标签(见
references/language.md)
中文批注示例:
【问题类型】付款条款
【风险原因】第3.2条中合同总金额为10万美元,但第5.1条付款条款中列明100万美元。此不一致可能引起争议。
【修订建议】统一各条款中的总金额,并明确是否含税。
审核标准
使用四层审核模型和 references/checklist.md 中的详细检查清单。
第0层:主体核验(主体真实性)
- 提取所有合同主体(完整法定名称、统一社会信用代码、法定代表人)
- 核验每个主体的注册名称准确性和工商登记状态
- 双模式核验策略:
步骤1:通过 QCC CLI 进行企业核验(首选)
# 使用 QCC CLI 进行企业核验(推荐)
qcc company get_company_registration_info --searchKey "企业名称"
- 优势:低延迟、高可靠、无需 MCP 配置
- 使用时机:所有企业核验任务的首选
- 数据来源标注:"基于企查查 CLI 终端直连获取"
- 失败处理:如 CLI 未安装或命令失败,自动降级到 MCP
步骤2:通过 QCC MCP 进行企业核验(备选)
如 CLI 不可用但 MCP 已配置,使用 MCP 工具进行企业核验:
- 可用工具:
qcc-company/get_company_registration_info- 企业工商信息qcc-company/get_company_profile- 企业简介qcc-company/get_key_personnel- 主要人员
- 优势:无需本地 CLI 安装,通过 Claude MCP 集成工作
- 数据来源标注:"基于企查查 MCP 服务获取"
步骤3:通过 QCC MCP 进行风险穿透(增强)
# 使用 QCC MCP 进行18类深度风险分析(如已配置)
# 需要 QCC_MCP_API_KEY 环境变量
- 可用工具:
qcc-risk/get_dishonest_info- 失信信息qcc-risk/get_judgment_debtor_info- 被执行人qcc-risk/get_business_exception- 经营异常- ...(共18类)
- 优势:AI 增强理解、全面风险扫描
- 数据来源标注:"基于企查查 MCP 深度分析"
步骤4:备选方案
- MCP(如 CLI 不可用):使用
qcc-company/get_company_registration_info进行企业核验 - Web Search(最后备选):如 CLI 和 MCP 都不可用,使用 Web Search 搜索"[企业名称] 工商登记信息"
- 人工核验:对于关键合同,要求对方提供营业执照复印件
在批注中记录来源
始终标注核验来源:
- CLI 核验 → "【数据来源】基于企查查 CLI 终端直连获取"
- MCP 企业核验 → "【数据来源】基于企查查 MCP 服务获取"
- MCP 风险分析 → "【数据来源】基于企查查 MCP 深度分析"
- Web 搜索 → "【数据来源】基于公开网络信息查询"
第1层:基础(文字质量)
- 数字、日期、术语准确性
- 编号和引用一致性
- 清晰明确无歧义
- 格式和标点质量
第2层:商务条款
- 范围、交付物、数量/规格
- 价格和付款计划
- 交付/验收程序
- 权利/义务和履约保证
第3层:法律条款
- 生效和期限/终止
- 责任/处罚和救济
- 争议解决和适用法律
- 保密、不可抗力、知识产权、通知、授权
风险等级(通过审核人名称编码):
- 🔴 高风险:核心业务歧义(价格、范围、权利/义务)
- 🟡 中风险:重要但非核心歧义
- 🔵 低风险:实际影响极小
合同概要
以合同语言生成结构化、客观的概要。
- 参考 references/summary.md(英文模板)
- 使用 references/language.md 进行语言选择和中文标签
输出文件:合同概要.docx(中文)或 Contract_Summary.docx(英文)(默认字体:仿宋;如语言需要请调整)
综合审核意见
以合同语言为业务团队生成简洁的两段式回复。
输出文件:综合审核意见.docx(中文)或 Consolidated_Opinion.docx(英文)(默认字体:仿宋;如语言需要请调整)
业务流程图(Mermaid)
按要求生成 Mermaid 流程图并渲染为图片。
实现: 从 scripts/mermaid_renderer.py 调用 render_mermaid_code()。本技能将:
- 将 Mermaid 代码写入
.mmd文件 - 使用
mmdc(mermaid-cli)渲染为 PNG 图片 - 如未安装
mmdc,仅生成.mmd文件(无图片)
不要使用 matplotlib 或其他 Python 库渲染流程图。
输出:
business_flowchart.mmdbusiness_flowchart.png(如 mmdc 可用)
技术说明
核心工作流程:
- 解包 → 2. 企业核验 → 3. 添加批注 → 4. 概要 → 5. 意见 → 6. 流程图 → 7. 重新打包
API 和实现细节:
企业核验设置(CLI + MCP 双模式)
本技能支持双模式企业核验:
- QCC CLI:终端直连用于企业核验(低延迟、高可靠)
- QCC MCP:模型上下文协议用于深度风险分析(AI增强、全面)
第1层:QCC CLI 设置(企业核验必需)
推荐给所有用户 - 提供最快最可靠的企业核验。
安装
# 安装 QCC CLI
pip install qcc-cli
# 验证安装
qcc --version
# 使用真实公司测试
qcc company get_company_registration_info --searchKey "企查查科技股份有限公司"
可用 CLI 工具
| 工具 | 用途 | 示例 |
|---|---|---|
qcc company get_company_registration_info | 企业核验 | qcc company get_company_registration_info --searchKey "XXX公司" |
qcc company get_shareholder_info | 股东信息 | qcc company get_shareholder_info --searchKey "XXX公司" |
qcc company get_key_personnel | 主要人员 | qcc company get_key_personnel --searchKey "XXX公司" |
CLI 输出示例
正在调用 company/get_company_registration_info...
* 企业名称: 企查查科技股份有限公司
* 统一社会信用代码: 91320594088140947F
* 法定代表人: 陈德强
* 登记状态: 在业
* 注册资本: 36225万元
* 成立日期: 2014-03-12
...
第2层:QCC MCP 设置(深度风险分析可选)
启用以增强18类风险穿透分析。
功能
启用 QCC MCP 后,本技能自动:
- 执行18类深度风险扫描(失信记录、被执行、经营异常、税务违规、破产等)
- AI 增强的风险理解和上下文分析
- 生成综合风险评估报告
设置步骤
-
申请 QCC MCP API 密钥
- 访问 企查查 MCP 门户 申请访问权限
- 获取您的 API 密钥
-
设置环境变量
export QCC_MCP_API_KEY="your_api_key_here" -
配置 MCP 服务器
cat > ~/.claude/.mcp.json << 'EOF' { "mcpServers": { "qcc-company": { "url": "https://agent.qcc.com/mcp/company/stream", "headers": { "Authorization": "Bearer ${QCC_MCP_API_KEY}" } }, "qcc-risk": { "url": "https://agent.qcc.com/mcp/risk/stream", "headers": { "Authorization": "Bearer ${QCC_MCP_API_KEY}" } } } } EOF -
验证设置
python -c "from scripts.qcc_mcp_client import QccMcpClient; c = QccMcpClient(); print('✅ MCP 已启用' if c.is_enabled() else '❌ MCP 未启用')"
双模式行为矩阵
| 场景 | 企业核验 | 风险分析 | 数据来源标注 |
|---|---|---|---|
| CLI ✅ MCP ✅ | CLI(首选) | MCP(增强) | CLI: "基于企查查 CLI 终端直连获取" / Risk: "基于企查查 MCP 深度分析" |
| CLI ✅ MCP ❌ | CLI | Web Search 备选 | CLI: "基于企查查 CLI 终端直连获取" |
| CLI ❌ MCP ✅ | MCP(备选) | MCP | MCP: "基于企查查 MCP 服务获取" / Risk: "基于企查查 MCP 深度分析" |
| CLI ❌ MCP ❌ | Web Search | Web Search | "基于公开网络信息查询" |
批注模板示例
CLI 企业核验(正常)
【问题类型】主体信息核实
【核实结果】经企查查 CLI 终端直连获取:
- 企业全称:XXX科技有限公司
- 法定代表人:张三
- 统一社会信用代码:91350100M0001XXXXX
- 登记状态:存续(在业)
【核实结论】企业工商信息正常。
【修订建议】建议核实签署人授权情况。
审核人: 🟡 中风险-主体核验
MCP 风险穿透(发现高风险)
【问题类型】主体司法执行风险
【风险企业】XXX建设有限公司
【风险原因】基于企查查 MCP 深度分析,发现该企业存在以下高风险事项:
1. 失信信息(老赖)
2. 被执行人(金额500万元)
3. 限制高消费
【法律后果】上述风险可能导致企业履约能力严重受限。
【修订建议】🔴 建议立即终止合作谈判或要求提供担保。
审核人: 🔴 高风险-司法执行
依赖
- Python 3.9+(推荐 3.10+)
- pandoc(系统安装)
- defusedxml
- Mermaid CLI(
mmdc)用于渲染 - python-docx 用于富文本输出
- requests(用于 QCC MCP API 调用,可选)
故障排除(简要)
文档问题
- Word 中批注缺失:运行
doc.verify_comments()并重新保存 - find_paragraph 失败:缩短搜索文字;确认实际段落文字
- Mermaid 渲染失败:确保
mmdc已安装;使用 Chrome 路径或 Puppeteer 配置
CLI 问题
- QCC CLI 未找到:使用
qcc --version验证安装;使用pip install qcc-cli重新安装 - CLI 命令失败:检查网络连接;验证 API 密钥权限
- CLI 输出为空:公司名称可能需要完全匹配;尝试使用完整法定名称
MCP 问题
- QCC MCP 不工作:验证
QCC_MCP_API_KEY是否已设置;检查到 https://agent.qcc.com 的网络连接 - MCP 工具未加载:配置
.mcp.json后重启 Claude Code
示例
参考 references/examples.md 获取完整工作流程示例。
重要规则
- 绝不修改合同原文
- 企业核验(第0层)必须在条款审核(第1-3层)之前完成
- 审核所有四层,不要跳过项目
- 确保风险等级准确一致
- 保持批注精确、专业、可操作
- 流程图必须严格来自合同文字
- 概要仅客观描述,不含风险分析
- 意见仅反映已识别的发现
许可证
SPDX-License-Identifier: Apache-2.0
Copyright (c) 2026 JiCheng
Licensed under the Apache License, Version 2.0. See repository root LICENSE.