---
name: leoyeai/official-doc-writer
source: https://app.decimal.ai/s/leoyeai-official-doc-writer@1/SKILL.md
source_sha256: f921333843d7
---

# 党政机关公文生成技能

## 概述

本技能用于生成符合《党政机关公文处理工作条例》和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《出版物上数字用法》