党政机关公文生成技能,支持通知、报告、请示、函等公文类型,符合GB/T 9704-2012标准。当用户需要生成党政机关公文、创建正式文件、导出Word格式公文时调用。无论用户使用何种表述方式(如'帮我写个报告'、'生成一份通知'、'制作公文'等),只要涉及公文文档生成,都应使用此技能。
---
name: "official-doc-writer"
description: "党政机关公文生成技能,支持通知、报告、请示、函等公文类型,符合GB/T 9704-2012标准。当用户需要生成党政机关公文、创建正式文件、导出Word格式公文时调用。无论用户使用何种表述方式(如'帮我写个报告'、'生成一份通知'、'制作公文'等),只要涉及公文文档生成,都应使用此技能。"
author: "wonderqi@163.com"
license: "MIT"
---
# 党政机关公文生成技能
## 概述
本技能用于生成符合《党政机关公文处理工作条例》和GB/T 9704-2012《党政机关公文格式》国家标准的公文文档,支持多种公文类型,并可导出为标准格式的Word文档。
## 快速开始
### 使用可执行脚本
本技能提供了一个完整的Python脚本,可以直接生成符合标准的Word文档:
```bash
python scripts/generate_official_doc.py
```
脚本位置:`scripts/generate_official_doc.py`
### 基本使用流程
1. **收集公文要素**:从用户输入中提取公文类型、发文机关、主送机关、标题、正文等关键信息
2. **调用生成脚本**:使用`scripts/generate_official_doc.py`生成Word文档
3. **保存文档**:将生成的文档保存到用户指定位置
## 字体安装
### 概述
根据GB/T 9704-2012《党政机关公文格式》国家标准,公文生成需要以下特殊字体。本技能提供了完整的字体安装解决方案。
### 必需字体清单
| 字体名称 | 用途 | 文件名 | 是否必需 |
|---------|------|--------|---------|
| 方正小标宋_GBK | 发文机关标志、标题 | FZXBSJW.TTF | 是 |
| 仿宋_GB2312 | 正文、发文字号 | SIMFANG.TTF | 是 |
| 黑体 | 一级标题、密级 | SIMHEI.TTF | 是 |
| 楷体_GB2312 | 二级标题、签发人姓名 | SIMKAI.TTF | 是 |
| 宋体 | 页码 | SIMSUN.TTF | 是 |
### 自动安装(推荐)
使用skill提供的自动安装脚本:
```bash
# 进入skill目录
cd .trae/skills/official-doc-writer
# 运行安装脚本
python scripts/install_fonts.py
```
**注意**:
- Windows系统需要以管理员身份运行
- macOS/Linux系统可能需要输入密码
### 手动安装
#### Windows系统
1. **从系统字体目录复制**:
```
复制字体文件到:C:\Windows\Fonts
```
2. **或从fonts目录安装**:
- 右键点击字体文件
- 选择"为所有用户安装"
#### macOS系统
1. **复制字体文件**:
```
复制字体文件到:~/Library/Fonts
```
2. **验证安装**:
- 打开"字体册"应用
- 检查字体是否已安装
#### Linux系统
1. **创建字体目录**:
```bash
mkdir -p ~/.fonts
```
2. **复制字体文件**:
```bash
cp fonts/*.ttf ~/.fonts/
```
3. **更新字体缓存**:
```bash
fc-cache -fv
```
### 字体下载
如果系统缺少所需字体,可以从以下渠道获取:
#### 方式1:从Windows系统字体目录复制(推荐)
Windows 10/11系统已自带所有必需字体(除方正小标宋外):
```
C:\Windows\Fonts
```
复制以下文件到skill的fonts目录:
- `SIMFANG.TTF`(仿宋_GB2312)
- `SIMHEI.TTF`(黑体)
- `SIMKAI.TTF`(楷体_GB2312)
- `SIMSUN.TTF`(宋体)
#### 方式2:从官方渠道下载
**方正小标宋_GBK**:
- 官方网站:http://www.foundertype.com/
- 注意:需要商业授权
**Windows系统字体**:
- 微软官网下载页面
- 或从Windows系统字体目录复制
#### 方式3:使用开源字体替代
- **思源宋体**(替代宋体)
- **思源黑体**(替代黑体)
### 验证字体安装
运行字体安装脚本会自动检查系统已安装的字体,并显示检查结果。
### 详细说明
完整的字体下载和安装说明请参考:
- **字体下载说明**:`fonts/README.md`
- **字体安装脚本**:`scripts/install_fonts.py`
## 对话交互模式
### 概述
本技能支持**智能对话交互模式**,通过逐步引导的方式收集公文要素,提供更友好的用户体验。
### 对话要素清单
#### 核心要素(必须交互)
| 要素 | 交互方式 | 示例对话 |
|------|---------|---------|
| **公文类型** | 选择式对话 | "您需要生成什么类型的公文?\n1. 通知\n2. 报告\n3. 请示\n4. 函\n..." |
| **发文机关** | 开放式对话 | "请告诉我发文机关的全称(如:XXX公司)" |
| **主送机关** | 开放式对话 | "请告诉我主送机关(接收单位)" |
| **公文标题** | 引导式对话 | "请简要描述公文事由,我将帮您生成规范标题" |
| **成文日期** | 确认式对话 | "成文日期是今天(2026年3月13日)吗?" |
| **正文内容** | 多行输入 | "请描述公文的主要内容要点" |
#### 可选要素(智能交互)
| 要素 | 触发条件 | 交互方式 |
|------|---------|---------|
| **发文字号** | 用户需要 | 开放式对话 |
| **密级** | 用户提及保密 | 选择式对话 |
| **紧急程度** | 用户提及紧急 | 选择式对话 |
| **签发人** | 上行文(请示、报告) | 开放式对话 |
| **附件** | 用户提及附件 | 确认式对话 |
| **抄送机关** | 用户提及抄送 | 开放式对话 |
| **印发机关** | 默认值确认 | 确认式对话 |
| **印发日期** | 默认值确认 | 确认式对话 |
### 智能提示系统
#### 开头语建议
根据公文类型自动推荐合适的开头语:
- **通知**:为...,现...如下:
- **报告**:现将...报告如下:
- **请示**:关于...的请示
- **函**:关于...的函
#### 结尾语建议
根据公文类型自动推荐合适的结尾语:
- **通知**:特此通知。
- **报告**:特此报告。
- **请示**:妥否,请批示。
- **函**:请予研究函复。
### 技术实现
#### 对话管理器
使用`scripts/dialog_manager.py`管理对话状态:
```python
from scripts.dialog_manager import create_dialog_manager
# 创建对话管理器
dialog = create_dialog_manager()
# 获取下一个提示
prompt = dialog.get_next_prompt()
# 处理用户输入
dialog.process_user_input(user_input)
# 获取公文内容
content = dialog.get_document_content()
```
#### 智能提示系统
使用`scripts/smart_prompts.py`获取智能提示:
```python
from scripts.smart_prompts import create_smart_prompt_system
# 创建智能提示系统
prompts = create_smart_prompt_system()
# 获取开头语建议
opening_prompts = prompts.get_opening_prompt("通知")
# 获取结尾语建议
ending_prompts = prompts.get_ending_prompt("通知")
# 获取结构建议
structure_hints = prompts.get_structure_hint("通知")
```
### 对话模式优势
1. **用户友好**:逐步引导,降低使用门槛
2. **智能提示**:提供专业的公文语言建议
3. **灵活性强**:支持随时修改和调整
4. **质量保证**:确保所有必要要素齐全
5. **学习价值**:帮助用户了解公文规范
### 使用示例
#### 示例1:生成通知
```
AI: 您好!我将帮您生成一份公文。请问您需要生成什么类型的公文?
1. 通知
2. 报告
3. 请示
4. 函
...
用户: 通知
AI: 好的,生成通知。请告诉我发文机关的全称:
用户: XXX公司
AI: 收到。请问主送机关(接收单位)是?
用户: 各部门
AI: 请简要描述通知的事由,我将帮您生成规范标题:
用户: 开展2026年度安全检查工作
AI: 我为您生成的标题是:"关于开展2026年度安全检查工作的通知",是否满意?
用户: 满意
AI: 请提供发文字号(格式:机关代字〔年份〕序号号):
用户: 沈数据〔2026〕1号
AI: 成文日期是今天(2026年3月13日)吗?
用户: 是的
AI: 这份公文需要标注密级吗?
用户: 不需要
AI: 这份公文的紧急程度是?
用户: 不需要
AI: 请描述通知的主要内容要点:
用户: 检查时间、检查范围、检查要求
AI: 这份公文有附件吗?
用户: 没有
AI: 是否需要抄送给其他单位?
用户: 需要抄送给沈阳市应急管理局
AI: 印发机关是发文机关办公室吗?
用户: 是的
AI: 印发日期与成文日期相同吗?
用户: 是的
AI: 现在生成公文预览,请确认...
[预览内容]
AI: 请确认公文内容是否正确?
用户: 确认无误,生成文档
AI: 公文已生成完成!
```
### 技术实现
#### 对话管理器
使用`scripts/dialog_manager.py`管理对话状态:
```python
from scripts.dialog_manager import create_dialog_manager
# 创建对话管理器
dialog = create_dialog_manager()
# 获取下一个提示
prompt = dialog.get_next_prompt()
# 处理用户输入
dialog.process_user_input(user_input)
# 获取公文内容
content = dialog.get_document_content()
```
#### 智能提示系统
使用`scripts/smart_prompts.py`获取智能提示:
```python
from scripts.smart_prompts import create_smart_prompt_system
# 创建智能提示系统
prompts = create_smart_prompt_system()
# 获取开头语建议
opening_prompts = prompts.get_opening_prompt("通知")
# 获取结尾语建议
ending_prompts = prompts.get_ending_prompt("通知")
# 获取结构建议
structure_hints = prompts.get_structure_hint("通知")
```
### 对话模式优势
1. **用户友好**:逐步引导,降低使用门槛
2. **智能提示**:提供专业的公文语言建议
3. **灵活性强**:支持随时修改和调整
4. **质量保证**:确保所有必要要素齐全
5. **学习价值**:帮助用户了解公文规范
## 支持的公文类型
| 类型 | 适用场景 | 文种特点 | 结尾语 |
|------|----------|----------|--------|
| 通知 | 发布、传达要求下级机关执行和有关单位周知或者执行的事项 | 指导性、告知性 | 特此通知。 |
| 通报 | 表彰先进、批评错误、传达重要精神和告知重要情况 | 典型性、教育性 | 特此通报。 |
| 报告 | 向上级机关汇报工作、反映情况,回复上级机关的询问 | 陈述性、汇报性 | 特此报告。 |
| 请示 | 向上级机关请求指示、批准 | 请求性、期复性 | 妥否,请批示。 |
| 函 | 不相隶属机关之间商洽工作、询问和答复问题、请求批准和答复审批事项 | 商洽性、灵活性 | 请予研究函复。 |
| 纪要 | 记载会议主要情况和议定事项 | 纪实性、提要性 | - |
| 决定 | 对重要事项作出决策和部署、奖惩有关单位和人员、变更或撤销下级不适当的决定事项 | 决策性、权威性 | - |
| 意见 | 对重要问题提出见解和处理办法 | 指导性、建议性 | - |
| 批复 | 答复下级机关请示事项 | 针对性、回复性 | - |
| 命令(令) | 公布行政法规和规章、宣布施行重大强制性措施、批准授予和晋升衔级、嘉奖有关单位和人员 | 强制性、严肃性 | - |
## 公文格式规范(GB/T 9704-2012)
### 一、纸张与版面要求
#### 1.1 纸张规格
- **纸张类型**: A4型纸
- **成品幅面尺寸**: 210mm × 297mm
#### 1.2 页边距与版心
| 参数 | 尺寸 |
|------|------|
| 天头(上白边) | 37mm ± 1mm |
| 订口(左白边) | 28mm ± 1mm |
| 版心尺寸 | 156mm × 225mm |
#### 1.3 字体字号规范
| 要素 | 字体 | 字号 | 颜色 |
|------|------|------|------|
| 发文机关标志 | 小标宋体 | - | 红色 |
| 标题 | 小标宋体 | 2号 | 黑色 |
| 正文 | 仿宋体 | 3号 | 黑色 |
| 一级标题 | 黑体 | 3号 | 黑色 |
| 二级标题 | 楷体 | 3号 | 黑色 |
| 三级/四级标题 | 仿宋体 | 3号 | 黑色 |
| 发文字号 | 仿宋体 | 3号 | 黑色 |
| 签发人 | 仿宋体(标签)/ 楷体(姓名) | 3号 | 黑色 |
| 密级/紧急程度 | 黑体 | 3号 | 黑色 |
| 抄送机关 | 仿宋体 | 4号 | 黑色 |
| 印发机关/日期 | 仿宋体 | 4号 | 黑色 |
| 页码 | 宋体 | 4号半角 | 黑色 |
#### 1.4 行数与字数
- **每面行数**: 22行
- **每行字数**: 28个字
- **撑满版心**: 是
### 二、公文要素编排规则
#### 2.1 版头(公文首页红色分隔线以上部分)
**发文机关标志**
- 内容:发文机关全称或规范化简称 + "文件"二字
- 位置:居中排布,上边缘至版心上边缘35mm
- 字体:红色小标宋体字
**发文字号**
- 格式:`〔年份〕序号号`
- 位置:发文机关标志下空二行,居中排布
- 规则:年份用六角括号`〔〕`,序号不编虚位
**版头分隔线**
- 位置:发文字号之下4mm处
- 规格:红色,与版心等宽
#### 2.2 主体(红色分隔线以下至版记之前)
**标题**
- 字体:2号小标宋体字
- 位置:红色分隔线下空二行,居中排布
- 格式:发文机关名称 + 事由 + 文种
- 回行规则:词意完整,梯形或菱形排列
**主送机关**
- 位置:标题下空一行,居左顶格
- 格式:机关名称后标全角冒号
**正文**
- 字体:3号仿宋体字
- 位置:主送机关名称下一行
- 缩进:每个自然段左空二字,回行顶格
- 结构层次序数:
- 第一层:`一、`(黑体)
- 第二层:`(一)`(楷体)
- 第三层:`1.`(仿宋体)
- 第四层:`(1)`(仿宋体)
**附件说明**
- 位置:正文下空一行,左空二字
- 格式:`附件:附件名称`
- 多附件时使用阿拉伯数字标注顺序号
**发文机关署名**
- 位置:成文日期之上,居中编排
- 联合行文时按发文机关顺序排列
**成文日期**
- 格式:阿拉伯数字,年月日标全
- 位置:居中编排
- 规则:月、日不编虚位(1不编为01)
#### 2.3 版记(公文末页分隔线以下部分)
**分隔线**
- 首条和末条:粗线(0.35mm)
- 中间:细线(0.25mm)
- 宽度:与版心等宽
**抄送机关**
- 字体:4号仿宋体字
- 位置:印发机关和印发日期之上一行
- 格式:`抄送:机关名称。`
**印发机关和印发日期**
- 字体:4号仿宋体字
- 位置:末条分隔线之上
- 格式:印发机关左空一字,印发日期右空一字
## 工作流程
### 步骤1:需求收集
从用户输入中提取以下信息:
1. **公文类型**:通知/报告/请示/函/通报/纪要等
2. **发文机关**:单位全称
3. **主送机关**:接收单位
4. **发文字号**:如"沈数据〔2026〕1号"
5. **标题**:公文标题
6. **正文内容**:核心内容要点
7. **成文日期**:如"2026年3月13日"
8. **附件**:是否有附件(可选)
9. **抄送机关**:抄送单位(可选)
### 步骤2:生成文档
使用`scripts/generate_official_doc.py`脚本生成Word文档:
```python
from scripts.generate_official_doc import create_official_document
content = {
'issuer': '发文机关名称',
'doc_number': '发文字号',
'title': '公文标题',
'recipient': '主送机关',
'body': ['正文段落1', '正文段落2'],
'signer': '发文机关署名',
'date': '成文日期',
'attachment': '附件说明(可选)',
'copy_to': '抄送机关(可选)'
}
doc = create_official_document('公文类型', content)
doc.save('输出文件路径.docx')
```
### 步骤3:格式校验
检查以下要素:
- [ ] 标题格式正确
- [ ] 发文字号格式规范
- [ ] 正文层次清晰
- [ ] 语言表达准确
- [ ] 要素齐全完整
## 公文语言规范
### 常用开头语
- 通知:`为……,现……如下:`、`根据……,决定……`
- 报告:`现将……报告如下:`、`关于……情况报告如下:`
- 请示:`关于……的请示`、`现就……请示如下:`
- 函:`关于……的函`、`现就……函告如下:`
### 常用结尾语
- 通知:`特此通知。`、`请认真贯彻执行。`
- 报告:`特此报告。`、`以上报告,请审阅。`
- 请示:`妥否,请批示。`、`以上请示,请予批复。`
- 函:`请予研究函复。`、`特此函告。`
### 结构层次序数
- 第一层:`一、`、`二、`、`三、`
- 第二层:`(一)`、`(二)`、`(三)`
- 第三层:`1.`、`2.`、`3.`
- 第四层:`(1)`、`(2)`、`(3)`
### 数字使用规范
- 成文日期:使用阿拉伯数字,如`2024年1月15日`
- 发文字号序号:不编虚位,如`1号`而非`01号`
- 统计数据:使用阿拉伯数字
- 概数:使用汉字,如`三五天`、`七八十人`
## 使用示例
### 示例1:生成报告类公文
**用户输入:**
```
请帮我生成一份关于XXX公司情况的报告
公文类型:报告
发文机关:XXX公司
主送机关:XX市人民政府国有资产监督管理委员会、XX投资集团
发文字号:XX〔2026〕1号
成文日期:2026年3月13日
抄送机关:XX市数字经济发展局、XX区人民政府
附件:XXX公司核心成果及重点项目清单
正文:[正文内容...]
```
**处理步骤:**
1. 提取公文要素
2. 调用`scripts/generate_official_doc.py`
3. 生成Word文档并保存
### 示例2:生成通知类公文
**用户输入:**
```
帮我写一个通知,发文机关是XX公司,主送机关是各部门,内容是关于开展安全检查的通知
```
**处理步骤:**
1. 识别公文类型为"通知"
2. 提取发文机关、主送机关、事由
3. 生成规范的公文标题:"关于开展安全检查的通知"
4. 撰写符合公文语言规范的正文
5. 调用脚本生成Word文档
## 注意事项
1. **要素完整性**:确保公文必备要素齐全,不得遗漏
2. **格式规范性**:严格按照GB/T 9704-2012标准编排
3. **语言准确性**:使用规范的公文语言,避免口语化表达
4. **层次清晰性**:正文结构层次分明,逻辑清晰
5. **内容真实性**:公文内容必须真实、准确、完整
6. **时效性**:注意公文的时效,及时办理和回复
## 参考文档
### 国家标准文档
本技能包含完整的GB/T 9704-2012国家标准文档,位于`references/`目录:
**📖 [GB/T 9704-2012 党政机关公文格式](references/GBT_9704-2012_党政机关公文格式.md)**
这是公文格式的权威标准,包含:
- 纸张与版面要求
- 公文要素编排规则
- 字体字号规范
- 行数与字数要求
- 印制装订要求
- 公文特定格式(信函、命令、纪要等)
- 完整的式样图示
### 如何使用参考文档
**在生成公文时,应主动查阅国家标准文档以确保格式准确性:**
1. **格式不确定时**:使用Read工具读取`references/GBT_9704-2012_党政机关公文格式.md`
2. **特殊格式需求**:查阅标准中的"公文的特定格式"章节
3. **要素编排规则**:查阅标准中的"公文格式各要素编排规则"章节
4. **字体字号规范**:查阅标准中的"字体和字号"章节
**示例调用方式:**
```markdown
当需要确认公文格式的具体要求时,请查阅:
- 版心尺寸:查阅标准第5.2.1节
- 字体字号:查阅标准第5.2.2节
- 发文机关标志:查阅标准第7.2.4节
- 标题编排:查阅标准第7.3.1节
- 正文格式:查阅标准第7.3.3节
```
### 其他参考标准
- 《党政机关公文处理工作条例》(中办发〔2012〕14号)
- GB/T 15834《标点符号用法》
- GB/T 15835《出版物上数字用法》
don't have the plugin yet? install it then click "run inline in claude" again.