罗斯蒙德合同审查
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-0lub9joc--rosemond-contract-compliance1.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-0lub9joc/rosemond-contract-compliance1。【罗斯蒙德·出品】合同审查。合同摆在面前,先做一遍风险初筛再送审——丢进 PDF、Word 或扫描件,提取合同文本,解析主体、标的、价款、履约、违约等要素,多版本条款语义比对并定位差异,再按 13 类通用维度(用章、审批、必备条款、前后一致性、行业资质、违约责任与上限、知识产权、主体授权、价款税务、争议解决、履约验收、跨境、招标采购)逐项核查,叠加背靠背传导、AIGC 权属与标识、源文件与提示词交付、数据合规与第三方大模型调用、验收客观化、驻场 SLA 等业务专项规则。
风险按高、中、低分级,一律定位到所属章节、写明依据与修改建议,一键生成可视化 HTML 报告,同源产出 Markdown 与 JSON 三件套,交付前经自检脚本门禁校验。仅做初筛,不替代法务终审。触发词:合同审查、合同审批、合同比对、差异对比、用章检查、招标文件评分、单一来源采购、背靠背合同、AIGC 合同、条款风险、合同风险筛查、起草诉状、contract review、clause comparison。
阅读全文 (展开查看完整说明)
概述
南京罗斯蒙德基于已交付项目沉淀的合同审查场景:合同解析 → 条款语义比对 → 风险审查 → 三件套报告 → 审批流转。
聚焦智能写作 / 文档交付 / AIGC / 定制开发的背靠背合同——这是通用合同审查覆盖不到、也最容易亏钱的地方。
仅做风险初筛,不替代法务终审。
运行环境
脚本为纯标准库 Python,最低 3.6,不需要 pip 安装任何东西。
但各机器的解释器命令名不一致:Linux / macOS 多为 python3,Windows 上可能只有 python 或 py,而部分老系统上的裸 python 是 Python 2。因此执行任何脚本前,先解析一次可用解释器:
# POSIX:Linux / macOS / Git Bash
PY="$(command -v python3 || command -v python)"
"$PY" --version # 必须 >= 3.6;若显示 2.x,换下一个候选# Windows PowerShell
$PY = (Get-Command python3 -ErrorAction SilentlyContinue).Source
if (-not $PY) { $PY = (Get-Command python -ErrorAction SilentlyContinue).Source }
& $PY --version想一次看清本机情况,用任意一个可用的 Python 跑自检脚本——它会列出全部候选、标出哪些版本过低,并给出本机对应的安装命令:
"$PY" scripts/env_check.py下文所有命令示例中的 $PY,即指这里解析出的解释器;不要照抄成裸 python。
一、这个技能解决什么(企业场景)
合同审查是高频、重复、可标准化的动作,但依赖法务逐份人工过一遍,成本高、周期长,且口径因人而异。
本技能把「合同审阅与合规初筛」做成可复用流水线。与普通合同审查的差异在于业务专项:
南京罗斯蒙德的典型合同是「技术服务 + 定制开发」的背靠背结构——甲方(总集/渠道方)委托乙方服务最终客户。这类合同的亏损点高度集中且通用审查查不出来:
- 付款/验收背靠背且无最迟付款日、无视为验收条款 → 乙方无限垫资、无限返工
- 验收标准写成「最终客户满意」这类主观标准 → 永远触发不了付款节点
- AI 生成内容的著作权归属、能否用甲方文档训练模型、生成内容标识责任
- 交付物只有 PDF 成品、不交源文件与提示词模板 → 甲方无法二次维护
- 处理客户文档时的数据合规(第三方大模型 API 调用、删除返还、出境)
目标是在不替代法务终审的前提下,把重复可标准化的审查动作前置,降低人工初筛成本。
一个技能解决一个完整业务流,不做工具集合包——不涵盖诉讼代理、深度法律研究等非标动作。
二、什么时候用 / 什么时候不要用
适用
- 合同审查(买卖/服务/采购/框架/保密/授权等各类合同)
- 智能写作 / 文档交付 / AIGC / 定制开发类合同(本技能强项)
- 背靠背合同(甲方转委托、以最终客户验收为准)
- 合同语义比对(两份合同差异/版本差异定位)
- 合同用章检查(用章合规性初筛)
- 招标文件评分细则检查(评分项完整性、权重合法性)
- 单一来源采购条款分析(合规性论证)
- 自动生成诉状(事实梳理 + 案由 + 请求项初稿)
不适用(请转专业渠道)
- 出具正式法律意见、替代法务/律师终审
- 诉讼策略制定、法庭代理
- 与合同无关的通用文档审查(走 ai-writing)
三、能力地图
| 模块 | 做什么 | 产出 |
|---|---|---|
| 文本提取 | PDF/Word/扫描件 → 纯文本,打通后续校验链路 | .txt |
| 合同解析 | 识别合同类型与关键要素,结构化抽取 | 合同要素 JSON |
| 条款语义比对 | 与标准模板/历史版本逐条款比对,定位差异与责任偏移 | 差异清单 |
| 用章检查 | 用章类型与权限一致性核验 | 高风险标记 |
| 审批检查 | 内部审批节点与金额分级核验 | 风险提示 |
| 合规检查 | 13 类通用维度 + 业务专项 | 风险清单 |
| 脚本强制校验 | 金额一致性、易错词自动检查 | 线索级风险 |
| 报告输出 | 统一版式 HTML + Markdown + JSON 三件套 | 审查报告 |
| 交付自检 | 报告出具前的门禁校验 | 通过/阻断 |
| 审批流转 | 按金额/类型路由至审批节点 | 待办清单/流转记录 |
四、标准流程
方法论:文本提取 → 合同解析 → 条款语义比对 → 风险审查(用章/审批/合规 + 业务专项) → 三件套报告 → 交付自检 → 审批流转
步骤 0 · 文本提取(Text Extraction)
后续两个强制校验脚本只吃纯文本。合同是 PDF/Word 时必须先跑提取,不得跳过:
"$PY" scripts/extract_contract_text.py --input 合同.pdf --output 合同.txt
"$PY" scripts/extract_contract_text.py --input-dir ./contracts --out-dir ./txt # 批量- 支持
.pdf / .doc / .docx / .rtf / .txt / .md,按环境自动降级(pdftotext → pypdf → pdfminer;python-docx → textutil → pandoc) - 扫描件/图片型 PDF 提取不到文本时,脚本会如实报错并退出码 1 —— 此时先 OCR 重跑,
严禁在无文本的情况下让下游脚本"假装通过"
步骤 1 · 合同解析(Contract Parsing)
- 读取合同文本,识别合同类型、主体、标的、金额、期限、违约责任、争议解决等关键要素
- 结构化抽取:合同要素表(当事人、金额、履行节点、生效条件、终止条款、管辖)
,字段定义见 references/clause_templates.md
- 输出中间产物:结构化合同要素 JSON,供后续比对与审查引用
- 缺失关键字段(如金额、主体不清)时标记红灯,进入步骤 3 重点提示
- 同时识别是否为背靠背 / AIGC / 文档交付类合同(识别特征见
references/rosemond_domain_rules.md 第零节),命中则步骤 3 必须叠加业务专项
步骤 2 · 条款语义比对(Clause Semantic Diff)
- 输入:待审合同 vs 标准模板 / 历史已审合同 / 对方上一版
- 逐条款做语义级比对,定位:缺失条款、表述差异、责任偏移、对我方不利修改
- 输出差异清单(条款号、差异类型、原文 vs 比对基准、影响等级)
- 比对基准优先用公司标准模板库;无模板时与行业通用条款比对并注明基准来源
步骤 3 · 风险审查(Risk Review:用章 / 审批 / 合规 + 业务专项)
分三类并行审查,逐项标注风险等级(高/中/低)与依据。
- 用章检查:比对用章类型与用章审批记录/权限是否一致;超权限、错用章(合同章 vs 公章)、
缺失用章审批流程标记高风险。仅凭合同文本无法确认审批链时,标注「需人工核验用章审批单」
- 审批检查:检查合同是否经过规定的内部审批节点(金额分级、部门会签),未走流程或越级审批标记风险
- 合规检查(13 类通用维度)
逐项对照 references/review_checklist.md。完整清单见其第五节,速记如下:
| # | 维度 | # | 维度 | # | 维度 |
|---|---|---|---|---|---|
| 1 | 用章合规 | 6 | 违约责任与责任上限 | 11 | 履约与验收 |
| 2 | 审批合规 | 7 | 知识产权 | 12 | 跨境合规 |
| 3 | 必备条款完整性 | 8 | 主体授权与经营范围 | 13 | 招标采购专项 |
| 4 | 条款前后一致性 | 9 | 价款与税务 | ||
| 5 | 行业资质与许可 | 10 | 争议解决与生效终止 |
- 业务专项叠加(本技能差异化)
命中背靠背 / AIGC / 文档交付 / 定制开发 / 驻场任一特征时,叠加references/rosemond_domain_rules.md:
- 背靠背传导:主合同是否作为附件提供、付款是否有最迟付款日、验收是否有视为验收条款、
责任是否超过主合同对应部分、非乙方原因终止时是否按已完工作量结算
- AIGC 专项:生成内容著作权归属、能否用甲方数据训练模型、训练数据合法来源承诺、
生成内容标识义务(《人工智能生成合成内容标识办法》及 GB 45438-2025,2025-09-01 施行)、内容事实性责任、违法内容责任划分
- 交付物与源文件:交付清单是否穷举、是否交付可编辑源文件、提示词/模板库权属
- 数据合规:个人信息合法性基础、委托处理定性、数据返还与删除、
是否允许调用第三方大模型 API、数据出境
- 验收标准客观化、驻场与 SLA
通用维度判定为「低」的项,叠加专项后可能升级为「高」
(例:验收条款「有」但写成「最终客户满意」→ 专项判为高风险)。
脚本强制触发(必执行,非可选)
| 脚本 | 触发条件 | 结果映射 |
|---|---|---|
scripts/check_amount_consistency.py | 任何含金额条款的合同,必须自动执行 | summary.risk_level == high(存在大小写矛盾)→ 高风险;medium(仅大写无小写)→ 中风险;low(仅小写无大写,常见写法)→ 低风险提示 |
scripts/check_typo.py | 任何合同文本,必须自动执行 | 命中「高」严重度错别字 → 中风险;命中「低」→ 低风险(建议优化);命中需上下文区分词 → 提示人工复核 |
"$PY" scripts/check_amount_consistency.py --input 合同.txt --output amount_report.json
"$PY" scripts/check_typo.py --input 合同.txt --output typo_report.json重要:脚本产出为线索,须回原文复核后再落报告,不得直接照抄为结论。
- 金额脚本只把同一处大小写数值对不上(
type=conflict)判为高风险;「仅有小写、未标注大写」是常见写法,按金额大小判为低/中,不直接升高风险
—— v1 曾把所有未匹配项一律升高风险,误报率极高,v2 已修正
- 大小写配对为就近配对(同句,或同章节且字符距离 ≤30),避免把相邻两条不同条款的
金额误配成「一致」
- 专业术语可能误报,逐条判断
步骤 4 · 三件套报告输出(Review Report)
- 结构化审查报告:合同概况、主体信息、风险清单(等级+所属章节+依据+修改建议)、核对表、待人工复核项
- 报告分级:绿灯(可推进)/ 黄灯(需修改后复审)/ 红灯(建议法务介入或终止),由 Markdown 报告自动判定
产物三件套(每份合同一套,同目录同名)
| 产物 | 用途 |
|---|---|
<合同名>_审查数据.json | 结构化数据;供二次加工、下次版本比对复用 |
<合同名>_审查报告.md | Markdown 报告;便于评审批注与版本比对 |
<合同名>_审查报告.html | 统一版式可视化报告;单文件自包含,可直接分享/离线打开 |
HTML + Markdown 必须脚本生成,禁止手工拼装
"$PY" scripts/build_report.py --data <审查数据.json> # 单份,同时出 HTML + MD
"$PY" scripts/build_report.py --data-dir <目录> --out-dir <输出目录> # 批量(多合同场景必用)
"$PY" scripts/build_report.py --data <审查数据.json> --no-md # 只出 HTML脚本套用 assets/report_style.css 与 assets/report_script.js,输出单文件自包含 HTML。改样式或交互只改 assets 下这两个文件,禁止在输出 HTML 里另写一套 CSS/JS。
数据填写三条硬纪律
- 定位用「所属章节」,禁用行号:每条风险必须填
section字段(如「费用及结算 → 分阶段付款」);
行号随文档编辑漂移,报告中不得出现「第 X 行」
- KPI 只放简短结论(≤8 字符),说明文字放正文高危项或核对表,不得塞进 KPI
- KPI 数值必须与实际风险条数一致:
high_risk==high_risks条数,以此类推,
金额/易错词 KPI 应与脚本产出对得上(由步骤 5 自检强制)
字段规范、页面显示映射、可访问性底线(WCAG AA)详见 references/report_template.md。
步骤 5 · 交付自检(Pre-delivery Gate)
报告出具前必须跑自检,把第十节清单中可自动判定的部分固化为门禁:
"$PY" scripts/validate_review_data.py --data <审查数据.json>
--amount-report amount_report.json --typo-report typo_report.json- P0 问题(退出码 1)= 禁止交付:KPI 与风险条数不一致、风险缺
section、
出现行号表述、三件套不全、缺免责声明
- P1 提示(退出码 0,加
--strict则阻断):KPI 值超 8 字符、风险编号缺失或重复、
金额/易错词 KPI 与脚本产出对不上
步骤 6 · 审批流转(Approval Routing)
- 将审查报告与风险标记推送至对应审批节点(法务 → 业务 → 财务,按金额/类型路由)
- 高风险未关闭不得进入用章环节
- 记录审查结论与审批轨迹,留痕存档
- 对接企业审批系统(如飞书审批/企业微信)时按需唤起,无系统对接则仅输出待办清单供人工发起
五、怎么用(输入→产出)
把合同原文(或两份待比对合同)发给本技能,例如:
- 「帮我审一下这份合同」
- 「对比两份合同差异」
- 「这份背靠背合同有什么风险」
- 「AI 生成内容的著作权归谁,条款有没有问题」
- 「检查招标文件评分细则」
- 「审一下用章是否合规」
- 「帮我起草/生成一份诉状」
输入:合同原文(PDF/Word/图片扫描件/文本)+ 可选比对基准(标准模板/历史版本)产出:_审查报告.html + _审查报告.md + _审查数据.json 三件套 + 两份脚本校验 JSON
| 用户说法 | 命中动作 |
|---|---|
| 「帮我审一下这份合同」 | 步骤 0→1→3→4→5 |
| 「对比两份合同差异」 | 步骤 2→4→5 |
| 「这份背靠背合同…」 | 步骤 1 识别 → 3(叠加专项)→ 4→5 |
| 「AI 生成内容/训练数据…」 | 步骤 3 AIGC 专项 → 4→5 |
| 「检查招标文件评分细则」 | 步骤 3 合规专项 → 4→5 |
| 「审一下用章是否合规」 | 步骤 3 用章检查 → 4→5 |
| 「帮我起草/生成一份诉状」 | 事实梳理 → 诉状初稿(步骤 4 变体) |
六、输出样例
examples/ 下有一份可直接运行的完整样例(智能写作平台技术服务合同,含真实的大小写金额矛盾):
| 文件 | 说明 |
|---|---|
examples/示例合同_智能写作平台技术服务.txt | 示例合同原文(含背靠背、AIGC、数据合规等典型问题) |
examples/示例合同_金额校验.json | 金额脚本产出(检出 1 处大小写矛盾,差额 76,500 元) |
examples/示例合同_易错词.json | 易错词脚本产出 |
examples/示例合同_智能写作平台技术服务_审查数据.json | 审查数据(5 高 / 7 中 / 3 低) |
examples/示例合同_智能写作平台技术服务_审查报告.html | 可视化报告 |
examples/示例合同_智能写作平台技术服务_审查报告.md | Markdown 报告 |
一键复现:
cd examples
"$PY" ../scripts/check_amount_consistency.py --input 示例合同_智能写作平台技术服务.txt --output 示例合同_金额校验.json
"$PY" ../scripts/check_typo.py --input 示例合同_智能写作平台技术服务.txt --output 示例合同_易错词.json
"$PY" ../scripts/build_report.py --data 示例合同_智能写作平台技术服务_审查数据.json
"$PY" ../scripts/validate_review_data.py --data 示例合同_智能写作平台技术服务_审查数据.json
--amount-report 示例合同_金额校验.json --typo-report 示例合同_易错词.json七、卡点自救
- 扫描件无文本 →
extract_contract_text.py会如实报错退出码 1;先 OCR 再重跑,不得凭空推断条款 - PDF 提取到乱码/缺字 → 换
--input原件另存为文本版 PDF;或pdftotext -layout后人工校对 - KPI 卡片撑破 → KPI 位只放 ≤8 字符简短结论,说明文字移到正文高危项
- 同名合同分不清 → Hero 的「类型」行不可删,靠类型行末尾的最终客户区分
- 金额脚本报高价差 → 输出是线索,回原文复核口径(含税/不含税、大小写、分项合计)后再落结论;
只有 type=conflict 才映射高风险
- 金额脚本 orphan 很多 → 「仅有小写、未标注大写」是常见写法,属提示非缺陷,不要一律升高风险
- 用章审批链无法核验 → 标注「需人工核验用章审批单」,不得默认通过
- 批量报告样式不一致 → 只改
assets/report_style.css与assets/report_script.js,勿手改输出 HTML - 自检报 P0 禁止交付 → 按提示回步骤 3/4 修复,不要用
--no-md或缺文件的方式绕过门禁 - 环境无法生成 docx/PDF → 交付 Markdown 并说明,不得假装已生成
八、质量护栏
- 不替代法务终审:本技能输出为风险初筛与提示,不能作为正式法律意见;涉及重大金额、股权、诉讼的合同必须人工法务复核签字
- 不虚构审查依据:风险提示必须指明条款位置或法规来源;引用法规须写清名称与生效状态,禁止凭空生成「合规/不合规」结论
- 用章/审批核验有限:仅凭合同文本无法确认真实审批链与用章记录时,必须标注「需人工核验」,不得默认通过
- 脚本产出是线索不是结论:须回原文复核后再落报告;专业术语可能误报
- 诉状初稿需校对:自动生成诉状的事实与法律依据须人工核对,禁止直接提交法院
- 格式受限如实告知:需要 docx/PDF 正式版且当前环境无法生成时,交付 Markdown 并说明,不得假装已生成
- 无文本不得放行:扫描件提取失败时如实报错,严禁让下游脚本在空文本上"通过"
执行优先级:用户明确要求 > 技能默认规则;风险等级高 > 低(报告按等级排序);要素缺失标红 > 表述优化建议;无法核验项如实标注 > 默认通过;不虚构审查结论,降级继续并说明。
九、与其他技能的边界
| 维度 | 本技能 | ai-writing | contract-ai-review |
|---|---|---|---|
| 对象 | 合同、招标文件等法务类文本 | 可研报告、公文、标书、手册等通用文档 | 通用合同(含能源/石化、招标采购专项) |
| 动作 | 解析 + 比对 + 风险审查 | 写作 + 格式标准化 + 指定格式交付 | 解析 + 比对 + 风险审查 |
| 差异化 | 背靠背 / AIGC / 文档交付 / 数据合规专项 | — | 行业专项(能源/电网/石化) |
| 产出 | 审查报告三件套 | 标品格式文档 | 审查报告三件套 |
合同起草(从零写一份合同正文)不属于本技能,走 ai-writing;写好的合同需要审查再回到本技能。若审查对象是能源/电网/石化或纯招投标场景且无背靠背/AIGC 特征,contract-ai-review 亦可胜任。
十、检查清单(报告交付前自检)
优先跑 scripts/validate_review_data.py(步骤 5),以下为完整清单:
| 序号 | 检查项 | 通过标准 | 未通过处理 |
|---|---|---|---|
| 1 | 要素完整性 | 主体/标的/金额/期限/违约责任/争议解决已抽取,缺失项已标红 | 回步骤 1 补抽 |
| 2 | 脚本强制校验 | 已跑 check_amount_consistency.py 与 check_typo.py | 补跑脚本 |
| 3 | 风险依据可追溯 | 每条风险均有条款位置或法规来源,无凭空结论 | 回步骤 3 补依据 |
| 4 | 定位方式合规 | 全部使用「所属章节」,报告无「第 X 行」 | 回步骤 4 改 section 字段 |
| 5 | KPI 简短且自洽 | KPI 值 ≤8 字符,且与风险条数、脚本产出一致 | 修正 KPI 或补风险项 |
| 6 | 三件套齐全 | HTML/MD/JSON 同目录同名产出 | 补跑 build_report.py |
| 7 | 免责声明完整 | 报告含「不替代法务终审」声明 | 补入报告 |
| 8 | 业务专项已叠加 | 背靠背/AIGC/文档交付类合同已对照 rosemond_domain_rules.md | 回步骤 3 补专项审查 |
| 9 | 无法核验项已标注 | 用章/审批链等已列入「待人工复核」并注明核验方 | 补入 manual_review |
交付前逐项核对(建议直接用自检脚本),全部通过后方可提交。
十一、参考资源索引
| 文件 | 用途 | 何时加载 |
|---|---|---|
references/rosemond_domain_rules.md | 业务专项:背靠背传导、AIGC 权属/训练授权/标识义务、交付物与源文件、数据合规、验收客观化、驻场 SLA | 步骤 1 识别到背靠背/AIGC/文档交付特征后,步骤 3 必载(本技能差异化底座) |
references/review_checklist.md | 13 类通用维度、必备条款、易错词库、条款矛盾清单、行业资质速查 | 步骤 3 风险审查时加载(核心数据底座) |
references/clause_templates.md | 标准条款模板库、要素抽取字段定义、行业专项提示 | 做语义比对、要素抽取、行业专项时加载 |
references/report_template.md | 报告版式、风险等级定义、审查数据 JSON 字段规范、页面显示映射、可访问性底线 | 步骤 4 输出报告时加载 |
assets/report_style.css | HTML 报告统一样式 | 由 build_report.py 自动内联,勿手改输出文件 |
assets/report_script.js | HTML 报告统一交互 | 由 build_report.py 自动内联,勿手改输出文件 |
scripts/extract_contract_text.py | PDF/Word/扫描件 → 纯文本 | 步骤 0,合同非纯文本时 |
scripts/build_report.py | 生成 HTML + Markdown 报告,支持 --data-dir 批量 | 步骤 4 |
scripts/check_amount_consistency.py | 金额大小写一致性(就近配对 + 分级) | 步骤 3 强制触发 |
scripts/check_typo.py | 易错词与需上下文区分词检查 | 步骤 3 强制触发 |
scripts/validate_review_data.py | 交付前自检门禁 | 步骤 5 |