# Official Doc Writer

> ***

- Skill: `wonderslife/official-doc-writer` (Agent Skill, multi-file: 20 files)
- Install (CLI): `npx skillmds@latest add wonderslife/official-doc-writer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wonderslife/official-doc-writer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wonderslife (https://skillmd.com/u/wonderslife)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wonderslife/official-doc-writer

---

***
name: "official-doc-writer"
description: "党政机关公文生成技能，符合GB/T 9704-2012，支持通知、报告、请示、函等10类公文，可导出Word。触发：公文生成、写报告、正式文件、通知、请示、official document、government doc。"
author: "neuqik@hotmail.com"
license: "MIT"
--------------

# 党政机关公文生成技能

生成符合《党政机关公文处理工作条例》和 GB/T 9704-2012《党政机关公文格式》的公文，支持通知/报告/请示/函/通报/纪要/决定/意见/批复/命令 10 类，可导出 Word。

**快速使用**: `python scripts/generate_official_doc.py`

## 字体依赖
必需字体：方正小标宋_GBK（发文机关标志/标题）、仿宋_GB2312（正文）、黑体（一级标题）、楷体_GB2312（二级标题）、宋体（页码）。
- 自动安装：`python scripts/install_fonts.py`（Windows 需管理员）
- 验证：`python scripts/install_fonts.py --check`
- 详细说明见 `fonts/README.md` 与 `scripts/install_fonts.py`

## 对话交互
`scripts/dialog_manager.py` 逐步引导收集要素：
- **核心要素**：公文类型（选择式）、发文机关、主送机关、标题、成文日期（默认今天）、正文要点
- **可选要素**：发文字号、密级、紧急程度、签发人（上行文）、附件、抄送机关、印发机关/日期
- **智能提示**（`scripts/smart_prompts.py`）：开头语/结尾语推荐，如通知"为……，现……如下："／"特此通知。"

## 格式规范（GB/T 9704-2012）
**版面**：A4（210×297mm）；天头 37mm±1、订口 28mm±1；版心 156×225mm；每面 22 行×28 字。
**字体字号**：标题/发文机关标志=小标宋2号；正文=仿宋3号；一级标题=黑体3号；二级标题=楷体3号；三级/四级=仿宋3号；页码=宋体4号半角。
**编排**：版头（发文机关标志+发文字号〔年份〕序号+红色分隔线）；主体（标题"机关+事由+文种"、主送机关、正文，层次 一、(黑体)→（一）(楷体)→1.(仿宋)→（1）(仿宋)、附件、成文日期）；版记（分隔线+抄送+印发机关/日期）。
> 完整标准见 `references/GBT_9704-2012_党政机关公文格式.md`

## 工作流程
1. **需求收集**：提取 公文类型/发文机关/主送机关/发文字号/标题/正文/成文日期/附件(可选)/抄送(可选)
2. **生成文档**：
```python
from scripts.generate_official_doc import create_official_document
content = {'issuer':'发文机关','doc_number':'发文字号','title':'标题','recipient':'主送机关','body':['段落1'],'signer':'署名','date':'成文日期','attachment':'附件(可选)','copy_to':'抄送(可选)'}
doc = create_official_document('公文类型', content)
doc.save('输出.docx')
```
3. **格式校验**：标题/发文字号/正文层次/语言/要素齐全
4. **语言规范**：成文日期用阿拉伯数字（2026年3月13日）；序号不编虚位（1号）；统计用阿拉伯数字，概数用汉字（三五天）。

## Iron Law 铁律
1. 严格符合 GB/T 9704-2012，不得为美观偏离标准。
2. 必备要素（发文机关、标题、主送机关、正文、成文日期、印章/署名）缺一不可。
3. 使用规范公文语言，禁口语化/网络化。
4. 必须用标准字体，缺失时提示安装，不得静默替换。
5. 生成前必须预览并获用户确认。
- 违规：❌非标准页边距 ❌缺要素 ❌口语化 ❌字体缺失不提示 ❌跳过预览
- 合规：✅严格标准参数 ✅输出前查要素清单 ✅规范表述 ✅字体缺失主动提示 ✅先预览后生成

## Red Flags 红旗
- **L1 输入**：INPUT-ODW-001 信息不足确定类型→🔴引导补充；002 发文机关为空→🔴；003 正文<20字→🟡
- **L2 执行**：EXEC-ODW-001 格式参数不合标准→🔴修正；002 口语化→🟡改写；003 缺字体静默替换→🔴中止；004 跳过预览→🔴回退
- **L3 输出**：OUTPUT-ODW-001 Word 打不开→🔴查字体；002 与预览不一致→🔴；003 路径越界→🟡
- 处理：🔴立即停止上报等待指示 | 🟡记录尝试自动修复 | 🔵记录正常继续
