--- 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《出版物上数字用法》