AgentStack
SKILL verified MIT Self-run

Cnipa Patent Writer

skill-fnjialun-cnipa-patent-writer-cnipa-patent-writer · by fnjialun

>-

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add skill-fnjialun-cnipa-patent-writer-cnipa-patent-writer

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Are you the author of Cnipa Patent Writer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

中国发明专利撰写(套用模板格式 / 无模板按 CNIPA 标准)

帮助撰写一篇新的发明专利申请文档(.docx):套用页眉/页脚、分节、字体字号、缩进行距、分页与附图编排 等版式,但内容据待保护的技术方案重新写——模板只提供格式与行文风格,其技术内容一律不抄

何时用 / 输入

  • 有模板:用户给一份模板专利 .docx(作格式参照)+ 一个要写成专利的"技术方案/系统/项目"(代码库、设计

文档或口头描述)。→ 用克隆装配器 build_patent.py,版式 100% 继承模板。

  • 无模板:用户只给技术方案。→ 用兜底装配器 build_patent_cnipa.py,按 CNIPA 标准版式生成。
  • 目标产物:一篇排版规范的 .docx(含配图),可直接提交/继续打磨。

依赖(缺则先装;装包注意 proxy)

  • 必装:python-docxmatplotlibPillowpip install python-docx matplotlib Pillow)。
  • 可选:graphviz(用 gen_figures_graphviz.py 画复杂流程/架构图时)——除 pip install graphviz(python 封装)

还需系统二进制 dotsudo apt-get install -y graphviz,否则渲染报错。不画 graphviz 图则无需安装。

  • CJK 字体:matplotlib/graphviz 画中文必须有中文字体(如 Noto Sans CJK / 宋体),否则中文渲染成豆腐块。
  • 可视化校验工具(强烈建议):libreoffice-writer(提供 soffice,docx→pdf)+ poppler-utils

(提供 pdftoppm,pdf→png)+ 中文字体(如 fonts-noto-cjk,或把 Windows 宋体/黑体拷进 ~/.fontsfc-cache -f)。这些一般需 sudo apt-get install;无 sudo 时请用户手动装。

核心原则(先读这几条,避免返工)

  1. 只借格式、绝不抄技术内容(最重要的红线):模板提供版式、行文风格、分节/页眉页脚/分页等通用

架构;它的技术方案、技术架构、层级划分、模块名、步骤编排、配图的数量与种类(哪怕看着很"通用")一律 不得搬进新专利——因为换一个用户就是另一套技术,照搬既写错又涉抄袭。一切文本与配图都据用户提供的 材料/项目代码实际生成;模板里出现的具体技术(某种特定级联结构、某种模型分工、某些字段/JSON 示例等)只 能当"格式长什么样"的参照,不能当内容来源。动笔与画图前先自问:这句话/这张图是不是来自用户的真实方案?

  1. 结构校验 ≠ 视觉校验(最容易栽的坑):python-docx 查到"样式名/字号全对",用户在 Word/WPS 打开仍可能

错(页眉错、图越界、中文豆腐块、标题当正文)。完稿必须渲染成页面逐页看(见下"第7步")。这是本技能 反复返工后总结出的第一教训。

  1. 权利要求一律宽泛,真实参数/产品名只进实施例:claims 用上位概念(如"预设阈值""通信通道""存储模块"),

具体数值/角度/距离/倍率/型号/接口/消息通道(你这篇方案里的真实值)只在"实施例"里以"例如/优选"出现。

  1. 正文 solo 写、术语锁定:claim N ↔ 发明内容里对应的"进一步地" ↔ 实施例里的实现,三处用词必须一致

先定一份术语表再写,全篇复用;不要并行分写正文(会术语漂移)。

  1. 创新点放进权利要求1:把最硬的发明点(解决的关键技术问题)写进独立权利要求1,不要藏在从属里。

工作流

1. 学习格式基准(务必先做)

references/docx-format.md(克隆复刻法)与 references/cnipa-format-spec.md(CNIPA 精确版式)。然后:

  • 有模板:跑 python scripts/inspect_template.py 模板.docx 一次扒出全部版式——分节数与分节符、各节页眉

