前言¶
机关、企事业单位日常要交的材料,版式往往比正文更费时间:题目和副标题居中、层级标题用「一、」「(一)」「1.」「(1)」区分、正文仿宋与行距页边距统一、附件和图表标题单独处理。手工在 Word 或 WPS 里逐项调,一批文件更是重复劳动。
下面介绍 SkillHub 社区 Skill「公文格式转换」(坐标 @user_60300dde/doc-format)。安装后,Agent 按 Skill 手册调用本地脚本 wfp_cli.py,把已有 doc/docx/wps/txt/md 按公文排版习惯格式化,输出标准 .docx,原文件不原地覆盖。与「让模型直接重写一份 Word」不同,它走的是规则识别加 OOXML 排版,适合已有草稿需要统一版式的场景。
这是什么¶
「公文格式转换」是面向办公效率的社区 Skill(分类 office-efficiency,当前版本 1.0.5,发布者 user_60300dde)。标签标明 requires_api_key=false,无需额外 API Key。
一句话定位:将 doc / docx / wps / txt / md 按公文排版习惯自动格式化,输出标准 docx;支持标题层级识别、题目与副标题、附件、图表标题、页面边距、页码、行距、字体字号、TXT/MD 空行策略、自定义配置与目录批量处理。
SkillHub 页面:https://www.skillhub.cn/skills/user_60300dde/doc-format
安装说明入口:https://skillhub.cn/install/skillhub.md
API 坐标页:https://api.skillhub.cn/user_60300dde/doc-format
核心功能¶
以下能力均来自 Skill 包内 SKILL.md 与参考文档,版本 1.0.5。
输入输出¶
- 支持
.docx、.doc、.wps、.txt、.md。 - 单文件、多文件(可重复
-i或位置参数)、目录输入;目录默认递归扫描,输出保留相对目录结构。 - 原始文件不原地修改;Word/WPS 类文档先复制或转换到临时副本再排版。
结构与版式识别¶
- 自动识别题目、副标题、四级标题层级(
一、/(一)/1./(1))、二级标题段内正文、图/表标题、附件标识。 - 默认页边距、行距、页码(奇偶页对齐)、字体字号等规则见包内
references/formatting-rules.md(例如正文默认仿宋_GB2312 16pt、行距 28 磅等)。
增强项(可选)¶
- 表格内容自动调整、数字与字母单独英文字体、符号标准化,默认关闭,可通过配置或 CLI 开关启用。
- TXT/MD 支持三种空行模式;手写数字编号按源文档保留,不自动递增重排。
配置¶
- 自动读取当前工作目录
wfp_config.json,或使用--config、--config-json、--set key=value及便利开关临时覆盖。 show-config/save-config可查看与导出配置模板。
安装与启用¶
1. 安装 SkillHub CLI(若尚未安装)¶
command -v skillhub && skillhub --version
未安装时可执行(仅 CLI):
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only
2. 安装 Skill 到当前 Agent 的 skills 目录¶
安装时必须用 --dir 指向 Agent 实际识别的 skills 目录,否则默认装到 ./skills/ 可能无法加载。常用路径(来自 SkillHub 安装文档):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下的.agents/skills/
安装命令(搜索结果显示的推荐写法):
skillhub install doc-format --namespace user_60300dde --dir ~/.cursor/skills
等价坐标:@user_60300dde/doc-format。也可将官方页面提示发给 Agent,让其按 https://skillhub.cn/install/skillhub.md 安装该 Skill。
3. Python 依赖¶
Skill 目录下 requirements.txt 列出:
python-docx
tkinterdnd2
pywin32; platform_system == "Windows"
在 Skill 根目录安装依赖后,再运行 scripts/wfp_cli.py。Windows 处理 .doc/.wps 时可配合 pywin32 与本地 Word/WPS COM。
安装或启用 Skill 后,一般需要重启或重新加载 Agent,才能读取新的 SKILL.md。
典型用法¶
脚本位于 Skill 目录 scripts/wfp_cli.py。若当前工作目录不是 Skill 根目录,应先 cd 到 SKILL.md 所在目录,或使用该路径的绝对路径调用。
单文件与指定输出¶
python scripts/wfp_cli.py format -i report.docx
python scripts/wfp_cli.py format -i report.docx -o report_final.docx
单文件未指定 -o 时,默认在同目录生成 *_formatted.docx;成功时 stdout 打印输出文件的绝对路径。
目录批量¶
python scripts/wfp_cli.py format -i ./documents -o ./documents_formatted
python scripts/wfp_cli.py format -i ./documents -o ./documents_formatted --no-recursive
TXT / MD 与空行模式¶
python scripts/wfp_cli.py format -i draft.md
python scripts/wfp_cli.py format -i draft.md --blank-line-mode "不改动任何空行"
自定义配置¶
python scripts/wfp_cli.py show-config
python scripts/wfp_cli.py save-config --set body_font=宋体 --set body_size=12
python scripts/wfp_cli.py format -i input.docx --config ./wfp_config.json
python scripts/wfp_cli.py format -i input.docx --set body_size=12 --enable-table-formatting
在对话里交给 Agent¶
用户可直接说明需求,例如:「把 /path/to/请示稿.docx 按公文格式排版,正文字号小四、行距 30 磅,输出到同目录。」Agent 应按 Skill 准则先确认输入路径,必要时 save-config 再 format,并在完成后提示抽查版式。
适用场景与注意¶
适合谁
- 行政、文秘、项目内勤:已有 Word/WPS/纯文本/Markdown 草稿,需要统一为可印发的 docx。
- 需要批量处理同一目录下多份材料,并保留子目录结构。
- 希望字体、行距、边距等可配置、可复用(
wfp_config.json),而不是每次口述一遍。
限制与坑
- 旧格式转换:Windows 上
.doc/.wps优先走 WPS/Word COM;macOS/Linux 或 COM 不可用时依赖 LibreOfficesoffice,失败时需安装 LibreOffice、用--soffice指定路径,或先另存为.docx。可用python scripts/wfp_cli.py install-help查看安装提示。 - 自动编号:非 Windows 或 COM 不可用时,自动编号转文本会跳过;若编号无法单独选中,可能仍是 Word 自动编号,需转为手写编号后重跑。完成后务必抽查标题层级、附件、页码与表格。
- 增强项:表格自动调整、英文字体、符号标准化可能改变版面,重要文件建议在副本上先试。
- 合规表述:Skill 描述的是「公文排版习惯」与可配置规则,是否满足本单位或 GB/T 9704-2012 等强制性要求,仍需人工终检。
结尾¶
「公文格式转换」把多格式输入、层级识别、版式参数和批量目录处理收进一个可复用的 Agent Skill,适合把「排版」从对话里的模糊描述变成可重复的 CLI 流程。需要安装或查阅说明时,以 SkillHub 官方页为准:https://www.skillhub.cn/skills/user_60300dde/doc-format