gongwen-data

为公文整理数据、出图表,包括报表体检(空值、合并单元格、合计校验、单位和时段口径冲突),汇总下级报表,计算同比、环比、增速、百分点、占比、拉动、完成率、平均值并附算式,把数据写成能直接进公文的句子,在本机生成黑白灰 Excel 图表,数据不出本机,缺的数标【待补】。用户说合并科室月报、汇总下面报的表、查查合计对不对、算同比环比、百分点怎么写、这组数写成一段话、做个柱状图折线图时使用。整篇总结和分析

SKILL.md

GitHub

数据整理与图表(gongwen-data)

本 skill 为写材料理数据、出图。每个结果附算式,正文每个数都能在计算底稿里找到原样写法;缺的数标【待补】,口径对不上的不悄悄合并。

适用范围

  • 适用:
    1. 报表体检:空值占位符、文本型数字、合并单元格、合计小计校验、单位时段口径不一致、重复行、个人信息。
    2. 多表合并:汇总科室、下级单位、子公司报来的同类报表。
    3. 指标计算:增减量、同比、环比、增速、百分点、占比、拉动、贡献率、完成率和时间进度、倍数、年均增速、平均值。
    4. 数据转文字:写成能直接放进总结、汇报、分析报告的句段。
    5. 公文图表:柱状、条形、折线、饼图、堆积图,黑白灰。
  • 不适用(转交):
用户要的 转给
写整篇总结、汇报材料、调研报告;汇总文字材料 gongwen-report
行业专用文书全文,如医疗质量分析报告、经营分析报告 装有行业包时交对应行业包(gongwen-hospital、gongwen-soe 等);未安装的交 gongwen-report
政务信息、简报全文 gongwen-brief
已成稿件里的数字、百分点、前后一致核查 gongwen-review
整改台账、任务分解表、督办清单转 Excel gongwen-rectify、gongwen-implement、gongwen-minutes
把表格和图排进国标 Word gongwen-format

用户要整篇稿子的,先交数据段落、计算底稿和图表,再转交。统计表要写进调研报告等整篇材料的,除逐行数据外,给出汇总数、平均值等派生数,分母口径写清(如“有数据的6个村平均2.4万元”)。能调用其他 skill 的环境直接调用;未安装或在网页环境的,按 references/_shared/style/output-format.md 第四部分转交:给交接卡、“新开对话粘贴 dist/prompts/<skill 名>.md 继续”的说明和安装命令。其余回复不写 skill 名,用描述性说法。

开工检查

  1. 保密(references/_shared/guardrails.md 第一条):
    • 有 Python 时,先运行 python scripts/secret_check.py <文件> 查保密标识(含页眉页脚),命中即停。
    • 表格有敏感信号时才在起草说明末提示一句,同一会话只说一次。
    • 文件、工作表、表头前、表注或单元格带密级标识或“内部资料”“工作秘密”“不得外传”等内部标注的,立即停止,不读数、不复述,告知涉密信息不得输入联网 AI 工具,列出可继续的三种情形,等用户说明。表中只是出现“保密工作经费”之类项目名称的照常处理。
    • 明细中有姓名、身份证号、手机号、病案号、住院号、学号、银行卡号、家庭住址的,提醒脱敏;只用汇总数,输出写“张某”“138****0000”(脚本输出已脱敏),“保密提示”写明。未公开的经营数据、统计数据、考核排名,提醒不进对外材料。
  2. 数据不出本机:只用 scripts/ 下脚本和本机 Excel、WPS,不用在线图表网站、在线表格转换工具和远程渲染的图表插件。
  3. 单位画像:先读 .gongwen/单位画像.md,没有再找 ~/.gongwen/单位画像.md,用户粘贴的按粘贴内容;再读 references/units.md 对应小节。角色模式按 references/_shared/profiles/roles.md 第一节确定,差异见“角色适配”;无画像时按该文件第九节降级,单位类型能从表格判断的不问。
  4. 交接卡:用户贴了交接卡的(网页和 Agent 环境一样),按卡上的画像、模式、任务、本站和已确认事项开工,已有的不再问(references/_shared/style/output-format.md 第四部分)。
  5. 定任务:完整链条是“体检→合并→计算→转文字→出图”,用户只要一段的只做那段;凡引用表中的数,先体检,至少核合计和单位。
  6. 首轮交付(references/_shared/profiles/roles.md 第十节):有数据就一次交付体检结果、底稿、正文和图表,口径冲突处正文用最可靠的写法(如明细相加数)并注明口径,不等确认;用户说“直接做”“别问了”或高效模式的,不提问,疑点只进待补、待核实;其余模式提问不超过 3 个,放回复末尾。
  7. 用户要“把数调得好看点”、补表里没有的数、改原始数据凑考核目标的,说明不能这样做(references/_shared/guardrails.md 第二条、第六条),其余照常。

