Install
openclaw skills install @cxdanger123-commits/gongwen-format把 Word 或 Markdown 文档一键排版为符合党政机关公文国标的 docx:字体字号行距标题合规、表格美化、图片防裁剪、大纲级别导航层级、Markdown H2/H3/H4 自动映射公文 4 级并挂 Word 自动编号。
openclaw skills install @cxdanger123-commits/gongwen-format作者:胡立敏 | 依据:GB/T 9704-2012《党政机关公文格式》、GB/T 33476.2-2016《党政机关电子公文格式规范 第 2 部分》 v2.1 新增:Markdown H2/H3/H4 自动映射公文 4 级(一/(一)/1.)并挂 Word 自动编号(numPr);手册、技术文档的章节层级不再坍塌。
用户给出 Word(.docx)或 Markdown(.md)文件,要求"排版 / 格式化 / 按公文国标刷新格式"时使用。 核心承诺:只刷格式,不改文字——不删字、不改字、不合并段落。
python <skill>/scripts/format.py <输入.docx> -o <输出-formatted.docx> --report <变更报告.md>
--auto-number(动字,需用户显式确认)python <skill>/scripts/md_parser.py <输入.md> -o <输出-formatted.docx> --report <变更报告.md>
<!--role: TITLE--> 等注释标注角色(不标默认 BODY);支持 |表格| 语法和  插图# xxx → TITLE(22pt 方正小标宋,居中)## xxx → LAYER_NUM 第 1 级(黑体,"一、")### xxx → LAYER_NUM 第 2 级(楷体,"(一)")#### xxx → LAYER_NUM 第 3 级(仿宋,"1.")##### xxx → LAYER_NUM 第 4 级(仿宋,"(1)")python <skill>/scripts/check.py <输入.docx> --out <报告.md>
| 要素 | 规则 | 依据 |
|---|---|---|
| 大标题 | 二号 22pt 方正小标宋,居中,大纲 1 级 | §7.3.1 |
| 一级"一、" | 三号 16pt 黑体,大纲 2 级,Word 自动编号 chineseCounting + %1、 | §7.3.3.2 |
| 二级"(一)" | 三号 16pt 楷体,大纲 3 级,Word 自动编号 chineseCounting + (%2) | §7.3.3.2 |
| 三四级"1./(1)" | 三号仿宋,大纲 4/5 级,Word 自动编号 decimal + %3.(第 3 级)/ (%4)(第 4 级) | §7.3.3.2 |
| 正文 | 三号仿宋,28 磅固定行距,首行缩进 2 字 | §7.3.3 |
| 图片段 | 居中、单倍行距(防裁剪)、段前后 6 磅 | 排版惯例 |
| 图题/表题 | "图1 xxx"→四号仿宋居中、单倍行距 | 排版惯例 |
| 表格 | 表头黑体、数据仿宋(四号)、整体居中、单元格居中、单倍行距 | 排版惯例 |
| 落款/日期 | 右对齐、右空 2 字、月日不补零 | §8.3 |
| 页面 | A4,版心 156×225mm(默认 33476.2 软件坐标;--strict 走 9704 严格坐标) | §6.1 |
大纲级别 1-4 级 = Word「视图 → 导航窗格」层级树,可折叠/跳转,引用→目录也可一键生成。
| 输入 | 输出 | ilvl | numFmt | lvlText | 字体 |
|---|---|---|---|---|---|
## xxx 或 <!--role: LAYER_NUM-->一、xxx | 一级章节 | 0 | chineseCounting | %1、 | 黑体 |
### xxx 或 <!--role: LAYER_NUM-->(一)xxx | 二级章节 | 1 | chineseCounting | (%2) | 楷体 |
#### xxx 或 <!--role: LAYER_NUM-->1.xxx | 三级章节 | 2 | decimal | %3. | 仿宋 |
<!--role: LAYER_NUM-->①xxx | 四级章节 | 3 | decimalEnclosedCircle | %4 | 仿宋 |
--auto-number 后将纯文本"一、""(一)"等删掉并挂 numPr标准流程只有一条命令。format.py 已内置「排版前校验 → 角色识别 → 排版 → 排版后校验 → 变更报告」全流程,一条命令跑完:
python <skill>/scripts/format.py <输入.docx> -o <输出-formatted.docx> --report <变更报告.md>
硬性禁令(违反即严重拖慢交付,每多一轮命令就是一次 Agent 往返):
python;报 ModuleNotFoundError 才提示先执行 pip install python-docx(或使用任一已装 python-docx 的解释器);同一会话记住可用解释器,不重复探测。例外流程(仅三种):
python <skill>/scripts/md_parser.py <输入.md> -o <输出.docx>(同样一条命令)python <skill>/scripts/check.py <输入.docx> --out <报告.md><!--role: BODY--> 显式标注gongwen-format/
├── SKILL.md 本说明
├── references/ 国标参数速查表
├── scripts/ 排版引擎
│ ├── format.py Word → 国标排版(主入口)
│ ├── md_parser.py Markdown → 国标 docx(含 H2/H3/H4 自动映射)
│ ├── check.py 合规体检(9 项检查器,只读)
│ ├── classify.py 段落角色识别(13 种)
│ ├── lib_docx.py python-docx 封装层
│ ├── report.py 报告生成
│ ├── rewrites/styles.py 国标样式套用(含 numPr 自动编号)
│ └── checks/ 10 项检查器实现
└── fixtures/ 测试样本(good/bad.docx、sample-media.md、sample-h2h3.md)