← Back
larashero3-dotcom

larashero3-dotcom/lieflat-gongwen

通过102万字语料提炼的公文写作 skill,把公文写作风格变成可测量、可验收的量化数据

View on GitHub ↗
Stars
1.2K
Forks
182
Watchers
1.2K
Open issues
0
Contributors
3
Language
Python
License
Other
Default branch
main
Created Sep 2, 2026Updated Sep 5, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

公文写作 DNA

公文写作 skill:通过 102 万字语料提炼,把公文写作风格变成可测量、可验收的量化数据

通过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 意义上的开放源代码软件。商业使用请先联系作者获取单独授权。


Made on Moxt · moxt.ai