Not in the top 1,000 by GitHub stars
fnjialun/cnipa-patent-writer
中国发明专利(CNIPA)撰写 Claude Code 技能:只借模板版式、内容据你的材料自生成;npx 一键安装
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
0f7cbf480a29 → 0f7cbf480a29
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 0f7cbf480a29
No earlier version was observed for comparison.
Heat
0.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
cnipa-patent-writer
When your agent uses it
撰写中国发明专利申请文档(.docx):有模板时严格套用模板版式(页眉页脚、分节、字体字号、缩进、 行距、分页、附图编排),无模板时按 CNIPA 标准版式生成——但**只借格式、绝不抄模板的技术内容**, 内容/配图全部据待保护的技术方案重新生成。覆盖 说明书摘要 / 权利要求书 / 说明书(技术领域·背景技术· 发明内容·有益效果·附图说明·具体实施方式/实施例)/ 说明书附图,并生成白底黑线配图(数量与类型按内容定)。 Use this skill whenever the user asks to write / draft / 写 / 起草 a patent, 专利, 发明专利, 专利交底书, 权利要求书, 说明书, or to turn a system / feature / algorithm into a patent application "套用模板"/ "参照模板格式" —— even if they only say "把这个项目写成一篇专利" or hand you a template .docx and a codebase. Also triggers for editing an existing patent .docx to match a template's format, regenerating patent figures, or fixing patent layout/页眉/页脚页码/分节 issues.
What it loads into context
Frontmatter
316 tokensAlways available to the agent
SKILL.md
4,138 tokensWhen the skill is activated
Reference documents
13,219 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 何时用 / 输入
- 依赖(缺则先装;装包注意 proxy)
- 核心原则(先读这几条,避免返工)
- 工作流
- 资源
- 易踩坑速查
Scripts executed separately
bin/cli.jspackage.jsonscripts/build_patent.pyscripts/build_patent_cnipa.pyscripts/gen_figures_graphviz.pyscripts/gen_json_figs.pyscripts/inspect_template.pyscripts/make_figures.pyscripts/render_check.py
Files
.gitignoreasset54 bytesLICENSEasset1,065 bytesREADME.mddoc6,886 bytesSKILL.mdcore13,815 bytesSKILL.mdcore13,815 bytesbin/cli.jsruns3,903 bytespackage.jsonruns993 bytesreferences/cnipa-format-spec.mddoc5,888 bytesreferences/docx-format.mddoc11,357 bytesreferences/figures.mddoc7,554 bytesreferences/writing-style.mddoc11,250 bytesrequirements.txtdoc751 bytesscripts/build_patent.pyruns16,439 bytesscripts/build_patent_cnipa.pyruns10,481 bytesscripts/gen_figures_graphviz.pyruns4,126 bytesscripts/gen_json_figs.pyruns4,547 bytesscripts/inspect_template.pyruns3,905 bytesscripts/make_figures.pyruns11,640 bytesscripts/render_check.pyruns2,878 bytes
Read SKILL.md
# 中国发明专利撰写(套用模板格式 / 无模板按 CNIPA 标准)
帮助撰写一篇**新的**发明专利申请文档(`.docx`):套用页眉/页脚、分节、字体字号、缩进行距、分页与附图编排
等**版式**,但**内容据待保护的技术方案重新写**——模板只提供格式与行文风格,**其技术内容一律不抄**。
## 何时用 / 输入
- 有模板:用户给一份模板专利 `.docx`(作格式参照)+ 一个要写成专利的"技术方案/系统/项目"(代码库、设计
文档或口头描述)。→ 用克隆装配器 `build_patent.py`,版式 100% 继承模板。
- 无模板:用户只给技术方案。→ 用兜底装配器 `build_patent_cnipa.py`,按 CNIPA 标准版式生成。
- 目标产物:一篇排版规范的 `.docx`(含配图),可直接提交/继续打磨。
## 依赖(缺则先装;装包注意 proxy)
- 必装:`python-docx`、`matplotlib`、`Pillow`(`pip install python-docx matplotlib Pillow`)。
- 可选:`graphviz`(用 `gen_figures_graphviz.py` 画复杂流程/架构图时)——除 `pip install graphviz`(python 封装)View the complete source on GitHubSkills included
- cnipa-patent-writer
Repository facts
- License
- MIT
- Created
- Jun 14, 2026
- Last pushed
- Jun 14, 2026
- Forks
- 1
- Open issues
- 0
- Project activity
- Slowing
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 1 note
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 6 dangerous shell commandsin 5 files: SKILL.md:29 README.md:85 bin/cli.js:89 and 2 more
- 18 network referencesin 3 files: package.json:26 README.md:3 bin/cli.js:91
- No hidden or obfuscated text
- No instruction overrides
- 9 executable scriptsin 9 files: bin/cli.js:1 package.json:1 scripts/build_patent.py:1 and 6 more
- 4 references to secretsin 2 files: scripts/gen_figures_graphviz.py:23 scripts/gen_json_figs.py:26
- No requests to vote in Hot
Show all 37 signals by file
README.md
- Network accessline 3
> A [Claude Code](https://claude.com/claude-code) **Agent Skill** for drafting Chinese invention patents (CNIPA). - Network accessline 62
> Python/系统依赖的安装提示。装完在你的 agent 里让它写专利即可触发。 > > 上面 `npx cnipa-patent-writer` 从 [npm](https://www.npmjs.com/package/cnipa-patent-writer) 安装;也可不经 npm、 - Network accessline 63
> > 上面 `npx cnipa-patent-writer` 从 [npm](https://www.npmjs.com/package/cnipa-patent-writer) 安装;也可不经 npm、 > 直接从 GitHub 源运行:`npx github:fnjialun/cnipa-patent-writer`。 - Network accessline 64
> 上面 `npx cnipa-patent-writer` 从 [npm](https://www.npmjs.com/package/cnipa-patent-writer) 安装;也可不经 npm、 - Network accessline 70
git clone https://github.com/fnjialun/cnipa-patent-writer.git - Dangerous shell operationline 85
sudo apt-get install -y graphviz libreoffice-writer poppler-utils - Network accessline 96
- **推荐用开源的 [Noto Sans CJK / Noto Sans SC](https://github.com/notofonts/noto-cjk)**(可自由分发),放到 `~/.fonts/`
SKILL.md
bin/cli.js
- Executable scriptline 1
#!/usr/bin/env node - Dangerous shell operationline 89
console.log(" Debian/Ubuntu: sudo apt-get install -y graphviz libreoffice-writer poppler-utils"); - Network accessline 91
console.log(" 中文字体推荐开源 Noto Sans CJK / Noto Sans SC,放到 ~/.fonts 后 fc-cache -f。"); console.log(" 3) 在你的 agent 里让它写专利即可触发(需自备一份'模板专利'docx 作格式参照)。\n"); console.log("文档与源码: https://github.com/fnjialun/cnipa-patent-writer"); - Network accessline 92
console.log(" 3) 在你的 agent 里让它写专利即可触发(需自备一份'模板专利'docx 作格式参照)。\n"); console.log("文档与源码: https://github.com/fnjialun/cnipa-patent-writer"); } - Network accessline 93
console.log("文档与源码: https://github.com/fnjialun/cnipa-patent-writer");
package.json
- Executable scriptline 1
Executable file - Network accessline 26
"docx" ], "homepage": "https://github.com/fnjialun/cnipa-patent-writer#readme", - Network accessline 27
], "homepage": "https://github.com/fnjialun/cnipa-patent-writer#readme", "repository": { - Network accessline 28
"homepage": "https://github.com/fnjialun/cnipa-patent-writer#readme", - Network accessline 29
"repository": { "type": "git", "url": "git+https://github.com/fnjialun/cnipa-patent-writer.git" - Network accessline 30
"type": "git", "url": "git+https://github.com/fnjialun/cnipa-patent-writer.git" }, - Network accessline 31
"url": "git+https://github.com/fnjialun/cnipa-patent-writer.git" - Network accessline 32
}, "bugs": { "url": "https://github.com/fnjialun/cnipa-patent-writer/issues" - Network accessline 33
"bugs": { "url": "https://github.com/fnjialun/cnipa-patent-writer/issues" }, - Network accessline 34
"url": "https://github.com/fnjialun/cnipa-patent-writer/issues"
scripts/build_patent.py
- Executable scriptline 1
Executable file
scripts/build_patent_cnipa.py
- Executable scriptline 1
Executable file
scripts/gen_figures_graphviz.py
scripts/gen_json_figs.py
scripts/inspect_template.py
- Executable scriptline 1
Executable file
scripts/make_figures.py
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 37 facts
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:62Low confidence
- Network access in prose of documentationREADME.md:63Low confidence
- Network access in prose of documentationREADME.md:64Low confidence
- Network access in code of documentationREADME.md:70Low confidence
- Dangerous shell operation in code of documentationREADME.md:85Low confidence
- Network access in prose of documentationREADME.md:96Low confidence
- Dangerous shell operation in prose of the SKILL.mdSKILL.md:29Low confidence
- Dangerous shell operation in prose of the SKILL.mdSKILL.md:33Low confidence
- Executable script in code of a file that runsbin/cli.js:1High confidence
- Dangerous shell operation in code of a file that runsbin/cli.js:89High confidence
- Network access in code of a file that runsbin/cli.js:91High confidence
- Network access in code of a file that runsbin/cli.js:92High confidence
- Network access in code of a file that runsbin/cli.js:93High confidence
- Executable script in code of a file that runspackage.json:1High confidence
- Network access in code of a file that runspackage.json:26High confidence
- Network access in code of a file that runspackage.json:27High confidence
- Network access in code of a file that runspackage.json:28High confidence
- Network access in code of a file that runspackage.json:29High confidence
- Network access in code of a file that runspackage.json:30High confidence
- Network access in code of a file that runspackage.json:31High confidence
- Network access in code of a file that runspackage.json:32High confidence
- Network access in code of a file that runspackage.json:33High confidence
- Network access in code of a file that runspackage.json:34High confidence
- Executable script in a comment of a file that runsscripts/build_patent.py:1Low confidence
- Executable script in a comment of a file that runsscripts/build_patent_cnipa.py:1Low confidence
- Executable script in a comment of a file that runsscripts/gen_figures_graphviz.py:1Low confidence
- Dangerous shell operation in prose of a file that runsscripts/gen_figures_graphviz.py:7Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/gen_figures_graphviz.py:23Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/gen_figures_graphviz.py:24Low confidence
- Executable script in a comment of a file that runsscripts/gen_json_figs.py:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/gen_json_figs.py:26Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/gen_json_figs.py:27Low confidence
- Executable script in a comment of a file that runsscripts/inspect_template.py:1Low confidence
- Executable script in a comment of a file that runsscripts/make_figures.py:1Low confidence
- Executable script in a comment of a file that runsscripts/render_check.py:1Low confidence
- Dangerous shell operation in prose of a file that runsscripts/render_check.py:4Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.