skills/contract-copilot/SKILL.md
--- name: contract-copilot version: 1.5.2 description: 合同起草与审查助手。基于分层分析与四步流程,输出可执行的风险清单、起草骨架、修改建议、推荐措辞和审查意见书,支持批注与修订两种文档处理方式。用户通过飞书或其他 IM 对话发送合同文件并要求审查或起草时,也应使用本 skill,并优先沿原会话回传修订版和审查报告。 license: CC BY-NC 4.0 homepage: https://github.com/cat-xierluo/legal-skills author: 杨卫薪律师(微信ywxlaw) # Contract Copilot(合同助手) ## 一、定位 调用时,先按本文件确定运行流程。 ### 1.1 强制文件交付规则 当用户提供或通过会话传入 DOCX 合同文件,并提出“审查、审核、修改、批注、修订、出审查意见、帮我看合同”等合同审查类请求时,默认必须走文件交付链路: 1. 先完成必要澄清与分层审查。 2. 将审查结论整理为 `review-plan.json`。 3. 运行 `scripts
npx skillsauth add cat-xierluo/legal-skills skills/contract-copilotInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
name: contract-copilot version: 1.5.2 description: 合同起草与审查助手。基于分层分析与四步流程,输出可执行的风险清单、起草骨架、修改建议、推荐措辞和审查意见书,支持批注与修订两种文档处理方式。用户通过飞书或其他 IM 对话发送合同文件并要求审查或起草时,也应使用本 skill,并优先沿原会话回传修订版和审查报告。 license: CC BY-NC 4.0 homepage: https://github.com/cat-xierluo/legal-skills author: 杨卫薪律师(微信ywxlaw)
调用时,先按本文件确定运行流程。
当用户提供或通过会话传入 DOCX 合同文件,并提出“审查、审核、修改、批注、修订、出审查意见、帮我看合同”等合同审查类请求时,默认必须走文件交付链路:
review-plan.json。scripts/review/apply_review_plan.py 或 scripts/run_apply_review_plan.ps1。不得仅输出文字版风险清单、审查摘要或聊天回复来替代文件交付,除非出现以下情形之一:
出现例外时,必须明确说明阻塞原因,并告诉用户补齐哪些条件后可以继续生成 Word 文件。若文件已生成但暂时无法回传附件,应保留产物路径或文件对象,并明确说明“已生成但尚未完成会话回传”。
用于合同起草与审查的专业辅助技能,重点服务以下场景:
config/review_memory.json 已命中同名合同,默认沿用上次记录的客户名称、立场与审查口径;仅在用户指出不一致时再改。每个风险点建议采用以下字段输出:
结论应包含:
起草结果至少包含:
不扩展合同分类数量,优先在现有 12 类内完成全量抽取与深度补齐。
| 类别 | 路径 | 示例 |
|:---|:---|:---|
| 买卖合同 | references/contract-types/01-sale/ | 动产买卖、二手房买卖、商品房买卖、经销买卖 |
| 租赁合同 | references/contract-types/02-lease/ | 房产租赁、建筑设备租赁 |
| 服务类合同 | references/contract-types/03-service/ | 一般服务、中介、仓储保管、承揽、物业、运输、行纪、广告 |
| 知识产权类合同 | references/contract-types/04-ip/ | 软件许可、技术开发、商标许可、商标转让、专利、著作权 |
| 担保类合同 | references/contract-types/05-guarantee/ | 保证、抵押、质押 |
| 借贷与赠与合同 | references/contract-types/06-lending-gift/ | 民间借款、赠与 |
| 互联网协议 | references/contract-types/07-internet/ | 用户许可协议、订单协议、隐私政策 |
| 婚姻家事类合同 | references/contract-types/08-marriage-family/ | 夫妻财产约定、离婚协议、遗赠扶养协议 |
| 劳动用工类合同 | references/contract-types/09-employment/ | 劳动合同、劳务派遣、外包、实习、返聘、非全日制、个人劳务 |
| 房地产类合同 | references/contract-types/10-real-estate/ | 土地出让、土地转让、联建、委托代建 |
| 建设工程类合同 | references/contract-types/11-construction/ | 施工、总承包、分包、勘察设计、监理 |
| 公司投资类合同 | references/contract-types/12-corporate-investment/ | 出资、增资、投资、股东协议、股权转让、股权激励、合并分立、对赌 |
未单列的细分合同类型,统一按 references/contract-routing.md 归入既有 12 类,并同时用于审查路由和起草路由。
references/review-framework.mdreferences/priority-clauses.mdreferences/revision-strategy.mdreferences/contract-routing.mdreferences/contract-types/01-sale/ 至 references/contract-types/12-corporate-investment/references/review-framework.md,再读 references/contract-routing.md,必要时用 references/priority-clauses.md 聚焦高风险条款,进入对应合同主文件完成细审后,再用 references/revision-strategy.md 决定落地动作。templates/合同起草信息清单.md 固定文件包、待补事实和条款骨架。references/ 根层只保留高复用入口资料,不再拆出短小的导航或流程文件。references/contract-types/ 下既有 12 类目录。references/review-framework.md 或对应合同目录主文件。templates/合同起草信息清单.mdtemplates/条款库.mdtemplates/审查报告模板.mdtemplates/合同起草信息清单.md 的定位是“起草工作台”,用于把识别与分流文件产出的路由卡、文件包、程序性前提和待补事实先固定下来;templates/条款库.md 的定位是“起草支撑层”,不单独构成另一套 reference。起草时应先走 references/review-framework.md、references/contract-routing.md、templates/合同起草信息清单.md 和对应合同主文件,再从条款库抽取可复用措辞。当前条款库已补入文件优先级、验收、配合义务、条件成就、通知送达、责任限制、背景技术、里程碑、交割清单等首批高频结构条款,后续仍应继续从 12 类合同主文件中反向抽取公共条款。
直接运行 scripts/*.py 或 scripts/run_apply_review_plan.ps1 前,先确认 references/setup-dependencies.md 中的运行前提已经满足。最小要求是:本机 Python 已安装 defusedxml 与 lxml。OOXML 打包、解包和校验功能已内嵌在 scripts/docx/ 中,无需外部依赖。
python scripts/review/apply_review_plan.py \
--input contract.docx \
--plan review-plan.json \
--output contract_reviewed.docx
执行后默认对外交付:
contract_reviewed.docx(修订批注一体版)contract_reviewed_审查报告.docx同时会在 archive/<时间戳_合同名>/ 内部归档目录留存:
review-plan.jsoncontract_reviewed_审查报告.mdcontract_reviewed_执行日志.jsonmanifest.jsonfrom scripts import ContractReviewer
reviewer = ContractReviewer("workspace/unpacked")
reviewer.add_comment_by_text("甲方承担全部责任", "P0:责任范围过宽,建议增加责任上限和例外")
reviewer.replace_text("五个工作日内付款", "十个工作日内付款", tag="w:r")
reviewer.save()
scripts/README.mdpython scripts/review/enrich_review_plan.py \
--input review-plan.json \
--output review-plan_enriched.json
用于自动补齐 needs_negotiation / deterministic_edit,再执行批注/修订。
config/reviewer_profile.json 不存在,或其中未填写审查人姓名 / 律所或公司名称,先向用户确认审查人姓名、律所/公司名称和可选部门;随后脚本会以 config/reviewer_profile.example.json 为模板生成正式配置并写回。config/reviewer_profile.json 中已有姓名 / 律所或公司名称,只要该配置尚未在当前环境完成确认,也要先向用户确认一次,再继续执行;不要直接沿用未确认的预填值。config/review_memory.json;命中同名合同历史记录时默认沿用,未命中时在交互模式下询问“客户名称 + 立场 + 审查口径”,并以 config/review_memory.example.json 为模板生成正式记忆文件。edit_policy 决定。archive/。如需直接查看这些过程文件,可临时使用 --no-archive 调试。config/reviewer_profile.json;若尚无配置、缺少姓名/机构,或当前环境尚未确认过该身份配置,则在交互模式询问审查人姓名、律所/公司和可选部门,或在首次显式传入 --author 与 --organization 时按当前输入生成并保存。config/ 目录,不会自动上传;后续可随时通过自然语言要求更新。initials 为可选项;若留空,不自动生成,也不写入 Word 批注。w:date 使用本地时区格式写入,避免显示出错误时区或回写到运行前的时间戳。1-2 分钟;不同审查意见之间继续保持 5-10 分钟的大间隔。姓名|机构;审查报告中的审查人、所属机构/公司和所属部门仍保持分项展示。comment,默认按“风险等级 / 风险点 / 条款位置 / 说明 / 修改建议 / 可选建议措辞”的多行结构生成批注。revise-first:只有高确定性、强落地性的审查项才优先直接修订;程序优化型、说明型和低必要性问题可改为批注或仅写入意见书。comment / delete / insert / replace 前,应优先参照 references/revision-strategy.md:留空项、事实待补项和授权不明的商务取舍项默认只批注;准确的法条引用默认不因篇幅较长而删减;能局部删减或补入的,不要整段重写。w:r 内短语替换/删除优先落成局部 w:del / w:ins;目标跨多个 w:r 时,优先退到段落内片段修订;复杂长条款在存在多个稳定不变片段时,也应尽量拆成多组局部修订块,而不是继续压成一个大中段替换;若单一条款会炸出大量低价值的单字级差异,则自动并成更少的核心修订块。对于留空/占位项,即使上游误标为直接修订,也应回退为批注。action=auto)revise-first 策略;可通过 --edit-policy revise-first|balanced|comment-first 或计划中的 meta.edit_policy 覆盖。edit_policy 与审查口径独立:即便本轮口径选择 克制,对确定性问题仍可直接修订;不要再把“口径低”机械等同于“只批注、不改文”。revise-first 下,若未显式提供 replacement_text,但已提供可直接落文的 recommended_text,系统会先判断该问题是否值得直接入正文;只有通过收束规则后,才会将其作为替换文本执行直接修订。comment/delete/insert/replace)优先于自动分流。needs_negotiation / deterministic_edit,脚本会在加载计划时自动补全(可通过 --no-enrich-plan 关闭)。config/reviewer_profile.json 缺少审查人姓名或所属机构/公司,或当前环境尚未确认过该身份配置,先提醒用户补录或确认审查人姓名、律所/公司名称和可选部门,并说明该配置只保存在本地、后续可随时通过自然语言修改。references/contract-routing.md,确定主合同类型、配套协议类型、推荐交付包型和必带附件,并先产出“起草路由卡”。templates/合同起草信息清单.md 记录文件包、主体、交易结构、程序性前提和缺失事实。references/review-framework.md 检查宏观 / 中观 / 微观三层是否完整。templates/条款库.md 仅用于补充通用候选措辞,不代替主文件确定条款结构。1.5.22026-06-04data-ai
当用户要求你并行推进多个任务、一次性开多个 worker/agent 同时工作、用 tmux 启动多个独立 session、防止 PM 直接实现逃逸、或者你作为 PM 需要拆解并派发任务给多个独立 worker 时使用。触发词包括"并行推进""开多个""同时推进""派 worker""多 agent 并行""开 worker""tmux 启动""独立 session""防逃逸""分派任务""一起做"。不要用于单个短任务、跨平台任务状态管理、或 Git 分支/提交/PR/merge 安全规则。
tools
本技能应在 GitHub 项目发布新版本时使用,覆盖版本号管理、CHANGELOG 同步、Release Notes 撰写、tag 创建、CI 构建监控、发布验证和历史清理全流程。适用于桌面应用、CLI 工具、Web 应用、库/SDK 等任何基于 GitHub 的软件项目。当用户提到"发布"、"release"、"打 tag"、"新版本"、"更新版本号"、"写 release notes"、"发布失败了"、"CI 挂了"时触发。不要用于非 GitHub 项目(如纯 GitLab / Gitea 项目)或无需 CI 的手动发布场景。
content-media
本技能应在用户需要 OCR、扫描识别、图片文字识别、文档识别,或将 PDF、图片、Office 文档、URL 转换为 Markdown 时使用。检测到法律材料时可进行保守的法律术语与文书结构优化。不要用于法律事实判断、补写缺失内容、语义改写、印章深度识别或图表实体分析。
tools
将 monorepo 中的子目录通过 git subtree 推送到独立 GitHub 仓库。支持注册清单、变更自动检测、增量推送。本技能应在用户提交涉及已注册子项目的变更后,或手动请求推送到独立仓库时使用。不要用于初次创建 monorepo 或管理 git submodule。