Skip to content
cccskills
FreePublished on GitHub

gongwen-kit

中文公文(党政机关、央国企场景)Word 生成、修复与合规机检:按 GB/T 9704 生成标准 .docx——通知、报告、请示、函、纪要、管理办法等,含红头、发文字号、版记;出稿自动机检(体例、数字、文风);现成 .docx 按国标修复,版式直接改、体例写成修订痕迹、数字只插批注。

不适用于合同、简历、普通商务报告等非公文的 Word 文档。

Use when creating, fixing, formatting, or machine-checking Chinese official documents (gongwen) as Word files; not for general Word documents.

The English summary is being prepared. Showing the original description.

imhuhe/gongwen-kit36 stars(GitHub 36 + cccskills 0)
Works withWord

Run score Not tested

See how to install

Files included (79)

  • SKILL.md7.5 KB
  • .github/workflows/ci.yml420 B
  • .gitignore39 B
  • AGENTS.md528 B
  • agents/openai.yaml204 B
  • assets/banner.png144.1 KB
  • assets/compare.png875.7 KB
  • assets/full.png485.6 KB
  • assets/qiye.png155.4 KB
  • assets/samples.png355.5 KB
  • assets/src/banner.html4.4 KB
  • assets/src/compare.html9.8 KB
  • assets/src/README.md1.0 KB
  • assets/src/social.html4.5 KB
  • bin/gongwen.js3.5 KB
  • CHANGELOG.md2.2 KB
  • checks/check-doc.js21.3 KB
  • checks/check-num.js22.2 KB
  • checks/check-style.js3.3 KB
  • checks/style-scan.js7.1 KB
  • data/style-words.tsv3.5 KB
  • data/yixingci.tsv6.2 KB
  • docs/依据.md1.8 KB
  • docs/修复.md9.6 KB
  • docs/发布.md2.2 KB
  • docs/字体.md3.3 KB
  • docs/文风.md3.0 KB
  • docs/样张/企业内部报告.pdf59.9 KB
  • docs/样张/公文信函.pdf49.7 KB
  • docs/样张/公文管理办法.pdf55.9 KB
  • docs/样张/公文纪要.pdf46.5 KB
  • docs/样张/公文要素全览.pdf88.1 KB
  • docs/样张/公文请示.pdf62.3 KB
  • docs/样张/公文通知.pdf51.9 KB
  • docs/版式.md6.4 KB
  • lib/banji.js5.3 KB
  • lib/doc-integrity.js4.8 KB
  • lib/docx-normalize.js2.7 KB
  • lib/fix/classify.js4.4 KB
  • lib/fix/comments.js4.7 KB
  • lib/fix/layout.js23.8 KB
  • lib/fix/ooxml.js4.4 KB
  • lib/fix/revisions.js1.1 KB
  • lib/fix/runs.js7.5 KB
  • lib/fix/semantic.js12.7 KB
  • lib/fix/text-rules.js7.8 KB
  • lib/gongwen-core.js25.7 KB
  • lib/letterhead.js12.0 KB
  • lib/run-checks.js3.5 KB
  • lib/styles.js14.3 KB
  • lib/table-read.js2.7 KB
  • lib/text-guard.js1.7 KB
  • lib/xinhan.js7.1 KB
  • LICENSE1.0 KB
  • package-lock.json7.9 KB
  • package.json448 B
  • README.md15.6 KB
  • templates/complete.js5.3 KB
  • templates/gongwen-guanli.js3.3 KB
  • templates/gongwen-qingshi.js3.8 KB
  • templates/jiyao.js2.4 KB
  • templates/notice.js2.6 KB
  • templates/qiye.js3.0 KB
  • templates/xinhan.js2.3 KB
  • tests/bin.js5.6 KB
  • tests/check-rules.js12.1 KB
  • tests/fix.js33.2 KB
  • tests/messy-docx.js8.5 KB
  • tests/negative.js10.5 KB
  • tests/pack.js5.2 KB
  • tests/run.sh792 B
  • tests/skill-frontmatter.js3.2 KB
  • tools/check-pdf.py7.7 KB
  • tools/fix-doc.js16.5 KB
  • tools/measure-banji.py1.8 KB
  • tools/measure-letterhead.py3.6 KB
  • tools/measure-xinhan.py4.1 KB
  • tools/new-doc.js3.0 KB
  • tools/pack-offline.js5.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

gongwen-kit

什么时候用它

用户要起草、生成或检查中文公文(通知、请示、报告、函、纪要、管理办法、条例等) 的 Word(.docx)文件时。

不用它的情形:合同、简历、普通商务报告、PPT、Excel 等非公文,用通用的 Office 或 Word skill。 同时装了通用 Word skill 时,中文公文一律走本 skill:国标版式和数字机检只在这里, 不要用通用 skill 重做版式,也不要先用通用 skill 出稿再来套格式。

先定位工具包

本文件所在的目录就是工具包目录,下文记作 $KIT。你的工作目录通常是用户的项目,不是 $KIT, 所以命令里不要写相对路径。统一用入口脚本,它从任何目录都能调。

$KIT 只是本文的记号,不是环境变量。 执行命令前先把它换成 SKILL.md 所在目录的绝对路径 (取你加载这个 skill 时看到的路径),每条命令都写完整,不要依赖上一条命令里设过的变量。例如 SKILL.md 在 /Users/me/.agents/skills/gongwen-kit/ 时:

node "/Users/me/.agents/skills/gongwen-kit/bin/gongwen.js" where   # 打印工具包目录,用来确认路径对不对

找不到这个目录就问用户,不要猜。下文 templates/、docs/ 的相对路径都指 $KIT 下面。