工作流程

第一步 登记数据

  1. 给每张表编号(表A、表B……),登记文件或工作表、报送单位、统计时段、计量单位、口径说明、数据来源系统,作为计算底稿的材料清单。
  2. 提问只问业务口径,取舍顺序:统计时段 → 对比基期(同比还是环比、和哪年比)→ 计量单位或统计范围。表头、表注、文件名能看出的不问,“直接做”的不问。没问清的先取默认值做完并写进“假设”。
  3. 用户没给任何数(如“帮我写一段今年的数据”)的不编数,交数据收集清单(指标、时段、基期、取数处)和带【待补】的句式,如“1—9月,全院出院【待补:人次】人次,同比增长【待补:增速】%”。

第二步 报表体检

有 Python 时运行 python scripts/data_tool.py inspect <表格> --json(多个工作表加 --all-sheets),逐条复核,表头前说明(pre_texts)和表注(notes)登记为口径说明;不能运行时按 references/inspect-checklist.md 第二部分人工检查。重点:

查什么 发现后怎么办
带密级、内部标注(DT-SEC-01,P0,脚本已停止) 回到开工检查第1条;经保密管理部门确认或已解密、已删除后才可加 --marking-ok 重跑,不自行添加
合计、小计与明细相加不符(P0),或超出修约容差(P1) 不直接引用表中合计;正文用明细相加数,“待核实”一行写明表中合计
同列单位不一致(P0) 换算统一后再算,换算写进底稿
空值、“—”“/”等占位符 空不等于 0。表注或用户说明了含义的(如“不开展此项”)照说明处理并写进起草说明;没说明的,正文涉及的写【待补:说明】
约数(“约20”“30多”) 不做精确计算,正文照写约数,起草说明请用户核实准确数
比率、平均数列的合计 分子合计除以分母合计重算,不简单平均

表中自带的合计、小计行就是校验和,逐项相加去对,不凭目测。例:18 个街道(乡镇)相加为 4356,表中合计 4382,差 26,列为 P0;正文写“新登记经营主体4356户”,待核实写明表中合计4382户。

体检结果写成体检报告:一行结论加问题清单,格式见 references/inspect-checklist.md 第四部分。

第三步 合并汇总(多张表时)

运行 python scripts/data_tool.py merge <表A> <表B> ... --expect <应报单位名单> --out <汇总表.xlsx> --json;不能运行时按 references/inspect-checklist.md 第三部分人工合并。规则:

  1. 同量纲单位按多数表换算(元换万元÷10000),每次记一条;人与人次、户与人、件与次不换算、不相加。
  2. 时段与多数表不同的表(如1—5月混进1—6月)不计入合计,单列出来请对方重报。
  3. 比率和平均数不相加;缺分子分母的写【待补:分子和分母数据】。
  4. 同一单位报了两次的,确认前不重复相加:正文用只计一次(或不含该单位)的合计并注明口径,待核实一行请确认。应报未报的列入待补,正文写全口径合计时注明“不含……”。
  5. 比不齐的不加总、不取平均、不挑大的,全部进“附:口径冲突表”请用户确认。

第四步 指标计算

按要说明的事选指标,公式和 Excel 写法见 references/calc-sheet.md 第一部分:

要说明的 用
比去年同期多了还是少了 增减量+同比增速
比上个月 环比(只用于相邻两期)
率、占比、增速本身的变化 百分点
某部分在总体中的分量;对总体增长的作用 占比;拉动(百分点)、贡献率
任务进度 完成率+时间进度
多年变化 倍数、年均增速(水平法)
全院、全系统的率或平均数 分子合计÷分母合计
台账、明细按类别统计件数 分类计数和占比

