全部技能 / 文档与知识 / docx-creator
文档与知识 · daymade/claude-code-skills

docx-creator

Produce Word (.docx) and export existing Word/WPS manuscripts to PDF (Word 转 PDF / 试读版 / 排版修复), preserving revisions, tables and images. Especially for Chinese documents, drive minimax-skills:minimax-docx OpenXML correctly. Use whenever the deliverable is a .docx file: 生成 Word 文档 / 做一份 docx / 写合同 docx / 起草协议 / 正式文书 / 公文 / offer / 劳动合同 / 把 markdown 转成 Word / Word 排版 / 中文排版 / 签字栏 / 盖章版 / 甲方乙方, or any plain "give me a Word file" request. This skill adds the layer minimax-docx does not ship: a verified markdown-to-docx OpenXML generator, alignment rules for info and signature blocks, list numbering, CJK font dual-slot setup, and a mandatory LibreOffice-to-PDF-to-PNG visual verification chain (qlmanage thumbnails are banned — they hide exactly the bugs that matter). Engine belongs to minimax-docx; correct usage and field-tested workarounds belong here. For Markdown → PDF use daymade-docs:pdf-creator.

风险提醒:黄色 · 留意使用AI 侦查报告
作者 daymadeGitHub daymade/claude-code-skills ↗Stars 1385许可 MIT(仓库根 LICENSE;Copyright (c) 2025 daymade;GitHub API spdx MIT)commit d5c4678cb5
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

分层设计:引擎全部外置到 minimax-skills:minimax-docx(第三方市场插件),本 skill 自称零引擎代码,只带『调试换来的使用知识 + 自研生成器』。

daymade-docs/docx-creator/SKILL.md
Thin incremental layer over **`minimax-skills:minimax-docx`**. Not a document engine.
注:SKILL.md 直接指示去宿主市场安装路径 (~/.claude/plugins/marketplaces/minimax-skills/skills/minimax-docx/) 读引擎源码;本仓库不含该引擎,其 CLI 行为无法在本 pin 源码内核验。

中文正式文档生成由自带 C# 生成器实现:Program.cs(~260 行 OpenXML + Markdig)把 markdown 解析成 AST 再按 ECMA-376 组装 docx。

daymade-docs/docx-creator/scripts/Program.cs
var mdText = File.ReadAllText(args[0]); var pipeline = new MarkdownPipelineBuilder().UsePipeTables().Build(); var docAst = Markdown.Parse(mdText, pipeline);
注:用法 `dotnet run -- <in.md> <out.docx>`;csproj 声明 DocumentFormat.OpenXml 3.2.0 + Markdig 1.3.2(net10.0),首次运行需 NuGet 还原。

对齐规则机器可查:含 LineBreakInline(甲方/乙方信息块、签字栏)的段落强制左对齐,其余正文两端对齐——用 inline 树判定而非肉眼。

daymade-docs/docx-creator/SKILL.md
The rule is machine-checkable, so do not eyeball it: if the markdown paragraph's inline tree contains a `LineBreakInline`, left-align that paragraph; otherwise justify it.
注:ISSUE-004 背景:两端对齐会把多行信息块的每一行(除末行)撑出巨大字间距——中文公文排版最常见的隐性错误。

列表编号正确性靠 OpenXML 语义:每个独立列表拿自己的 NumId + LevelOverride(StartOverrideNumberingValue=1),复用同一 NumId 会让条款 3 的列表从 4 继续编号。

daymade-docs/docx-creator/SKILL.md
Each independent markdown list must get its **own** `NumId` plus a `LevelOverride` carrying `StartOverrideNumberingValue = 1`. Reuse one `NumId` across clauses and clause 3's list silently continues from 4.
注:ISSUE-005/006 是 SDK 陷阱(错类名、错元素序);ISSUE-016 补充 numId=0 即禁用编号的既有 Word 语义。

CJK 字体必须双槽(RunFonts 的 Ascii/HighAnsi/EastAsia),中文加粗切黑体(宋体无真粗体、合成加粗糊字);尺寸用 OpenXML 半磅。

