AI 辅助审查中国专利申请文件(.docx / .doc),按照专利法、专利法实施细则和专利审查指南的规则,对摘要、权利要求书、说明书等章节进行多维度审查,生成在修订模式下执行替换、删除、批注的 docx 副本,同时生成审查意见汇总报告。
> ⚠️ .doc 格式支持:本 skill 支持输入 .doc 格式文件。处理时会自动使用 pywin32(COM 自动化)调用 Microsoft Word 将 .doc 转换为 .docx,然后按标准流程处理。要求:Windows 系统 + 已安装 Microsoft Word + 已安装 pywin32 库。
| 功能 | 说明 |
|---|---|
| :--- | :--- |
| 专利文本提取与章节分割 | 自动提取 docx/doc 文本并分割为摘要、摘要附图、权利要求书、说明书、说明书附图 5 个章节 |
| 多维度审查规则(13条) | 涵盖摘要检查(2条)、权利要求书审查(6条)、说明书审查(2条)、全文审查(2条)、整理汇总(1条) |
| 修订模式操作 | 对于明确了具体操作的修改建议,在修订模式下执行字词替换或删除,同时添加批注说明 |
| 批注标记问题位置 | 对于无法明确具体操作的修改建议,在 docx 文档中添加批注标记问题位置 |
| 审查意见汇总报告 | 按章节整理所有审查意见,生成结构化 markdown 报告 |
> 以下行为会导致输出文档内容丢失或审查结果不可靠,严格禁止:
review_adder.py 添加批注和修订。自行编写脚本调用 Document 类的 get_node + replace_node 会导致严重内容丢失patent_extractor.py、review_adder.py 和 verify.py| 变量 | 含义 | 示例 |
|---|---|---|
| :--- | :--- | :--- |
| 本 skill 的名称,同时也是输出 docx 文件中批注的作者名 | checking-patdocx-cn-single-agent |
| 本 skill 的根目录 | D:\path\to\.trae\skills\checking-patdocx-cn-single-agent |
| 输入 docx/doc 文件的绝对路径 | D:\docs\专利申请文件.docx |
| 输入 docx 文件所在目录的绝对路径 | D:\docs |
| 输入 docx 文件名(不含扩展名) | 专利申请文件 |
| 第二步获取的本地时间戳 | 20260424_153025 |
| 工作文件夹的绝对路径 | D:\docs\checking-patdocx-cn-single-agent_20260424_153025 |
> ⚠️ 所有路径必须使用绝对路径。Windows 路径中的反斜杠 \ 在命令行参数中直接使用即可,不要手动添加额外转义。
在开始执行前复制以下清单,并在每一步完成后显式标记状态。
检查用户输入的文件是否为 .docx 或 .doc 格式:
.docx 或 .doc(不区分大小写).docx 或 .doc,直接告知用户:⚠️ 目前本 skill 只支持解析 .docx 和 .doc 格式的专利申请文件,不支持 .pdf 等其他类型文件。
请将文件转换为 .docx 格式后重试。
并终止工作流程。如果是 .docx 或 .doc,继续执行第二步。
> ⚠️ .doc 格式自动转换:如果输入文件为 .doc 格式,patent_extractor.py、review_adder.py 和 verify.py 会自动调用 doc_converter.py(基于 pywin32 COM 自动化)将 .doc 转换为临时 .docx 文件,处理完成后自动清理临时文件。要求:Windows 系统 + 已安装 Microsoft Word + 已安装 pywin32 库。
必须先执行以下命令获取当前本地时间戳:
python -c "from datetime import datetime; print(datetime.now().astimezone().strftime('%Y%m%d_%H%M%S'))"
将输出的时间戳记为 。必须实际执行此命令,不得自行编造或猜测时间戳。
然后定义工作文件夹路径(必须创建在输入 docx 文件所在目录下,使用绝对路径):
= \_ 创建工作文件夹:
mkdir "<work_dir>"
后续步骤中的中间产物都放在 下。
python "<skill_root>\scripts\patent_extractor.py" "<input_docx>" --extract-only > "<work_dir>\extracted_text_<timestamp>.txt"
> ⚠️ 文本提取已覆盖正文段落、表格和文本框(包括传统文本框 w:txbxContent 和现代形状文本框 wps:txbx)。脚注、尾注中的文字仍无法提取,如果文档包含这些元素,应提醒用户可能存在未检查到的区域。
python "<skill_root>\scripts\patent_extractor.py" "<input_docx>" --output-json "<work_dir>\sections_<timestamp>.json"
该命令会输出一个 JSON 文件,包含以下 5 个章节的文本:
| 字段 | 章节 |
|---|---|
| :--- | :--- |
abstract_text | 摘要 |
abstract_fig | 摘要附图 |
claims | 权利要求书 |
description | 说明书 |
description_figs | 说明书附图 |
> ⚠️ 这是核心审查步骤。AI 必须逐一读取审查规则文件,将规则内容作为审查提示词,结合对应章节的文本进行审查。
审查规则文件位于 目录下,共 13 个 .txt 文件。AI 必须逐一读取每个规则文件的完整内容。
| 章节 | 审查规则文件 | 说明 |
|---|---|---|
| :--- | :--- | :--- |
| 摘要 | 11-摘要-简单检查1.txt | 字数、段落、商业用语、附图标记等 |
| 摘要 | 12-摘要-复杂检查1.txt | 摘要表述完整性、各要素一致性 |
| 权利要求书 | 31-权利要求书-简单审查1-格式检查1.txt | 序号格式、编号、句号使用等 |
| 权利要求书 | 31-权利要求书-简单审查2-格式检查2.txt | 附图标记、模糊词、绝对化词等 |
| 权利要求书 | 31-权利要求书-简单审查3-所述的引用基础.txt | "所述"引用基础、应加"所述"等 |
| 权利要求书 | 31-权利要求书-简单审查4-引用与主题.txt | 从属权利要求引用关系、多引多、单一性等 |
| 权利要求书 | 32-权利要求书-复杂审查1.txt | 保护范围不清楚、权利要求不简要 |
| 权利要求书 | 32-权利要求书-复杂审查2-单一性.txt | 独立权利要求之间的单一性 |
| 说明书 | 41-说明书-简单审查1.txt | 发明名称、技术领域、背景技术、发明内容等 |
| 说明书 | 42-说明书-复杂审查1-说明书公开是否充分.txt | 说明书公开充分性 |
| 全文 | 61-全文-简单审查1.txt | 错别字、术语一致性、附图标记一致性等 |
| 全文 | 62-全文-复杂审查1.txt | 权利要求书是否得到说明书支持、摘要与说明书一致性 |
对每个章节,按以下流程执行审查:
将所有审查发现的问题整理为 JSON 格式,保存为 。
详细的 JSON schema、字段说明和示例请参见 参考/reviews_json_schema.md。
关键要求:
context(文档中实际存在的文本片段)action_type 为 "replace" 或 "delete" 时,old_text 必须是 context 的子串或等于 contextcontext、old_text 和 highlight_text 必须是文档中实际存在的原文逐字复制,不得改写、意译或增减字符,任何不匹配都会导致批注定位失败;highlight_text 必须是 context 的子串context 在文档中出现多次但只需标注特定位置时,使用 occurrence 字段(从 1 开始的整数)指定第几次出现;不指定时默认标注第一次出现使用审查规则 71-整理汇总输出.txt 中的模板,将第四步的所有审查意见整理为一份结构化的 markdown 报告。
\审查规则\71-整理汇总输出.txt 的内容,按照其中的模板格式组织审查意见\_review_report_.md 详细的报告模板和格式要求请参见 参考/report_template.md。
> ⚠️ 报告文件放在输入文件同目录下,不放入工作文件夹。
使用 review_adder.py 脚本将审查意见添加到 docx 文档中。根据审查意见的 action_type 字段,脚本会执行不同操作:
action_type | 操作 | 说明 |
|---|---|---|
| :--- | :--- | :--- |
"comment" | 仅添加批注 | 不修改原文,仅在目标位置添加批注标记 |
"replace" | 修订模式下替换 + 批注 | 在修订模式下将 old_text 替换为 new_text,并添加批注说明 |
"delete" | 修订模式下删除 + 批注 | 在修订模式下将 old_text 标记为删除,并添加批注说明 |
python "<skill_root>\scripts\review_adder.py" "<input_docx>" "<input_dir>\<input_stem>_ReviewOut_<timestamp>.docx" --reviews-file "<work_dir>\reviews_<timestamp>.json"
> ⛔ 必须使用 review_adder.py,禁止自行编写批注/修订脚本。 自行编写脚本会导致严重内容丢失。review_adder.py 内部已正确处理文本拆分逻辑和跨 run 文本映射。
> 精准定位能力:review_adder.py 已内建精准匹配能力,可在 docx 文件中精准且最小化地定位待修改或待批注的文本:
> - 跨 run 精准定位:当目标文本跨越多个 w:r 元素时,能精确计算字符偏移量,只标记目标文本范围,不影响 run 中的其他文本
> - 批注精准定位:纯批注(comment)模式下,优先使用 highlight_text 指定批注精确覆盖范围(仅批注该文本而非整个 context);若未指定 highlight_text,则批注范围覆盖整个 context
> - 修订批注精准定位:replace/delete 模式下,批注仅覆盖实际修订的文本(w:del/w:ins 节点),不包含修订前后的未修改文本
> - occurrence 字段:当同一 context 在文档中出现多次时,可通过 occurrence 字段(从 1 开始的整数)指定标注第几次出现;不指定时默认标注第一次出现
> - 空白字符容错:搜索文本时先尝试精确匹配,失败后自动尝试忽略空白字符差异的模糊匹配
> ⚠️ Windows PowerShell 环境:禁止使用 PYTHONPATH=xxx python -m ... 的 bash 语法,必须使用 python " 直接调用。
脚本执行后会输出处理统计信息。如果跳过数量大于 0,需要检查原因并修正 reviews JSON 后重新执行本步。
> ⛔ 本步骤为强制性步骤,不得跳过。 未通过验证的文档禁止输出给用户。
python "<skill_root>\scripts\verify.py" "<input_docx>" "<input_dir>\<input_stem>_ReviewOut_<timestamp>.docx" "<work_dir>"
该脚本会自动执行以下三项验证:
如果任何验证项未通过(输出 ❌),必须排查原因并修正后重新执行第六步和第七步。
向用户报告审查结果:
📋 专利申请文件审查完成
审查文件:xxx.docx
发现问题:N 处
【审查摘要】
- 摘要:X 处问题
- 权利要求书:Y 处问题(涉及 Z 项权利要求)
- 说明书:W 处问题
- 全文一致性:V 处问题
已生成审查版文档:xxx_ReviewOut_<timestamp>.docx
- 明确了具体操作的修改建议已在修订模式下执行替换或删除,可在 Word 中逐一接受/拒绝
- 无法明确具体操作的修改建议以批注标记,可在 Word 中查看
- 批注第一行为问题描述,换行后为修改建议
审查意见汇总报告:<input_dir>\<input_stem>_review_report_<timestamp>.md
中间文件保存在:<work_dir>
当脚本执行出错时,按以下方式处理:
| 脚本 | 常见错误 | 处理方式 |
|---|---|---|
| :--- | :--- | :--- |
patent_extractor.py | 文件损坏或非 docx 格式 | 告知用户文件可能损坏,建议检查文件 |
patent_extractor.py | 章节识别不完整 | 提醒用户文档结构可能不符合标准专利申请格式 |
review_adder.py | ⚠ 未找到文本 | 检查 context 是否为文档中实际存在的文本,修正后重新执行 |
review_adder.py | ⚠ 未找到待替换/待删除文本 | 检查 old_text 是否为 context 的子串,修正后重新执行 |
verify.py | 段落数量不一致 | 检查是否使用了自行编写的脚本,回退使用 review_adder.py |
verify.py | 模拟接受修订后内容不一致 | 排查修订操作是否影响了非目标文本,修正后重新执行第六步 |
所有输出文件必须包含第二步获取的真实本地时间戳:
| 文件 | 命名格式 | 位置 |
|---|---|---|
| :--- | :--- | :--- |
| 工作文件夹 | | 下 |
| 提取文本 | extracted_text_ | 下 |
| 章节 JSON | sections_ | 下 |
| 审查意见 JSON | reviews_ | 下 |
| 审查版 docx | | 下 |
| 汇总报告 | | 下 |
checking-patdocx-cn-single-agent/
├── SKILL.md # 本文件
├── scripts/
│ ├── __init__.py
│ ├── document.py # Document 类(OOXML 编辑)
│ ├── utilities.py # XMLEditor 基类
│ ├── doc_converter.py # .doc 转 .docx(pywin32 COM 自动化)
│ ├── patent_extractor.py # 专利文本提取与章节分割脚本
│ ├── review_adder.py # 审查意见批注添加脚本(必须使用)
│ ├── verify.py # 内容完整性验证脚本
│ └── templates/ # 批注相关 XML 模板
├── ooxml/
│ └── scripts/
│ ├── unpack.py # docx 解压
│ ├── pack.py # docx 打包
│ └── validation/ # 验证工具
├── 审查规则/ # 13 条审查规则文件
├── 参考/ # 参考文档(渐进式披露)
│ ├── reviews_json_schema.md # 审查意见 JSON Schema 说明
│ └── report_template.md # 审查意见汇总报告模板
└── requirements.txt
共 1 个版本