工作流

  1. 起稿源脚本:node "$KIT/bin/gongwen.js" new --form wen --out 稿子.js (行文体 wen;条文体/办法条例 zhang);或照 templates/ 里最近的一份改。
  2. 写正文:只调构件——letterhead、title、zhusong、p、h1~h4、 table、luokuan、fujian、fuzhu、fujianPage、banji。不手拼 docx 元素、不写 new Paragraph。 长标题按意群分两行给 title(["上行", "下行"]);标题与正文都不加空格缩进(样式给)。 所有构件的用法一页看全:templates/complete.js。
  3. 出稿:node 稿子.js。写盘后自动跑三道机检(体例、数字、文风)—— 输出全绿才算过,非零退出就去改,别改检查。数字机检分两档:「计数与列举」 (「以下三点」与实际条数)等拦截项必须改;「提示」开头的正文取值对照不拦稿, 核对后属实就改,不属实(不同主语、不同口径)就留着,不必为消提示改写原文。 同一份稿子最多改三轮。 三轮后仍有拦稿命中,停下,把机检输出原样交给用户, 说明哪几条没过、为什么没能改掉,不要再试。 要逐条的结构化结果时用 check --json(退出码与 status 一致:0、1、2),看 status:pass 全过;hit 有拦稿命中, blocking 为 true 的必须改,为 false 的只是提示;fault 是工具故障,不是稿子的问题, 先修环境,不要改稿子。
  4. 交付:.docx 给用户;要 PDF 就在 Word 里导出,再按需跑 node "$KIT/bin/gongwen.js" pdf 导出件.pdf 核字体与版面(需要 PyMuPDF;缺它时退出码 2)。

只想体检、不改文件时:node "$KIT/bin/gongwen.js" check 稿子.docx --strict,体例、数字、文风三道依次跑完。

用户给的是现成的 .docx(手写稿、旧模板、别人发来的)要改格式时,不重写,走修复: 先 node "$KIT/bin/gongwen.js" fix 稿子.docx --dry-run 看报告,确认后再 node "$KIT/bin/gongwen.js" fix 稿子.docx 写「稿子-修订.docx」,原文件不动。 版式直接改(只改正文/层次标题/标题/页码;表题、附件页、版记、纪要名单、份号密级、红头、 表格、文本框保持原格式);体例写成修订痕迹由用户逐条接受或拒绝;数字问题只插批注,不替用户改数。 信函/纪要被识别后自动跳过通用版式(要强制用 --layout);条文体按章小标宋、条仿宋处理。 自家出稿带 gongwen-kit 标记时,fix 把版式修复结果与输入做语义比对;完全相同才跳过,样式层、页脚或直接格式改乱都照常重排。 不要对要交付的稿子直接接受全部修订;把终端报告转述给用户,提醒在 Word「审阅」里过一遍。 细则见 docs/修复.md。

公文要素速查(GB/T 9704—2012)

  • 要素顺序:版头(份号/密级和保密期限/紧急程度/发文机关标志/发文字号/签发人/ 红色分隔线)→ 标题 → 主送机关 → 正文 → 附件说明 → 发文机关署名和成文日期 → 附注 → 版记
  • 层次序数四层,h1~h4 自动编号:一、/(一)/1./(1)
  • 成文日期用阿拉伯数字标全;月、日不编虚位(10 月 5 日,不是 05)
  • 发文字号:机关代字〔年份〕序号号;顺序号不加「第」字、不编虚位
  • 主送机关顶格、末尾全角冒号;正文每段左空二字
  • 上行文(请示、上报的报告):给 letterhead 传 signers,发文字号自动到左侧、 与最后一个签发人同排
  • 信函格式(函,GB/T 9704 10.1):节属性用 xinhanSection({ agency }) 代替 sectionProps(),正文开头用 xinhanHead({ docNo, copyNo, secret, urgency }) 代替 letterhead;版记用 banji({ letter: true, copyTo })(只留抄送)。照 templates/xinhan.js
  • 纪要格式(GB/T 9704 10.3):版头用 jiyaoHead({ mark: "×××纪要", issue: "〔2026〕第 1 期" }) 代替 letterhead;正文后接 attendees([["出席", "…"], ["请假", "…"], ["列席", "…"]])。 照 templates/jiyao.js
  • 不要红头的(企业内部报告、请示、工作方案,央国企日常多是这种):不接 letterhead, 从 title 起,标题可带单位名;版心与其余要素不变。照 templates/qiye.js
  • 红头分「数字红头」(直接绘制)与「预印套打」(preprinted: true 只留空位)
  • 需要抄送与印发信息时接 banji({ copyTo, issuer, date });附件说明用 fujian([...])(多个自动编号),成文日期之后的括注用 fuzhu("(……)")
  • 附件另面编排:附件页接在落款、附注之后、版记之前,用 fujianPage({ n, title, body })(标记顶格三号黑体、标题第三行居中、页码连续; 单附件不编顺序号;不与正文一起装订的传 detached: "×发〔2026〕1号")
  • 落款:加盖印章形态下,成文日期右空四字,单一机关署名以日期为准居中;联合行文各署名右空四字; 无公章的传 luokuan({ ..., sealed: false })
  • 结尾用语:请示用「妥否,请批示」,报告用「特此报告」
  • 上手就照 templates/complete.js(全构件)与 templates/notice.js(真实场景); 改版式之前先读 docs/版式.md——校准值与坑都在那里

边界

不做内容与政治表述校对(判断和责任归写稿人);不做 OFD、印章图像、流转审批。 详见 README「边界」一节。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Report a problem with this skill