daymade-docs/docx-creator/SKILL.md
A run must set `RunFonts { Ascii, HighAnsi, EastAsia }`. Setting only the Latin slots leaves Chinese characters to Word's fallback
注:Program.cs 注释同述:'中文加粗切黑体:宋体没有真粗体字重,渲染器只能算法合成'——这是把 Word 排版机理代码化。

强制视觉验证链:生成→XSD validate(minimax CLI)→LibreOffice headless 转 PDF→pdftoppm 出 PNG→逐页 Read;qlmanage 缩略图被明文禁止(ISSUE-008)。

daymade-docs/docx-creator/SKILL.md
**Banned: `qlmanage` thumbnails as visual proof.** macOS Quick Look renders with a different engine than Word and will happily show a clean-looking page for a document whose info blocks are stretched apart.
注:验证协议把『每个失败模式』列全(信息块不拉伸/列表从1重启/表格边框/签字栏完整/无孤立分页),还要求装有 Word 时开真 Word 查『兼容性模式』(ISSUE-012:LibreOffice 全绿而真 Word 破版)。

文档路由表把 Word/WPS 稿→PDF、Markdown→PDF 分别导向 word-to-pdf.md 与 pdf-creator,明确禁止把权威 Word 稿绕 markdown 往返。

daymade-docs/docx-creator/SKILL.md
| Existing Word/WPS → repaired layout / selected excerpt → PDF | Keep the Word source; follow `references/word-to-pdf.md` and `references/verification_protocol.md` |
注:description 开头同样声明了 Word 稿路由;SKILL.md 的 routing 表更细(含 minimax CLI create/管道 B、C 的取舍)。

2核心能力

01markdown → 中文合同级 docx 生成(自研 OpenXML 生成器,甲乙方信息块/签字栏/条款/表格)
02独立列表自动 restart=1、续编保留(NumId/LevelOverride 语义)
03CJK 双槽字体/加粗切黑体/首行缩进(420 twips @10.5pt)等中文排版规则
04A4 页面 + 页脚 PAGE 域页码 + 六边框表格 + tblGrid(ECMA-376 元素顺序纪律)
05经 minimax-docx CLI 的 XSD 结构校验(DOTNET_ROLL_FORWARD=Major,ISSUE-003)
06LibreOffice→PDF→PNG 端到端视觉验证(含失败模式清单与真实 Word 复核)
07已有 Word/WPS 稿→PDF 排版修复/摘录交付流程(word-to-pdf.md,保留 Word 源不往返 markdown)

3外部依赖

类型依赖
clidotnet SDK / dotnet run
packageDocumentFormat.OpenXml 3.2.0 + Markdig 1.3.2(NuGet)
climinimax-docx 引擎 CLI(第三方市场插件 minimax-skills,XSD 校验)
cliLibreOffice soffice --headless(验证转 PDF)
clipoppler pdftoppm(PDF→PNG)
cliMicrosoft Word.app(可选,macOS 兼容模式复核)

4风险提醒 风险提醒:黄色 · 留意使用

风险提醒:黄色 · 留意使用
  • 强依赖第三方 minimax-docx 插件 — XSD 校验与 SDK 参考全指向宿主需自装的 minimax-skills 市场插件;插件缺装时校验链断档,其行为也不在本仓可审计范围内。供应链信任交给宿主。
  • 验证链重(soffice+poppler+可选真 Word)且部分结果不可自动化 — 『Read every page PNG』与真 Word 人工复核是 skill 的硬要求;无人值守/无 GUI 环境(无 soffice/Word)只能降级,ISSUE-012 类缺陷可能漏过。
  • NuGet/网络首跑门槛 — 离线环境首次 dotnet run 无法还原包(~20s 联网),生成器不可用;README 明示该限制。
  • 覆盖写风险 — 会覆盖同名 out.docx;SKILL 只提示检查 ~$ 锁文件,宿主需自行保证目标路径正确。
