公文写作 DNA
通过102万字语料提炼的公文写作 skill,可供 Codex、ClaudeCode、Moxt等兼容 agents.md 的 Agent 使用。这个 skill 把公文写作风格变成可测量、可验收的量化数据,让 Agent 能更好复现7种典型的公文风格,包括调研报告、领导讲话、工作意见、经验材料、工作方案、经验总结和党建材料。
覆盖的文体
这个 skill 用语料统计的方式,蒸馏复刻优质公文材料写作风格,因此只做没有固定模板的文体,总共分为两个文体族,七个类别的公文。
公文族六类:调研报告、领导讲话、工作意见、经验材料、工作方案、经验总结。篇幅中位 2,500-3,700 字,有 2-5 个一级标题。
党建族一类:千字级党建/基层经验材料。篇幅约 1,120 字,零一级标题,靠段首提领句和群众原话推进。
这个skill不做有固定模板的法定公文(通知/请示/批复/函)。 这类文体的正文是固定结构,不需要通过量化蒸馏来统计风格----因为已经确定了风格。
效果示例
三篇范文,各展示一类文体的不同写法。
案例一 · 工作方案(规范性部署)
题目: 起草《关于开展电动自行车充停设施补建和安全隐患整治攻坚的工作方案》。(完整篇见 示例/工作方案_电动自行车充停设施补建和隐患整治攻坚方案.md)
为深入落实国务院办公厅《电动自行车安全隐患全链条整治行动方案》和《现代化应急体系建设"十五五"规划》关于深化电动自行车、新能源汽车充电基础设施等"一件事"全链条专项整治的要求,针对我市居民小区充电设施供需矛盾突出、违规停放充电和非法改装屡禁不绝的问题,集中一个阶段的力量补齐设施缺口并消除存量隐患,结合我市实际,制定本方案。
一、工作目标
到今年年底,全市居民小区电动自行车充停设施缺口基本补齐,新增集中充停点位【待补:xx】个,新增充电端口【待补:xx】个,加装电梯阻车系统【待补:xx】台,排查发现的消防安全隐患全部整改销号……
二、重点任务
(一)摸清底数,建好台账。
1.开展全域拉网式排查。以住宅小区和城中村为重点,把老旧院落、单位职工宿舍和沿街出租房一并纳入范围,逐小区逐楼栋核清电动自行车保有量、现有充电端口数量以及集中停放场所的面积和消防设施配置状况。排查工作由住房和城乡建设部门牵头,公安、消防救援、市场监管和供电单位派员参加……
这篇的 12 项参数全部落在语料区间内(这批范文里唯一一篇无区间外项):句长 45.0,顿号密度 21.9‰,三级标题 11 个——这是工作方案的身份证参数,唯一大量用 1. 的文种。正文里的 【待补:xx】 是刻意留的坑,不是没写完。 那几处是该填本地数字的地方,语料统计发现 60%-72% 的真实公文完全不用百分比,不掌握真实数据时靠逻辑深度撑起文章是可行的,所以这个 skill 遇到无法核实的数字一律占位、绝不编造。
案例二 · 调研报告(分析上行文)
题目: 就本市制造业"人工智能+"应用情况写一份调研报告。(完整篇见 示例/调研报告_制造业人工智能应用情况调研报告.md)
一、改造已经起步,热度却集中在头部企业
(一)少数龙头企业跑出了可复制的样子。……这家企业的做法有两点值得注意。一是起点选在工序单一、判定标准清晰、样本容易积累的环节,没有从工艺路线最长、异常最多的总装环节切入;二是把设备供应商的工程师留在厂里三个月,直到本厂技术员能自己改判定阈值、自己补样本、自己处理误报,才让人走。
(三)县域企业启动的少,报上来的项目还有名不副实的。……座谈时,一位县工信局的同志说得直白:"上面要我们报智能工厂和智能车间的数量,报了才有分。报上去的那几家,有两家其实就是在车间装了几个摄像头,接了个看板。"
同是公文,调研报告和工作方案的手感完全不同:一级标题从工作方案的 4-8 字业务标签,变成 17-21 字、"判断+转折"的双分句(承载观点);"一是二是"用了 12 次,这是它最密的段内分层方式;还带企业主和县工信局同志的原话。这些差异不是风格偏好,是语料统计出来的文种指纹——写调研报告用工作方案的短标题,参数上就是文种错位。
案例三 · 党建经验材料(另一个文体族)
题目: 写一篇国企党建经验材料,讲党建怎么产生经营成效。(完整篇见 示例/党建经验材料_把组织优势转化为发展胜势.md)
把组织优势转化为发展胜势 "四链联动"激活国企红色引擎
国有企业的党建工作,最怕的是与生产经营"两张皮",党建活动热热闹闹、经营指标却不见起色,党员在会议室里是先锋、到了生产一线就没了身影。近年来,【待补:公司名】党委……探索出思想链、责任链、攻坚链、安全链"四链联动"的融合路径。
拧紧责任链,把党建考核硬挂到经营指标上。……"过去总觉得党建是软指标、可以往后放一放,如今连乘一算,谁也不敢再往后放了。"生产一线党支部书记田志远的这句话,道出了考核指挥棒调转方向之后一线党员心气的实实在在变化。
这属于另一个文体族。它跟前两篇的差异是断崖式的:篇幅只有千字出头,零一级标题,靠"拧紧责任链"这样的段首动宾提领句分层,通篇挂着职工原话(长引语是这一族的正向指纹)。判族只看篇幅和一级标题两项——千字材料一旦加上多个一级标题,就变成了压缩版公文,参数全乱。
自检脚本只把一类东西判为错误:硬冲突,也就是文种识别错误,比如给工作方案写出了调研报告的层级结构。其余参数偏离仅作提示。原因是真实优秀作品个体差异极大:调研报告的"一是二是"从 0 到 20 次都有,四分之一的作品完全不用;语料中场面写得最好的几篇逐篇跑自检,没有一篇全项落在常见区间内。好文章不整齐,整齐的往往是平庸作品,所以脚本不拿均值当合格线。
研究过程
参数来自 102 万字真实公文的全量统计,不是经验归纳。
先检验流行认知,多数不成立。 市面上的公文写作工具走的是同一条路:给模板、给套话清单,开头"根据……为……",结尾"请遵照执行"。对照真实优秀公文一项项测,这些假设大多站不住:
| 常见假设 | 全量数据 |
|---|---|
| 公文开头都用"根据……""为……" | 依据式仅 6-8%,占比最高的策略也只有 16%,无单一主导 |
| 结尾必须用程式化结语 | 75%-87% 是自然收束,"请遵照执行"类出现率不足 2% |
| 好公文要有数据支撑 | 60%-72% 完全不用百分比;经验总结 100%、工作方案 80%、调研报告 51% 零百分比 |
| 一级标题应简短标示内容 | 分析类文件标题平均 17 字、承载观点,短标题只属于业务类文件 |
| "必须/应当"体现文件力度 | 密度仅 0.56-0.58‰,一篇 3,000 字公文只有 1-2 个 |
反转在于,模板化的"公文套路"其实是低分公文的特征。真正稳定的共性在语言构造层:平均句长 53-56 字(自媒体的 2-3 倍)、长句占比近半、顿号密度每千字 14-31 个(自媒体的 4-5 倍)。公文靠"A、B、C、D"式并列枚举撑起长句,这是它最强的语言指纹。文种之间的差异也大到可作判据:"一是二是"在工作意见与调研报告之间差 6 倍,大量使用三级标题的文种只有工作方案一个。
统计里踩过的坑没有抹掉,留在文档里。 用正则提取特征,匹配字面而不解析语义,是整条方法链最弱的一环。有五项统计因词表缺陷被独立复核推翻,比如"数字命名法"因量词污染从 84% 修正到 60%,"群众归因"从 30% 修正到 9%。它们的共同结构是算子覆盖范围宽于规则定义,而频率数字本身不提示这一落差。由此立的规矩:任何覆盖率超过 80% 的关键词统计都先当作被污染,逐条检查命中项再采信。
范文也返过工。 第一批十篇范文,逐轮回查后发现没有一篇是真正读完语料才写的——都是取回原文切前 700-1,200 字、正则抽一遍标题就动笔,拿到的只有骨架,场面和结尾一次没进过视野。审计后六篇重写、四篇经比对判定缺陷不成立而保留。完整记录见 示例/README.md。
已知的局限。 语料因版权全部移除、不随 skill 分发,频率数值第三方无法直接复核,这是实质缺陷。工作方案(10 篇)、经验总结(8 篇)样本偏薄,参数仅供参考。参数解决"像不像",管不了"对不对"——内容是否站得住、政治表述是否得体,参数无法验收,涉密与对外口径须经本单位核稿人终审。
如何使用
推荐直接在 Moxt 里用:长文的反复读取与逐句改写正需要工作空间的上下文能力。也可安装到本地:
git clone <this-repo> ~/.claude/skills/lieflat-gongwen
或把整个目录放进你的 agent 的 skills 目录。核心能力零依赖,自检脚本只用 Python 标准库。
SKILL.md 定义了六步工作流,关键是第 3 步:
1 判文体族 → 判文种 → 定参数行
2 读对应文种的骨架公式
3 读同文种的 DNA 文档 + 范文 ← 不可跳过
4 出骨架,停下等确认
5 按参数写正文
6 跑自检,按报告修正
第 3 步是这个 skill 与模板类工具的分野。抽象参数说不清"并列成分怎么堆""过渡句放在哪",看一篇真的比读十条规则有效。真样本原文不随包分发(版权),替代物是 公文语料/、党建语料/ 的 DNA 文档和 示例/ 的 22 篇合成范文——合成范文只能借结构和节奏,不能借内容。
目录结构:
SKILL.md 入口:路由 + 六步流程 + 输出契约
参数卡.md 每次必读,七文体参数一页表
标题技法库.md 九种技法 × 四类文本的浓度梯度
句子对照库.md 八文种句子级对照
scripts/check_params.py 数值自检器
scripts/strip_meta.py 语料数值化脚本(剥离逐字原文字段)
公文语料/ 四份 DNA 文档 + _meta 数值统计(无逐字原文)
党建语料/ 三份 DNA 文档(含当代党建话语词表)+ _meta 数值统计
示例/ 22 篇合成范文 + 返工审计
参数 参数卡.md · 规则集 SKILL.md · 自检器 scripts/check_params.py · 范文与审计 示例/
许可 PolyForm Noncommercial 1.0.0(非商业使用)
本项目仅允许非商业用途使用、修改与再发布。个人研究、学习、实验、教育机构、公共研究机构和政府机构等用途属于许可允许的非商业用途。未经单独书面许可,不得售卖本项目,不得将其用于付费写作或咨询服务,不得集成到商业产品或商业服务中。再发布或改编时请一并提供本许可证或许可证链接。
这是一个“源代码可见、非商业使用”的项目,不是 OSI 意义上的开放源代码软件。商业使用请先联系作者获取单独授权。

有疑问、有建议、想分享自己的实践?欢迎加入我们的微信群交流