文字、页脚是否有 PAGE 域页码及起始页、页面尺寸/页边距、各类段落(标题/正文/权项/发明名称/实施例子标题/ 图号)的字体字号对齐缩进段距、正文段长分布。逐项对齐(尤其确认 4 节 4 页眉:说明书摘要 / 权利要求书 / 说明书 / 说明书附图,以及附图节页码怎么处理)。这一步决定 build_patent.py 能否 1:1 复刻。

  • 无模板:直接采用 cnipa-format-spec.md 的标准参数(已内置进 build_patent_cnipa.py),跳到写作。
  • 注意:inspect_template.py 只读模板的版式不读取也不复制模板的技术内容

2. 与用户确认关键决策(动笔前)

用 AskUserQuestion 之类把这几项敲定(拿不准就问,别猜):

  • 发明名称(标题):要凝练、含核心创新词。
  • 独立权利要求1 的落点:端到端方法?某个最硬核的子方法?还是系统?
  • 技术细节颗粒度:实施例写真实参数/产品名,还是脱敏。
  • 输出:是否生成 .docx + 是否生成配图。

若技术方案与已有模板是"同一发明家族/不同发明",也确认定位。

3.(若来自真实系统)取真实事实供实施例

若专利写的是一个真实代码库/系统:先把要写进实施例的真实参数、schema、接口、模型名连同 file:line 扒出来(可并行起多个只读 agent 各扒一个子系统)。权利要求保持宽泛,但实施例要"像真实交底书"。

4. 锁术语 + solo 写正文

references/writing-style.md(中国专利行文手法 + 各部分范式与例句 + 功能/模式抽象 + 反面清单)。定术语表, 然后一气呵成写全篇:摘要 → 权利要求书(独立1 + 从属 + 系统 + 多引)→ 说明书(技术领域/背景技术/发明内容/ 有益效果/附图说明/具体实施方式)。实施例的数量与类型按本方案定(常见方法/系统/示例,但不强制三个或固定 顺序)。写完自查:每条从属是否引用父项、每个权利要求要素是否在实施例有支撑、术语是否全篇一致。

5. 生成配图(数量与类型按内容定,不照搬模板图)

references/figures.md含六条硬规则 + 强制自查清单,画图前必读)。先想清楚这篇发明需要哪些图—— 画几张、哪些类型由技术方案决定,不是每篇都要 5 张、也不一定有架构图或 JSON 图;模板的图只参考画风与排版。

  • 流程图/模块架构图优先直接调用 make_figures.pyvflow / vmodules:它们**框随文字自适应不溢出、单列

竖排、纯黑粗线、画布贴近页宽字够大、回流/分组标签横排带白底不压线,把最容易翻车的几条规则内置好了—— 别手搓固定尺寸的盒子**(手搓最常见的就是文字溢出、字太小、压线)。曲线类图(谱/特性曲线)自己用 matplotlib 画时同样守六规则(粗黑线、标注用引线引到留白处加白底、语义正确)。复杂自动布局可用 gen_figures_graphviz.py

  • 每画完一张必须单独 Read 这张 PNG,逐条核对六规则(纯黑/不溢出/单列字大/不压线/线与字都完整/图文匹配),

不合格就改了重画再嵌入。这一步是"稳定出好图"的关键,不可跳过(跳过就会出溢出、压线、小字)。

6. 装配 docx(四节四页眉 + 页码)

  • 有模板scripts/build_patent.pyPatentBuilder):克隆模板真实段落作原型、自动建 4 节挂对应运行

页眉、开局逐节扒模板真实的页脚/页码并原样复刻(权利要求书/说明书各自从 1 重起;摘要/附图是否有页码 照模板实测还原——有的附图独立无页码、有的续接说明书页码,模板怎样产出就怎样)、嵌图、清孤儿图。按链式 API 喂内容。

  • 无模板scripts/build_patent_cnipa.py:把内容组织成区块 JSON(`["abstract"/"claim"/"title"/"h1"/

"h2"/"body"/"code"/"figure", …]`),按 CNIPA 标准版式一次性生成同样的四节四页眉结构。

  • 两者用法见各自脚本顶部 docstring 与 references/docx-format.md装配后必做第 7 步渲染校验——尤其逐页确认

四个页眉各就各位、权利要求书/说明书页码确实各自从 1 重起(页码是本技能反复栽过的坑)。

7. 可视化校验(不可跳过)

