# Patent Writer Agent

> 根据技术交底书、DOCX/PDF/Markdown 技术材料，生成完整的中国专利申请文件草稿，包括摘要、权利要求书、说明书、附图说明和具体实施方式。

- Skill: `ninehills/patent-writer-agent` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add ninehills/patent-writer-agent`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ninehills/patent-writer-agent/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ninehills (https://skillmd.com/u/ninehills)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ninehills/patent-writer-agent

---


# 专利申请文件撰写 Skill

你负责把原始技术材料组织为完整的中国专利申请文件草稿。核心产物包括：
- 说明书摘要
- 权利要求书
- 说明书
- 附图 / Mermaid 图
- 最终合并文档

## 初始化

API Key 要求：
- 必需：`SERPAPI_API_KEY`
  - 用途：`google-patents-mcp.search_patents`，用于 Google Patents 检索
- 可选：`EXA_API_KEY`
  - 用途：`exa.web_search_exa` / `exa.crawling_exa`
  - 未配置时：不影响主流程，产品、论文和网页资料检索回退到 coding agent 内置搜索/浏览能力

开始前必须先运行：

```bash
bash <SKILL_DIR>/scripts/init.sh
```

如果检查失败，停止执行，并告诉用户缺失的命令或环境变量。

记录输出中的 `SKILL_DIR=...`。

## 依赖文件

- 写作规范总纲：`<SKILL_DIR>/references/patent-writing-guide.md`
- mcporter 配置：`<SKILL_DIR>/references/mcporter.json`
- 子代理 prompt：`<SKILL_DIR>/references/prompts/*.md`

## 外部工具约定

### 文档转换

对于 `.pdf` / `.docx` 输入，统一使用：

```bash
markitdown <input-file> -o <output-file>
```

不要自行手写“转换后的 Markdown”，必须先真实转换。

### 检索

检索兼容机制如下：
- Google Patents 检索必须通过 `mcporter` CLI
- Exa 检索为可选增强
- 若 Exa 未配置或不可用，产品、论文和网页资料检索回退到 coding agent 内置搜索/浏览能力

Google Patents / Exa 的 mcporter 格式：

```bash
mcporter call <server>.<tool> --config <SKILL_DIR>/references/mcporter.json key=value ...
```

mcporter 可用服务：
- `google-patents-mcp.search_patents`
- `exa.web_search_exa`
- `exa.crawling_exa`

不要在 prompt 中使用 `WebSearch`、`WebFetch`、`mcp__...` 这种旧写法。

## 工作目录

收到请求后创建：

```bash
uuid=$(python3 -c "import uuid;print(uuid.uuid4())")
WORK_DIR=output/temp_${uuid}
mkdir -p ${WORK_DIR}/{01_input,02_research,03_outline,04_content,05_diagrams,06_final,metadata}
```

如果用户指定 UUID，则复用该 UUID。

## 流程

按以下 8 个阶段顺序执行，逐阶段验收。

### 阶段 1：输入解析

Prompt：`<SKILL_DIR>/references/prompts/input-parser.md`

输入：
- 用户提供的原始技术文件

输出：
- `${WORK_DIR}/01_input/source.md`
- `${WORK_DIR}/01_input/parsed-input.json`

验收：
- `source.md` 存在
- `parsed-input.json` 为合法 JSON，包含标题、技术问题、技术方案、关键词等字段

### 阶段 2：专利检索

Prompt：`<SKILL_DIR>/references/prompts/patent-searcher.md`

输入：
- `${WORK_DIR}/01_input/parsed-input.json`

输出：
- `${WORK_DIR}/02_research/search-report.md`
- `${WORK_DIR}/02_research/similar-patents-reference.md`

验收：
- 两个文件都存在
- 检索关键词、相似专利、写作参考完整

### 阶段 3：大纲生成

Prompt：`<SKILL_DIR>/references/prompts/outline-generator.md`

输入：
- `${WORK_DIR}/01_input/parsed-input.json`
- `${WORK_DIR}/02_research/similar-patents-reference.md`

输出：
- `${WORK_DIR}/03_outline/outline.json`

验收：
- 合法 JSON
- 含摘要、权利要求书、说明书各章节和字数要求

### 阶段 4：摘要撰写

Prompt：`<SKILL_DIR>/references/prompts/abstract-writer.md`

输出：
- `${WORK_DIR}/04_content/abstract.md`

验收：
- 小于 300 字
- 与技术方案和独立权利要求一致

### 阶段 5：权利要求书撰写

Prompt：`<SKILL_DIR>/references/prompts/claims-writer.md`

输出：
- `${WORK_DIR}/04_content/claims.md`

验收：
- 含方法、装置/系统、电子设备、存储介质维度
- 结构和编号规范

### 阶段 6：说明书撰写

Prompt：`<SKILL_DIR>/references/prompts/description-writer.md`

输出：
- `${WORK_DIR}/04_content/description.md`

验收：
- 包含技术领域、背景技术、发明内容、附图说明、具体实施方式
- 具体实施方式为主体部分

### 阶段 7：附图生成

Prompt：`<SKILL_DIR>/references/prompts/diagram-generator.md`

输出：
- `${WORK_DIR}/05_diagrams/diagrams.md`

验收：
- 含 Mermaid 代码块
- 步骤 / 模块编号与说明书一致

### 阶段 8：最终合并

Prompt：`<SKILL_DIR>/references/prompts/markdown-merger.md`

输入：
- `${WORK_DIR}/04_content/abstract.md`
- `${WORK_DIR}/04_content/claims.md`
- `${WORK_DIR}/04_content/description.md`
- `${WORK_DIR}/05_diagrams/diagrams.md`

输出：
- `${WORK_DIR}/06_final/final_patent.md`
- `${WORK_DIR}/metadata/quality-check.json`

验收：
- `final_patent.md` 存在
- 全文术语一致
- `quality-check.json` 存在

## 子代理调用模板

对子代理必须传完整上下文，不要只贴 prompt 文件路径。使用如下模板：

```text
你正在执行 patent-writer-agent 的子任务：<agent-name>

第一步，完整阅读以下 prompt 文件：
<PROMPT_FILE_ABS_PATH>

固定上下文：
- skill 根目录：<SKILL_DIR_ABS_PATH>
- 专利写作规范：<SKILL_DIR_ABS_PATH>/references/patent-writing-guide.md
- 工作目录：<WORK_DIR_ABS_PATH>

本阶段允许读取的输入文件：
- <INPUT_FILE_1_ABS_PATH>
- <INPUT_FILE_2_ABS_PATH>

本阶段必须写入的输出文件：
- <OUTPUT_FILE_1_ABS_PATH>
- <OUTPUT_FILE_2_ABS_PATH>

如涉及文档转换：
- 必须执行：markitdown <input> -o <output>

如涉及检索：
- Google Patents 必须执行：mcporter call google-patents-mcp.search_patents --config <SKILL_DIR_ABS_PATH>/references/mcporter.json key=value ...
- Exa 可用时，优先执行 Exa 检索与抓取
- Exa 不可用时，回退到 coding agent 内置搜索/浏览能力完成非专利资料检索
- 先执行检索，再整理结果写入文件

约束：
- 不得修改未授权的文件
- 术语必须前后一致
- 最终回复只报告是否完成、输出路径、是否存在剩余风险
```

## 写作原则

- 允许合理扩展实施细节、参数范围、模块关系、边界处理
- 不允许改变用户核心方案
- 严禁抄袭相似专利
- 权利要求和说明书术语必须一致
- 摘要、权利要求、说明书三者必须相互支持

## 质量标准

- 发明名称不超过 25 字
- 摘要不超过 300 字
- 说明书结构完整
- 具体实施方式足够支撑权利要求
- 附图编号与正文引用一致
- 术语统一、逻辑自洽、无宣传性语言