同期对比的数量类指标(含时长、天数、平均数)增减量与增速并写;一句超 3 组数据的拆句,不删增减量。

  1. 有 Python 时用 python scripts/data_tool.py phrase --type <类型> ... --md,按类别计数用 count 子命令,详见 references/scripts.md。脚本提示逐条处理:句子里的【待核实】进正文前删去,写进“待核实”一行;合计不符的,脚本已改用明细相加数,不要改回表中合计;两期口径不同的,改用同口径结果并注明“不含××”。
  2. 不能运行脚本时按 references/calc-sheet.md 第三部分人工演算并反算验证;基期为 0、亏损、两期口径不同等特殊情形按其第二部分。
  3. 所有结果记入计算底稿(references/calc-sheet.md 第四部分);算不了的记入“未计算的项目”并写明原因。

第五步 数据转文字

按 references/_shared/rules/data-expression.md 写。示例的数字和单位均为虚构,不得带入正文。最常错的几条:

  1. 两个百分数相减用“个百分点”;数量变化用百分数。
    • 误:占比由28.6%升至31.0%,提高2.4%。正:提高2.4个百分点。
  2. 先写本期数,再写变化并写基期:“新登记经营主体4356户,同比增长8.3%”。“同比”不与“比上年同期”叠用。
  3. 下降写“下降X%”,不写“负增长”;倍数不用于减少。
  4. 原因只写用户给的,没有就不写“主要得益于……”。
  5. 程度靠数字说明,少用“大幅”“显著”;一句不超过 3 组数据;一段只写一类指标,先总后分;正文不写算式和“据测算”之类过程话。
  6. 数据段落开门见山,不为凑篇幅罗列数据。用户指定字数的,按 references/_shared/guardrails.md 第四条第2款:数据撑不起的,不新增数、不凑数,起草说明一句话说明;缺数标【待补】,不计入字数。

第六步 公文图表

有 Python 时用 python scripts/chart_tool.py <表格> --type <类型> --y <列名> --title <图题> --source <数据来源> --out <文件> 生成 Excel 原生图表(参数见 references/scripts.md 第五部分);同期对比两列都写(如 --y 2026年,2025年),脚本自拼的图题要核对。选图见 references/chart-guide.md:

  1. 比大小用柱状图、条形图(类别多时用条形图并排序);看变化用折线图;看构成用饼图(不超过 6 类)。
  2. 黑白灰,纵轴从 0 开始,不用双坐标轴,不同单位分开出图(references/chart-guide.md 第三部分)。
  3. 图题写时段和指标,纵轴写“单位:……”,图下写“数据来源:……”(没有的写【待补:数据来源】);合计、小计行不入图,空值不画成 0。

不能运行脚本时,起草说明后给“附:图表规格卡”和 Excel、WPS 操作步骤(references/chart-guide.md 第四部分)。

第七步 自检

  1. 底稿对账(必做):正文每个数都要在计算底稿“文字表述”列找到原样写法。有 Python 时运行 python scripts/fact_diff.py 计算底稿.md 正文.txt --ledger,“正文中有、台账中没有”的逐条补进底稿或改为【待补】。
  2. 机检:运行 python scripts/gongwen_lint.py 正文.txt --doc-type <文书类型> --json,文书类型取数据段落要放进的材料(总结、汇报材料、信息等),不清的用“其他”。P0 必改,P1 逐条判断;【待补】报的 P2 保留。
  3. 不能运行脚本时按“自检清单”人工检查,并在“假设”写“未运行脚本,计算和核对为人工完成,请复核”。

第八步 交付

按 references/_shared/style/output-format.md 和本文“输出规范”交付。

  1. 能写文件的:建 公文/<YYYYMMDD>-<简短标题>/,按需写入 正文.txt(数据段落,只含正文)、计算底稿.md、体检报告.md、汇总表和图表。对话中报文件位置、体检结论一句、主要数据一两句,再给【起草说明】,不复述全文;交接卡写入文件,对话里只报位置。
  2. 网页环境:依次输出正文(数据段落)、【起草说明】,正文前不加引导语。起草说明按 references/_shared/style/output-format.md 第二部分,不超过 5 行、每行一句,另有计算说明一行(用了哪些公式,是否运行脚本,表述判断依据);教学模式的写作要点另列“附:写作要点”。之后按需附“附:体检问题清单”“附:口径冲突表”“附:计算底稿”“附:图表规格卡”,不计入 5 行;有计算的,各模式都附计算底稿。
  3. 用户只要体检或合并的,交体检报告(和汇总表),不硬写正文。
  4. 还有下一站的(如交 gongwen-report 成稿),在起草说明之后输出更新后的交接卡,本站产出写“数据段落、计算底稿”(注明已算出的汇总数、平均值及分母口径),不抄原始数据和个人信息;告知用户新开对话,先粘贴下一站的提示词文件,再粘贴交接卡和本站产出。

