Contract Cleaner
清洗合同、整理合同格式、统一合同术语、规范合同条款。当用户需要 整理、格式化、统一术语、清洗合同文本时使用。 触发词:清洗合同、整理合同、合同格式化、合同术语、合同规范化、 合同文本清洗、修复合同。
Contract Cleaner
将混乱的合同文本变成干净、规范、符合法律语言体系的 Markdown。
CRITICAL:完整流程必须全部执行
本工具的清洗流程包含 Python 步骤和 AI 步骤,必须按顺序全部执行,不能只跑 Python 命令就结束。缺少任何一步都会导致输出未经清洗。
完整流程:
1. Python preprocess → 生成会话目录 + 编号规范化输入文件
2. AI 编号规范化 → 读取 numbering.md,只改编号不改内容,写入 02 文件
3. Python preprocess-continue → 加载 02 文件,分块
4. AI 五遍清洗 → 逐块执行:义务句式 → 结构重组 → 格式清理 → 质量验证 → 最终润色
5. Python finalize → 拼接 + 自检 + 导出 docx
禁止跳过步骤 2 和步骤 4。步骤 2 是编号规范化的核心,步骤 4 包含义务句式、结构重组、格式清理、质量验证、最终润色共 5 个 pass,跳过任何 pass 都会导致输出质量不达标。
执行流程
第 1 步:预处理
python scripts/auto_cleaner.py --stage preprocess -i <合同文件>
此命令会完成文档转换、格式清洗、规则引擎,输出到 清洗会话_<合同名>_<时间戳>/ 目录。
关键输出文件:
_原始轻量.md— 原合同轻量清理版(仅清理 docx 转换噪音,用于 pandiff 对比基线)00_规则引擎输出.md— 规则引擎处理后的文本01_编号规范化输入.md— 待编号规范化的文本
第 2 步:AI 编号规范化(CRITICAL,不可跳过)
此步骤由你(Agent)直接执行,不需要调用任何外部 API。
- 读取
references/prompts/numbering.md获取编号规范化规则 - 读取会话目录中的
01_编号规范化输入.md - 按规则处理文本,统一编号为标准层级:
- 一级:第一条、第二条……(加粗)
- 二级:1.1、1.2……
- 三级:(1)、(2)……
- 只改编号,不改任何文字内容
- 将结果写入会话目录中的
02_编号规范化输出.md
💡
_原始轻量.md在 preprocess 阶段已自动生成,不需要你处理。finalize 阶段会优先用它作为 pandiff 的"原合同"对比基线。
第 3 步:预处理继续
python scripts/auto_cleaner.py --stage preprocess-continue --session <会话目录名>
此命令会加载 02_编号规范化输出.md,执行分块,输出 chunks 目录和 manifest.json。
第 4 步:AI 五遍清洗(CRITICAL,不可跳过)
此步骤由你(Agent)直接执行,不需要调用任何外部 API。
读取 manifest.json,对 needs_ai: true 的每个 chunk,按顺序执行 5 个 pass:
Pass 1 — 义务句式:
- 读取
references/prompts/obligation.md - 读取 chunk 文件内容
- 按 obligation.md 的要求处理文本(为义务性条款添加"应当"等)
- 将结果写回原 chunk 文件
Pass 2 — 结构重组:
- 读取
references/prompts/structure.md - 读取 chunk 文件内容
- 按 structure.md 的要求处理文本(删除非标小标题、确认层级等)
- 将结果写回原 chunk 文件
Pass 3 — 格式清理:
- 读取
references/prompts/format.md - 读取 chunk 文件内容
- 按 format.md 的要求处理文本(清理残留标记、统一格式等)
- 将结果写回原 chunk 文件
Pass 4 — 质量验证(不可跳过):
- 读取
references/prompts/verification.md - 读取 chunk 文件内容
- 按 verification.md 的语义检查清单逐条检查
- 如果发现问题,根据 suggestions 直接修正后写回;如果无问题,原样写回
- 禁止只输出 JSON 而不修改文件——发现问题必须直接修正,无问题则原样保留
Pass 5 — 最终润色(不可跳过):
- 读取
references/prompts/polish.md - 读取 chunk 文件内容
- 按 polish.md 的润色规则修正语法错误、句法错误、低级错误和怪异表达
- 将结果写回原 chunk 文件
- 禁止跳过——即使看起来"没问题"也要执行,润色规则会捕获人眼易漏的低级错误
规则:
needs_ai: false的 chunk(首部、签署区)保持原样,不处理- 如果某个 chunk 内容简短,可以一次合并处理多个 pass,但每个 pass 的结果都要体现
- 每个 pass 处理完立即写回文件
第 5 步:收尾
python scripts/auto_cleaner.py --stage finalize --session <会话目录名>
此命令会拼接所有 chunk、自检验证、导出文件。输出到输入文件同目录:
合同名-原合同(预处理后).md— 原合同轻量清理后的 Markdown合同名-新合同(预处理后).md— AI 清洗后的 Markdown合同名-清洁版.docx— 清洗后的美观 Word 文档合同名-对比版.docx— 新旧对比修订痕迹版(pandiff 生成)
清洗规范
第 1 步已执行的确定性规则(AI 不需要重复处理)
| 规则 | 示例 |
|---|---|
| 术语替换 | 缴纳→支付、罚款→违约金、权力→权利 |
| 金额格式 | ¥123,456→人民币123456.00元 |
| 日期格式 | 2026-2-23→2026年2月23日 |
| 全角→半角 | 有多条 |
| 近义术语标记 | 终止/解除同时出现→【近义术语待统一】 |
| 首部/签署区保护 | 不进入条款编号体系 |
第 2 步已执行的编号规范化(AI 不需要重复处理)
| 规则 | 示例 |
|---|---|
| 条款编号标准化 | "一、""1.""(一)"→ 第X条 |
| 二级编号统一 | 子项统一为 X.X 格式 |
| 三级编号统一 | 子子项统一为(X)格式 |
| 层级递进修复 | 一级→三级跳级修复为自然段落 |
详细规范见 references/global_text_processing.md。
文件结构
contract-cleaner/
├── SKILL.md
├── scripts/
│ ├── auto_cleaner.py # 主入口(支持 --stage preprocess/preprocess-continue/finalize)
│ ├── rule_engine.py # 规则引擎
│ ├── industrial_cleaner.py # AI 清洗引擎(自动模式用)
│ ├── format_cleaner.py # 格式清洗
│ ├── document_converter.py # 文档转换
│ ├── self_verifier.py # 自检验证
│ └── docx_exporter.py # Word 导出
└── references/
├── global_text_processing.md # 完整清洗规范
├── troubleshooting.md # 故障排查
└── prompts/ # AI 清洗 prompt
├── numbering.md # 第2步:编号规范化(只改编号不改内容)
├── obligation.md # Pass 1:义务句式
├── structure.md # Pass 2:结构重组
├── format.md # Pass 3:格式清理
├── verification.md # Pass 4:质量验证(不可跳过)
└── polish.md # Pass 5:最终润色(不可跳过)
自动模式(有 API Key 的高级用户)
如已配置 API Key,可一条命令跑完:
python scripts/auto_cleaner.py -i 合同.docx
效果等价于手动执行上述全部 5 步,但 AI 清洗由 Python 脚本直接调用 API 完成。
首次配置:
python scripts/auto_cleaner.py --config
或设置环境变量:
export ANTHROPIC_API_KEY=sk-ant-...
常见问题
| 现象 | 原因 | 解决方案 |
|---|---|---|
| 输出与输入几乎相同 | 跳过了第2步或第4步的 AI 清洗 | 确保完整执行全部5步 |
| 没有"第一条"编号 | 跳过了第2步编号规范化 | 执行编号规范化后重新 preprocess-continue |
manifest.json 不存在 |
未运行第1步或第3步 | 先执行 preprocess,再执行编号规范化+preprocess-continue |
| chunk 数量太多 | 长合同条款多 | 正常现象,每个 needs_ai=true 的 chunk 都需要单独清洗 |
| docx 未生成 | pandoc 未安装 | 执行 brew install pandoc,不影响 MD 输出 |
No additional documents ship with this skill.
Related Skills
Business Agreement Generator
Generates customized business agreements for 10 common relationship types with plain English annotations. Use when formalizing a business relationshi…
AI 智能合同审查系统
Automates contract review by identifying clause risks, comparing against standard contracts, and managing contract lifecycles including expiry remind…
amendment-history
Trace how a contract has changed across its base agreement and all amendments — either a summary of all changes over time, or a provision trace for a…
amendment-history-anthropics
Trace how a contract has changed across its base agreement and all amendments — either a summary of all changes over time, or a provision trace for a…
Amendment History
Trace how a contract has changed across its base agreement and all amendments — either a summary of all changes over time, or a provision trace for a…