按GB/T 9704-2012党政机关公文格式标准,将文本内容转换为规范格式的Word文档。适用于需要生成公文格式(仿宋正文、黑体一级标题、楷体二级标题、标准页边距、固定行距等)的Word文件。触发词:公文格式、公文Word、GB/T 9704、党政公文、红头文件格式、仿宋3号、公文排版。
设计与多媒体
Official Doc
试用公文格式转换 — 将 Markdown 转换为符合 GB/T 9704-2012 党政机关公文格式的 Word 文件。可选能力:远程图片下载(仅 http/https/data:image,可通过 download_images=False 关闭)。Do NOT:不做文体识别、不添加红头/版记/落款、不做内容审核。
它能做什么
公文格式转换 — 将 Markdown 转换为符合 GB/T 9704-2012 党政机关公文格式的 Word 文件。可选能力:远程图片下载(仅 http/https/data:image,可通过 download_images=False 关闭)。Do NOT:不做文体识别、不添加红头/版记/落款、不做内容审核。
技能文档
📄 official-doc - 公文格式转换
技能信息
基本信息
| 属性 | 说明 |
|---|---|
| 名称 | official-doc |
| 中文名称 | 公文格式转换 |
| 版本 | 1.1.3 |
| 作者 | EdwardWason |
| 许可证 | MIT |
| 主页 | https://github.com/EdwardWason/official-doc |
触发词
- 公文格式转换
- 转换公文格式
功能描述
将 Markdown 文档转换为符合 GB/T 9704-2012 党政机关公文格式的 Word 文档。专注排版格式转换,不添加红头、版记、落款等公文装饰要素。
适用场景
- AI Agent 生成公文格式报告
- 定时任务自动生成工作简报、周报、月报
- Markdown 文档批量转换为标准公文格式
- 行业研报格式标准化输出
Do NOT(超出范围)
- ❌ 不做文体识别:不区分通知/通报/报告/请示等公文文种,统一按 Markdown 结构转换
- ❌ 不添加公文装饰要素:不生成红头、版记、落款、签发人、密级标识等
- ❌ 不做内容审核:不审查内容合规性、不校验公文要素完整性
- ❌ 不做双向转换:仅支持 Markdown → Word 单向,不支持 Word → Markdown 反向
- ❌ 不读取本地敏感文件:不读取 memory/profile/credentials 等任何用户数据
v1.1.0 新增功能
- 引入 markdown-it-py 解析器,支持多行段落、嵌套列表
#标题智能判断:单个视为大标题(居中不加序号),多个视为一级标题(加序号)- 首行缩进精确对齐国标(640 twips = 2个三号汉字宽度)
- 新增表格、图片、超链接、代码块、嵌套列表支持
- 加粗文本自动转为黑体,斜体文本自动转为楷体
v1.1.2 安全升级(响应 ClawHub SkillSpector 审计)
download_image()增加 URL scheme 白名单(仅http:///https:///data:image),防止 SSRFmd_to_docx()新增download_images=True参数,受限网络环境可设为False完全关闭网络请求_handle_standalone_image()关闭图片下载时以[图片: alt]文字占位替代requirements.txt改用~=兼容版本锁定(python-docx~=1.1.0、markdown-it-py~=3.0.0)- README 中英文版增加 "图片下载网络请求说明 / Network Access Disclosure" 用户警告段落
v1.1.3 修复(响应 v1.1.2 后 SkillSpector 二次审计)
- 修复 v1.1.2 漏改:README/skill.md/skill.json 中残留的
>=全部改为~=(依赖版本一致性) - frontmatter 增加
allowed-tools字段,声明 filesystem(写 .docx)和 net.http(图片下载,可关闭)两项权限 - 7 项 findings 中:2 项真实漏改(本次修复)、3 项 stale(已修复但被重复扫描,本次通过 allowed-tools 增强声明)、2 项过度修改(保留现有设计,不采纳)
权限声明
本技能执行过程中涉及的系统能力(用户须知):
| 能力类别 | 是否使用 | 说明 |
|---|---|---|
| 网络访问 | ✅ 仅 http/https 图片下载 | 默认开启;可通过 download_images=False 关闭;URL scheme 白名单防止 SSRF |
| 文件读写 | ✅ 仅写入输出 .docx 和临时图片缓存 | 临时图片下载后立即 os.unlink 删除;不读取用户其他文件 |
| 环境变量 | ❌ 不读取 | 不依赖任何环境变量,无凭证收集 |
| subprocess 调用 | ❌ 不调用 | 纯 Python 实现,不执行 shell 命令 |
| 外部 API 调用 | ❌ 不调用 | 不向任何外部 API 推送数据 |
最小权限原则:本技能仅做 Markdown→Word 格式转换,不涉及任何外部数据上传、凭证收集或子进程调用。
输入参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
md_content | string | ✅ | Markdown 格式的文本内容 |
output_path | string | ✅ | 输出 Word 文件路径(.docx) |
download_images | bool | ❌ | 是否下载远程图片并嵌入 Word,默认 True;受限网络环境设为 False 跳过网络请求 |
输出结果
| 字段 | 类型 | 说明 |
|---|---|---|
success | boolean | 转换是否成功 |
output_path | string | 输出文件路径 |
使用示例
基本使用
from official_doc import md_to_docx
md_content = """# 工作简报
## 一、上周工作总结
本周完成了系统升级任务。
### (一)主要工作
1. 服务器部署
2. 数据迁移
3. 测试验证
### (二)下周计划
继续推进优化工作。
"""
success = md_to_docx(md_content, "工作简报_公文格式.docx")
print("转换成功" if success else "转换失败")
含表格和图片
from official_doc import md_to_docx
md_content = """# 项目进度表
## 工作进展
| 项目名称 | 负责人 | 进度 | 备注 |
|----------|--------|------|------|
| A项目 | 张三 | 80% | 正常 |
| B项目 | 李四 | 60% | 需加速 |

详细说明请参考[官方文档](https://example.com)。
"""
md_to_docx(md_content, "进度表_公文格式.docx")
AI Agent 集成
from official_doc import md_to_docx
class OfficialDocSkill:
name = "official-doc"
description = "公文格式转换 - 将 Markdown 转为党政机关公文格式"
def execute(self, md_content, output_path=None):
if output_path is None:
output_path = "output_公文格式.docx"
success = md_to_docx(md_content, output_path)
return {
"success": success,
"output_path": output_path,
"message": "公文格式转换完成" if success else "转换失败"
}
定时任务
import schedule
import time
from official_doc import md_to_docx
def generate_report():
content = generate_report_content()
today = time.strftime("%Y-%m-%d")
md_to_docx(content, f"工作简报_{today}_公文格式.docx")
schedule.every().monday.at("09:00").do(generate_report)
格式规范
页面设置
| 设置项 | 规范值 |
|---|---|
| 上边距 | 3.7cm |
| 下边距 | 3.5cm |
| 左边距 | 2.8cm |
| 右边距 | 2.6cm |
| 行间距 | 固定值 26 磅 |
| 首行缩进 | 2字符(640 twips) |
字体设置
| 元素 | Markdown | 字体 | 字号 |
|---|---|---|---|
| 大标题(单个#) | # | 方正小标宋简体 | 二号 |
| 一级标题(多个#) | # | 黑体 | 三号 |
| 二级标题 | ## | 黑体 | 三号 |
| 三级标题 | ### | 楷体_GB2312 | 三号 |
| 四级标题 | #### | 仿宋_GB2312 | 三号 |
| 正文 | 普通文本 | 仿宋_GB2312 | 三号 |
| 加粗文本 | **text** | 黑体 | 三号 |
| 斜体文本 | *text* | 楷体_GB2312 | 三号 |
| 链接 | [text](url) | 仿宋_GB2312 蓝色下划线 | 三号 |
| 表格表头 | ` | 表头 | ` |
| 表格内容 | ` | 内容 | ` |
| 代码块 | ``` | 仿宋_GB2312 | 小四号 |
| 页码 | - | 宋体 | 四号 |
标题编号规则
| 层级 | 格式示例 | 说明 |
|---|---|---|
| 大标题 | 公文标题 | 单个#标题居中,不加序号 |
| 一级标题 | 一、章节名称 | 多个#标题自动加序号 |
| 二级标题 | 一、章节名称 | ## 标题自动加序号 |
| 三级标题 | (一)小节名称 | ### 标题加中文括号序号 |
| 四级标题 | 正文格式 | #### 标题不加序号 |
支持的 Markdown 元素
| 元素 | 转换效果 |
|---|---|
标题 # / ## / ### / #### | 智能层级判断 + 自动编号 |
| 段落 | 正文仿宋三号,首行缩进2字符 |
有序列表 1. 2. 3. | 自动编号,支持嵌套 |
无序列表 - / * | 圆点标记,支持嵌套 |
| 表格 ` | ... |
图片  | 居中图片 + 图注 |
链接 [text](url) | 蓝色下划线超链接 |
加粗 **text** | 黑体 |
斜体 *text* | 楷体 |
代码块 ``` | 仿宋小四号 |
水平线 --- | 忽略 |
依赖要求
| 依赖 | 版本 |
|---|---|
| Python | >= 3.8 |
| python-docx | ~= 1.1.0 |
| markdown-it-py | ~= 3.0.0 |
支持平台
- ✅ Windows 10/11
- ✅ Linux
- ✅ macOS
项目链接
相关技能
党政机关公文标准排版与质检校对技能,严格依据《党政机关公文格式》GB/T 9704-2012。当用户明确要求对公文做以下操作时使用:①排版——将 Markdown/TXT/DOCX/PDF(文本层) 草稿转换为国标合规的 Word 公文(红头、发文字号、2号小标宋标题、3号仿宋正文、一/(一)/1./(1)四级标题、附件、署名与成文日期、版记、页码);②质检——扫描已有 .docx 公文,按高/中/低三级输出不合规清单与整改建议;③文风净化——在用户要求时,对口语、网络用语、AI 腔与常见错别字做表层规范化(实质性内容只标记不改写)。适用场景(需用户主动提出):公文排版、红头文件、公文格式、发
Skill for creating Chinese official documents (公文) following standardized formatting requirements. Use when user wants to create official documents such as n...
Format, review, or rewrite Chinese official documents (公文) to the GB/T 9704-2012 党政机关公文格式 standard. The full rulebook is bundled in references/formatting_gui...
Convert uploaded Word documents (.docx) into the fixed Chinese official-document format defined by the bundled government-style template bundle. Use when Cod...
起草、改写、润色、扩写、压缩、规范并导出中文公文与行政正式文本。Use when the user asks to write, revise, summarize, standardize, or convert 公文、决议、决定、命令、公告、公报、通告、意见、通知、通报、报告、请示、批复、议案、函、纪要,以及...