单位差异

单位类型 口径要点 特别注意
党政机关 对外引用的统计数以统计部门公布的为准;快报数、年报数、预计数分开 未公开统计数、考核排名不进对外材料
基层、社区 人与人次、户与人分清;多部门台账同一件事只计一次 不虚报,不补记台账;居民信息脱敏
公立医院 国家监测指标不自行改变计算方法;全院比率用分子分母合计 患者姓名、病案号、住院号脱敏
高校 学年与自然年分清;与高基报表、状态数据库口径一致 学生个人信息不进明细
中小学 学期与学年分清;达标率、优秀率、平均分用人数重算 义务教育阶段不对学生、班级排名,成绩图不排序
国有企业 金额单位全文统一;与财务快报一致;完成率配时间进度;合并口径与单体口径分开 未披露经营数据属商业秘密

输出规范

  • 正文(数据段落)纯文本,不用 Markdown;数字写法按 references/_shared/rules/gbt15835.md。正文只允许【待补:说明】一种提示,在起草说明汇总,不写【待核实】。
  • 体检报告、口径冲突表、计算底稿、图表规格卡是工作底稿,可用 Markdown 表格。

自检清单

  • 引用表中数据前做了体检,合计逐项相加核过;合计不符的未直接引用。
  • 正文每个数都能在计算底稿找到原样写法;没有材料以外的数和推测的原因。
  • 比率、平均数没相加或简单平均;时段、单位、口径不同的数没合并或比较。
  • 百分点与百分数用对;同比、环比未叠用;下降没写成“负增长”;倍数没用于减少;基期为 0 或负数的没算增速;约数没参与计算。
  • 每个计算结果都有算式;没有运行脚本的已注明人工演算。
  • 用户材料中加引号的指标名称、做法名称和本单位提法原样保留;确需改写的已列入提法核对清单请用户确认。
  • 用户说的“周五”“下周一”等相对日期,已知当天日期的已推算为具体日期并注明;“年底前”等期限原样保留。
  • 用户指定了字数的,篇幅在目标 ±10% 内,或已说明差距。
  • 图表黑白灰,有图题、单位、数据来源,纵轴从 0 开始,无双坐标轴;没用在线图表或远程渲染服务。
  • 没有未脱敏的个人信息;正文没有 Markdown 符号、免责声明和【待核实】;起草说明不超过 5 行,待补、待核实各汇总一行。

角色适配

  • 教学模式:有报表的,体检结果、计算底稿和正文一次交付,口径冲突处正文注明口径;只问一两个数怎么写的,直接给句子和讲解。“附:写作要点”按本次数据涉及的用法各举一处正误对照(百分点、同比环比、倍数、翻番、年均增速等),涉及年均增速的,说明按水平法计算、不是各年增速的简单平均,并说明每个【待补】一般到哪取数(统计报表、业务系统、财务快报)。
  • 高效模式:不提问,一次交付;需要时数据段落给详、简两版。起草说明只写假设、待补、待核实和计算说明,不展开讲解,但每条体检问题和表述判断仍写明问题类型和依据(列入附表);底稿可只列算式和结果两栏。
  • 转译模式:接受原始表格和口头描述;只问统计时段、对比基期、计量单位;体检问题用大白话解释(如“有数字被存成了文字,Excel 加总会漏掉”);底稿完整列出算式。
  • 审稿模式:只出体检报告或数据表述问题清单,每条写位置、问题、依据、建议,不重写全文,是否采用由用户定;整篇稿件核稿转 gongwen-review。
  • 严谨模式:用于对外发布、报上级党组织的数据。底稿为每个数注明出处(报表名称、时段、口径);未确认已公开的数据,“待核实”一行请用户确认是否已对外公布,并附数据出处核对清单。

参考资料

没有文件系统(网页版、内网提示词版)时,读不到的文件按本文和附录执行,不向用户索要。各步骤已写明何时读哪个文件,另外:

文件 何时读取
references/scripts.md 运行脚本前查命令和参数
references/_shared/profiles/units/ 按单位类型补充读取
references/_shared/style/ai-tone.md、references/_shared/style/defensive.md 写数据段落时避开 AI 腔和对冲语气