scripts/render_check.py 把成稿渲染成逐页 PNG,然后逐页 Read 查看

  • 4 个运行页眉是否分别为 说明书摘要/权利要求书/说明书/说明书附图;权利要求书/说明书页码是否各自从 1 重起;
  • 发明名称(黑体居中标题)是否清晰无豆腐块——这是套模板时最易翻车处:模板若内嵌了字体子集,新专利里

模板没有的字(尤其黑体发明名称)会渲染成 □。build_patent.py 已自动剥离内嵌字体规避;但务必亲眼确认 发明名称那一行的每个字都正常(别只看配图、别只看正文宋体)。

  • 正文是否宋体、两端对齐、首行缩进 2 字、行距正确;章节标题加粗;发明名称居中且只出现一次;
  • 配图是否清晰、居中、不越右边距、中文无豆腐、图号正确;
  • 分页是否有标题孤行、图被截断等。

发现问题→改脚本/内容→重渲染。只有看过渲染页面才算完成。

8. 完成

把最终 .docx 路径交给用户,并请其在 Word/WPS 通览。建议保留你的两个生成脚本(图、装配)以便迭代。

资源

  • references/writing-style.md — 中国专利行文手法、各部分写法范式、功能/模式抽象求宽保护、反面清单写正文前必读)。
  • references/docx-format.md — 克隆复刻法、四节四页眉、页码页脚修复、无模板兜底装配(装配前必读)。
  • references/cnipa-format-spec.md — CNIPA 精确版式参数(字体/字号/页眉页脚/分节/段长),有模板时核对、无模板时为准。
  • references/figures.md — 配图生成方法、内容驱动选图、matplotlib/graphviz 两路、字号公式、CJK 与常见坑(画图前必读)。
  • scripts/inspect_template.py — 扒任意模板 docx 的版式(分节/页眉页脚/字体/页面/段长),对齐格式用(只读版式)。
  • scripts/build_patent.py有模板装配器 PatentBuilder(克隆原型 + 四节页眉 + 页码页脚 + 嵌图 + 清孤儿图)。
  • scripts/build_patent_cnipa.py无模板兜底装配器(区块 JSON → CNIPA 标准四节 docx)。
  • scripts/make_figures.py — matplotlib 配图图元与示例(白底黑线、实心白盒、CJK、JSON 正反例)。
  • scripts/gen_figures_graphviz.py — graphviz 纯黑白流程/架构图(new_graph() 样式封装 + 占位示例)。
  • scripts/gen_json_figs.py — matplotlib 结构化输出面板图(长行自动换行;可选)。
  • scripts/render_check.py — docx→pdf→逐页 png(供可视化校验)。

> 行文与配图的反面清单(草稿痕迹、步骤号不一致、示例自相矛盾、照搬模板内容等真实踩过的坑)见 > references/writing-style.md 第五节,提交前逐条排查

易踩坑速查

  • 中文豆腐块:matplotlib 未注册 CJK 字体;或图里用了 family="monospace"(等宽字体无中文字形)——含中文的

代码/JSON 直接用 CJK 字体渲染,别用 monospace。

  • 发明名称/黑体字豆腐块(套模板专属坑):模板用 Word 内嵌了字体子集(word/fonts/*.odttf + settings 的

embedTrueTypeFonts),子集只含模板原有文字;克隆后本专利模板没有的字(黑体发明名称最典型)→ □。 build_patent.pysave() 已自动剥离内嵌字体根治;若你绕过它自行存盘,记得去掉内嵌或用系统完整字体。

  • 图越界:图宽 > 版心宽(page_width-左边距-右边距)。嵌入宽统一 ≤ 版心宽。
  • 全篇同一个页眉:克隆模板清空 body 塌成 1 节所致——必须按 §6 建 4 节并各挂 headerReference。
  • 文件臃肿/夹带模板配图:克隆模板遗留未引用的 word/media/imageN——保存前清掉未被 a:blip 引用的图片关系。
  • 字太小:图画布太宽、嵌入后缩太狠——画布宽贴近嵌入宽 + 加大字号(见 §5 公式)。
  • 经纬度/单位类换序:若涉及坐标,注意"经度在前/纬度在后"等顺序与范围校验,避免写反(这类细节进实施例)。

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.