风险提醒:黄色,留意使用。无凭证读取、无数据外发;本地工具链为主。升黄理由:① 运行流程强依赖第三方 minimax-skills 市场插件(其 CLI 行为无法在本 pin 源码核验,属供应链注意面);② 首次 dotnet run 必需联网 NuGet 还原官方包;③ 会覆盖/生成交付文件。均在可预期范围,无删除/清盘操作。

5第二遍独立确认

  • [ok] 零引擎代码、能力在 minimax-docx — SKILL.md 自述 'This skill contains zero engine code';本仓 grep minimax-docx 仅命中路径引用,引擎目录不在仓库内——外置关系属实。
  • [unlocatable] minimax-docx validate CLI 行为 — CLI 位于宿主 ~/.claude/plugins/marketplaces/minimax-skills/…,不在本 pin 源码内,其 XSD 校验具体行为无法在此核验;SKILL 自身亦承认依赖其安装。
  • [ok] 自研生成器 Program.cs — File.ReadAllText+Markdown.Parse+OpenXML 组装流程与 csproj 依赖(OpenXml 3.2.0/Markdig 1.3.2/net10.0)属实;对齐/NumId/字体双槽注释在源码中可定位。
  • [ok] qlmanage 禁令与 ISSUE-008 叙事 — SKILL.md Banned 段与 known_issues.md ISSUE-008 记录一致;verification_protocol.md 亦重申。
  • [ok] ISSUE-012 真 Word 兼容模式案例 — known_issues.md 含根因(元素顺序/缺 tblGrid 等)与 'LibreOffice 全绿、真 Word 兼容模式' 的复现记录;verification_protocol Step 3a 强制 Word 复核。
  • [ok] NuGet 首次还原需网络 — SKILL.md quick start 注明 '(first run restores DocumentFormat.OpenXml + Markdig, ~20s)';scripts/README 依赖表 'NuGet reachable' 行一致。
  • [ok] 无凭证/无外发代码 — Program.cs/README/引用文件 token 扫描:无 env 密钥、无 requests/urllib、无 curl;网络仅 NuGet 还原。
  • [ok] 元数据 — GitHub API:MIT / 1385 stars / pushed 2026-09-09T12:33:29Z;本地 HEAD==pin d5c4678。

6结论

  • 把中文正式文书的 Word 机理(信息块对齐、宋体加粗要换黑体、双槽字体、NumId 重启)系统代码化并逐条钉到 ISSUE 记录。
  • 验证链按『渲染器保真度递进』设计:qlmanage→LibreOffice→真 Word,ISSUE-012 证明低保真验证会漏真雷。
  • ECMA-376 元素顺序纪律内建于构造点,把『Word 兼容模式』这类最难察觉的失败从根上防住。
  • 职责切分诚实:不重复造引擎,把 minimax-docx 当 SDK 用,自己只补引擎缺的生成器与使用知识。
  • 适合:适合需要生产级中文合同/公文/offer docx 的团队与个人(甲乙方块、条款编号、签字栏、盖章版);要求宿主已装 minimax-docx、.NET SDK、LibreOffice/poppler,且愿意执行 Read 每页的真实验证链。
    不适合:不适合离线/无 .NET 环境;不适合只要纯文本 Word(该走 minimax CLI create);不适合 Markdown→PDF(那是 pdf-creator);不适合把权威 Word 稿转 markdown 再生成(SKILL 明文禁止 round-trip)。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-09
    方式 A · 人下载镜像包下载 docx-creator.tar.gz
    sha256: 31fc8fead4571a90…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit d5c4678cb5;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库daymade / daymade/claude-code-skills
    Stars1385
    最近推送2026-09-09
    本 skill commitd5c4678cb5
    许可MIT(仓库根 LICENSE;Copyright (c) 2025 daymade;GitHub API spdx MIT)
    本站信息
    收录日期2026-09-06
    分类文档与知识
    侦查报告2026-09-06 · 2 遍
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。