Not in the top 1,000 by GitHub stars

mizzlelover/gongwen-gbt9704-skill

信息安全提醒:请勿上传企业禁止对外公开的文件;可在本地或企业内网部署大模型后使用。中文公文排版 Skill:按 GB/T 9704-2012 生成可编辑 DOCX。配套 CEB:https://github.com/mizzlelover/CEB

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

6a5e47a9077d → 6a5e47a9077d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 6a5e47a9077d

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 6a5e47a9077d30aa62d6a1cd511bcac6887a7b75

851GitHub stars
15stars in 7 days
1skill in this repository
0commits in 30 days

Heat

4.1
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Sep 6, 2026Nov 6, 2026851

Individual skills in this repository

How it works

gongwen

When your agent uses it

把中文正式材料整理成可直接交付的公文 DOCX:按 GB/T 9704-2012 处理版心、字体、标题层级、文号、页码、附件与版记;普通稿不误用红头,正式发文支持预印红头纸套打或完整电子红头,并保留 Word/WPS 可更新目录。

What it loads into context

Frontmatter

237 tokens

Always available to the agent

SKILL.md

2,219 tokens

When the skill is activated

Reference documents

41,698 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 标准依据与边界
  2. 工具定位
  3. 生成打印稿
  4. 验证
  5. 输出说明

Scripts executed separately

  • scripts/generate_gongwen_docx.mjs
  • scripts/install.ps1
  • scripts/install.sh
  • scripts/verify_gongwen_docx.mjs
  • tests/measure-header-coordinates.mjs
  • tests/run_tests.sh
  • tests/test-install.sh
  • tests/visual-audit.sh

Files

  • LICENSEasset1,068 bytes
  • README.mddoc13,945 bytes
  • SKILL.mdcore7,940 bytes
  • SKILL.mdcore7,940 bytes
  • SKILL.mdcore7,940 bytes
  • SKILL.mdcore7,940 bytes
  • dist/traework-gongwen-skill.zipasset4,570,850 bytes
  • dist/workbuddy-gongwen-skill-v2.0.0.zipasset1,229,336 bytes
  • docs/platform-support.mddoc2,838 bytes
  • marketing/wechat-gongwen-2.0.htmlasset22,236 bytes
  • marketing/x-major-update-images/01-头图.pngasset1,309,905 bytes
  • marketing/x-major-update-images/02-预印红头纸套打.pngasset1,536,175 bytes
  • marketing/x-major-update-images/03-红线与标题留白.pngasset1,573,403 bytes
  • marketing/x-major-update-images/04-标题样式与目录引用.pngasset1,653,947 bytes
  • marketing/x-major-update-images/05-真实环境实测.pngasset1,539,651 bytes
  • marketing/x-major-update-layout-preview.mddoc7,907 bytes
  • marketing/x-major-update.mddoc6,870 bytes
  • marketing/x-promotion.mddoc3,615 bytes
  • marketing/x-v2-release.mddoc4,927 bytes
  • punk-assets/author/wechat-who-is-expert.pngasset169,197 bytes
  • punk-assets/punk-avatar/gongwen-skill-v2/avatar.pngasset148,884 bytes
  • punk-assets/punk-avatar/gongwen-skill-v2/prompts/avatar.mddoc6,387 bytes
  • punk-assets/punk-cover/gongwen-ceb-collaboration/cover.pngasset1,269,373 bytes
  • punk-assets/punk-cover/gongwen-ceb-collaboration/prompts/cover.mddoc7,788 bytes
  • punk-assets/punk-cover/gongwen-redline-x/cover.pngasset1,309,905 bytes
  • punk-assets/punk-cover/gongwen-redline-x/inline-outline.pngasset1,653,947 bytes
  • punk-assets/punk-cover/gongwen-redline-x/inline-preprinted.pngasset1,536,175 bytes
  • punk-assets/punk-cover/gongwen-redline-x/inline-real-world.pngasset1,539,651 bytes
  • punk-assets/punk-cover/gongwen-redline-x/inline-spacing.pngasset1,573,403 bytes
  • punk-assets/punk-cover/gongwen-redline-x/prompts/cover.mddoc3,387 bytes
  • punk-assets/punk-cover/gongwen-redline-x/prompts/inline-outline.mddoc1,540 bytes
  • punk-assets/punk-cover/gongwen-redline-x/prompts/inline-preprinted.mddoc1,611 bytes
  • punk-assets/punk-cover/gongwen-redline-x/prompts/inline-real-world.mddoc1,550 bytes
  • punk-assets/punk-cover/gongwen-redline-x/prompts/inline-spacing.mddoc1,512 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/cover-prompt.mddoc1,539 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/cover.pngasset1,309,594 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-audit-prompt.mddoc943 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-audit.pngasset1,214,017 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-evidence-prompt.mddoc905 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-evidence.pngasset1,684,884 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-redhead-prompt.mddoc1,033 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-redhead.pngasset1,554,980 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-structure-prompt.mddoc964 bytes
  • punk-assets/punk-cover/gongwen-skill-major-update-x/inline-structure.pngasset1,539,715 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/cover.pngasset1,238,458 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/inline-audit-to-layout.pngasset1,753,547 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/inline-heading-structure.pngasset1,838,517 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/inline-preprinted-letterhead.pngasset1,654,189 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/prompts/cover.mddoc2,352 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/prompts/inline-audit-to-layout.mddoc1,033 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/prompts/inline-heading-structure.mddoc947 bytes
  • punk-assets/punk-cover/gongwen-skill-v2-x/prompts/inline-preprinted-letterhead.mddoc1,163 bytes
  • punk-assets/punk-cover/gongwen-skill-x/cover.pngasset1,098,981 bytes
  • punk-assets/punk-cover/gongwen-skill-x/inline-ai-to-word.pngasset1,732,092 bytes
  • punk-assets/punk-cover/gongwen-skill-x/inline-font-compatibility.pngasset1,371,342 bytes
  • punk-assets/punk-cover/gongwen-skill-x/inline-one-source-many-tools.pngasset1,370,225 bytes
  • punk-assets/punk-cover/gongwen-skill-x/inline-standard-to-layout.pngasset2,106,111 bytes
  • punk-assets/punk-cover/gongwen-skill-x/prompts/cover.mddoc2,659 bytes
  • punk-assets/punk-cover/gongwen-skill-x/prompts/inline-ai-to-word.mddoc998 bytes
  • punk-assets/punk-cover/gongwen-skill-x/prompts/inline-font-compatibility.mddoc972 bytes
  • punk-assets/punk-cover/gongwen-skill-x/prompts/inline-one-source-many-tools.mddoc970 bytes
  • punk-assets/punk-cover/gongwen-skill-x/prompts/inline-standard-to-layout.mddoc1,050 bytes
  • references/assets/visual-audit/all-pages.pngasset719,220 bytes
  • references/assets/visual-audit/all-rules/command-1.pngasset169,778 bytes
  • references/assets/visual-audit/all-rules/command-2.pngasset42,115 bytes
  • references/assets/visual-audit/all-rules/contact-sheet.pngasset339,288 bytes
  • references/assets/visual-audit/all-rules/formal-attachments-3.pngasset59,167 bytes
  • references/assets/visual-audit/all-rules/formal-attachments-4.pngasset41,879 bytes
  • references/assets/visual-audit/all-rules/formal-attachments-detached-3.pngasset66,519 bytes
  • references/assets/visual-audit/all-rules/formal-digital-all-1.pngasset160,645 bytes
  • references/assets/visual-audit/all-rules/formal-digital-all-2.pngasset112,689 bytes
  • references/assets/visual-audit/all-rules/formal-digital-upward-1.pngasset155,376 bytes
  • references/assets/visual-audit/all-rules/formal-digital-upward-2.pngasset68,016 bytes
  • references/assets/visual-audit/all-rules/formal-joint-1.pngasset119,640 bytes
  • references/assets/visual-audit/all-rules/formal-joint-2.pngasset112,914 bytes
  • references/assets/visual-audit/all-rules/formal-long-2.pngasset367,703 bytes
  • references/assets/visual-audit/all-rules/formal-long-3.pngasset277,162 bytes
  • references/assets/visual-audit/all-rules/formal-preprinted-1.pngasset150,253 bytes
  • references/assets/visual-audit/all-rules/formal-preprinted-2.pngasset68,016 bytes
  • references/assets/visual-audit/all-rules/formal-seal-2.pngasset19,219 bytes
  • references/assets/visual-audit/all-rules/formal-signed-2.pngasset21,384 bytes
  • references/assets/visual-audit/all-rules/formal-unsigned-1.pngasset190,625 bytes
  • references/assets/visual-audit/all-rules/formal-unsigned-2.pngasset19,238 bytes
  • references/assets/visual-audit/all-rules/header-coordinates.logasset107 bytes
  • references/assets/visual-audit/all-rules/horizontal-table-1.pngasset46,922 bytes
  • references/assets/visual-audit/all-rules/letter-1.pngasset200,462 bytes
  • references/assets/visual-audit/all-rules/letter-fields-1.pngasset181,409 bytes
  • references/assets/visual-audit/all-rules/manifest.tsvasset2,205 bytes
  • references/assets/visual-audit/all-rules/minutes-1.pngasset197,585 bytes
  • references/assets/visual-audit/all-rules/minutes-2.pngasset40,104 bytes
  • references/assets/visual-audit/all-rules/ordinary-1.pngasset194,718 bytes
  • references/assets/visual-audit/all-rules/ordinary-calibration-1.pngasset243,843 bytes
  • references/assets/visual-audit/all-rules/table-1.pngasset51,516 bytes
  • references/assets/visual-audit/first-pages.pngasset430,839 bytes
  • references/assets/visual-audit/header-coordinates.logasset107 bytes
  • references/assets/visual-audit/long-pages-colophon.pngasset269,093 bytes
  • references/formal-checklist.mddoc7,669 bytes
  • references/gbt9704-2012-summary.mddoc11,590 bytes
  • references/gbt9704-audit-matrix.mddoc10,827 bytes
  • references/gbt9704-screenshot-evidence.mddoc18,767 bytes
  • references/gbt9704-visual-audit.mddoc13,937 bytes
  • scripts/generate_gongwen_docx.mjsruns59,033 bytes
  • scripts/install.ps1runs1,561 bytes
  • scripts/install.shruns2,848 bytes
  • scripts/verify_gongwen_docx.mjsruns19,368 bytes
  • tests/fixture.mddoc314 bytes
  • tests/fixtures/visual-all.mddoc637 bytes
  • tests/fixtures/visual-attachment-a.mddoc182 bytes
  • tests/fixtures/visual-attachment-b.mddoc98 bytes
  • tests/fixtures/visual-calibration.mddoc1,891 bytes
  • tests/fixtures/visual-horizontal.mddoc124 bytes
  • tests/fixtures/visual-long.mddoc2,886 bytes
  • tests/measure-header-coordinates.mjsruns4,043 bytes
  • tests/run_tests.shruns17,008 bytes
  • tests/test-install.shruns948 bytes
  • tests/visual-audit.shruns7,333 bytes
Read SKILL.md

# 公文版式工具

## 标准依据与边界

GB/T 9704-2012《党政机关公文格式》现行,2025-05-30 复审继续有效。其适用于党政机关制发公文;其他机关、单位可以参照执行。

先读 `references/gbt9704-2012-summary.md`;需要逐项复核时再读 `references/gbt9704-audit-matrix.md` 和 `references/formal-checklist.md`。标准规定纸张、版面、要素编排和印制装订要求。

## 工具定位

本工具只处理排版,不判断单位身份、授权状态或后续盖章方式。它会根据用户明确选择的版式模式应用对应的排版规则,不因“正式”“国企”“报告”或仅提供机构名称而擅自使用红头。

生成器可输出 A4、156mm×225mm 版心、三号仿宋正文、小标宋二号标题、四级标题层次、两字缩进,以及居中或单双页页码。四级标题均写入 Word/WPS 标题样式和大纲级别,便于后续插入、更新目录;文章总标题使用独立“公文标题”样式,不进入目录。上行文的文号和签发人在同一行编排,左右各空一字;信函、命令(令)、纪要和横排表格使用各自专用版式;电子联合行文可重复传入 `--joint-org`;主办机关在前,联署机关名称分行排列;输入含“文件”时将“文件”置右并按联署名称上下居中;分离装订附件可加 `--attachment-detached`;重复传入 `--attachment-file` 时必须同时提供与附件顺序、标题一致的 `--attachment-note`,附件会另页生成并保持页码连续。版记会锚定最后一页版心底部,正式页码按版心下边缘下7mm的位置生成。正式版头的份号、密级、紧急程度和电子机关标志以版心上边缘为垂直锚点固定定位,不会因为左上字段而把机关标志或预印红头留白向下推移。只有传入密级而未传入份号时,首行会保留空位,密级仍从第二行开始。
View the complete source on GitHub

Skills included

  • gongwen

Repository facts

License
MIT
Created
Sep 9, 2026
Last pushed
Sep 13, 2026
Forks
156
Open issues
1
Project activity
Active

Rank over the last 12 weeks

Now #1,000 · best #769 · down 209 in 30 days

  1. #809 on Oct 24
  2. #985 on Oct 25
  3. #991 on Oct 28
  4. #994 from Oct 29 to Oct 30
  5. #999 on Oct 31
  6. #1,000 since Nov 1
46 earlier periods
  1. #928 on Sep 6
  2. #946 on Sep 9
  3. #918 on Sep 10
  4. #865 on Sep 11
  5. #852 on Sep 12
  6. #844 on Sep 13
  7. #869 on Sep 14
  8. #847 on Sep 15
  9. #858 on Sep 16
  10. #847 on Sep 17
  11. #824 on Sep 18
  12. #798 on Sep 19
  13. #812 on Sep 20
  14. #822 on Sep 21
  15. #846 on Sep 22
  16. #831 on Sep 23
  17. #797 on Sep 24
  18. #769 on Sep 25
  19. #777 on Sep 26
  20. #804 on Sep 27
  21. #824 on Sep 28
  22. #850 on Sep 29
  23. #828 on Sep 30
  24. #779 on Oct 1
  25. #791 on Oct 2
  26. #775 on Oct 3
  27. #803 on Oct 4
  28. #815 on Oct 5
  29. #814 on Oct 6
  30. #833 on Oct 7
  31. #870 on Oct 8
  32. #837 on Oct 9
  33. #815 on Oct 10
  34. #812 on Oct 11
  35. #829 on Oct 12
  36. #831 on Oct 13
  37. #846 on Oct 14
  38. #828 on Oct 15
  39. #837 on Oct 16
  40. #810 on Oct 17
  41. #797 on Oct 18
  42. #839 on Oct 19
  43. #851 on Oct 20
  44. #864 on Oct 21
  45. #839 on Oct 22
  46. #850 on Oct 23

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 3 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 114 signals by file

README.md

  • Network accessline 8
    > **配套工具:** [CEB 文件转换](https://github.com/mizzlelover/CEB) 负责把已验证的 Founder CEB 文件转换为 PDF、Markdown、TXT;[公文排版](https://github.com/mizzlelover/gongwen-gbt9704-skill) 负责把中文正式材料整理成符合 GB/T 9704-2012 的可编辑 DOCX。两个 Skill 可以连成一条“读取 → 整理 → 交付”的工作流。
  • Network accessline 60
    https://github.com/mizzlelover/gongwen-gbt9704-skill
  • Network accessline 64
    https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p
  • Network accessline 76
    - 小红书:[谁是专家](https://www.xiaohongshu.com/user/profile/64dd6c680000000001011d25)
  • Network accessline 77
    - X:[谁是专家](https://x.com/dboy_yi2025)
  • Network accessline 100
    GB/T 9704-2012 当前为现行标准,2025-05-30 复审继续有效。标准适用于党政机关制发公文,其他机关和单位可以参照执行。[全国标准信息公共服务平台](https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p)

docs/platform-support.md

  • Network accessline 23
    git clone https://github.com/mizzlelover/gongwen-gbt9704-skill.git
  • Network accessline 33
    git clone https://github.com/mizzlelover/gongwen-gbt9704-skill.git
  • Network accessline 42
    - [Claude Code Skills](https://docs.anthropic.com/en/docs/claude-code/skills)
  • Network accessline 43
    - [OpenCode Agent Skills](https://opencode.ai/docs/skills)
  • Network accessline 44
    - [Trae Code 技能](https://docs.trae.cn/ide_skills) 与 [Trae CLI 技能](https://docs.trae.cn/cli_skills)
  • Network accessline 45
    - [Kimi Code CLI Agent Skills](https://moonshotai.github.io/kimi-cli/en/customization/skills)
  • Network accessline 46
    - [ZCode Skills](https://zcode.z.ai/en/docs/skill)
  • Network accessline 47
    - [TraeWork 企业技能](https://docs.trae.cn/enterprise_skills)

marketing/wechat-gongwen-2.0.html

  • Network accessline 3
    <body style="margin:0;padding:0;background:#ffffff;"><div style="width:100%;max-width:677px;margin:0 auto;padding:24px 16px 40px;box-sizing:border-box;background:#fff;"><h1 style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont
  • Network accessline 4
    <p style="margin:0 0 24px;padding:11px 14px;border-left:4px solid #c9271e;background:#faf7f4;color:#5e2b26;font-size:15px;line-height:1.7;">Gongwen Skill 2.0 重大更新。这里是图文排版预览稿,头图、文章插图和实际验证截图已经按正文阅读顺序合并。标注“文章插图”的是 X Article 配图,标注“实际验证截图”的是仓库中保
  • Network accessline 5
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/punk-assets/punk-cover/gongwen-redline-x/cover.png" alt="Gongwen Skill 新版头图" style="display:b
  • Network accessline 13
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">直到这次触发,它直接在文档里生成了电子抬头和红线,连间距问题一起暴露出
  • Network accessline 14
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">一个自己天天在用的工具,也可能藏着一段自己从没认真用过的功能。发布时,
  • Network accessline 15
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/punk-assets/punk-cover/gongwen-redline-x/inline-preprinted.png" alt="预印红头纸套打的概念示意,非实测照片" styl
  • Network accessline 23
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">最后这一批生成了 <strong>18 份 Word 文件,转换成 1
  • Network accessline 24
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">下面是仓库里保留的实际渲染总览。它们用于核对版式,当前环境仍有字体替代
  • Network accessline 25
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/references/assets/visual-audit/all-rules/contact-sheet.png" alt="实际渲染的核验场景总览" style="display:
  • Network accessline 27
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">比如左上角加上份号、密级和紧急程度以后,机关标志会被下面的段落一起往下
  • Network accessline 28
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">修完后,又专门量了一次 PDF 里的字形坐标。这批样本中,有这些字段和
  • Network accessline 29
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/references/assets/visual-audit/all-rules/formal-digital-all-1.png" alt="实际验证截图|带份号、密级和紧急程度的电子
  • Network accessline 31
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">还有那条贴着标题的红线。原先设置了段前距离,最终渲染却没有按预期留出来
  • Network accessline 32
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">我对这种问题印象特别深。代码里明明写着,纸面上偏偏没有。只让 AI 再
  • Network accessline 33
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/punk-assets/punk-cover/gongwen-redline-x/inline-spacing.png" alt="红线与标题间距的概念示意,具体结果以渲染截图为准" s
  • Network accessline 36
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">需要正式发文时,再选择对应格式。如果用预印红头纸套打,文档给纸上的红头
  • Network accessline 37
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">这两种使用方式,现在有各自的处理规则。</p> <figure sty
  • Network accessline 38
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/references/assets/visual-audit/all-rules/formal-preprinted-1.png" alt="实际验证截图|预印红头纸套打模式的首页留白"
  • Network accessline 42
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">这对长方案尤其烦。章节改了,目录还得跟着手改。</p> <p styl
  • Network accessline 43
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">现在标题一到标题四都写入了对应样式和大纲级别,可以供 Word、WPS
  • Network accessline 44
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/punk-assets/punk-cover/gongwen-redline-x/inline-outline.png" alt="标题层级与目录引用的概念示意" style="disp
  • Network accessline 45
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">附件、末页版记、单双页页码,以及几种特殊公文格式,这次也补查了不少地方
  • Network accessline 46
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/references/assets/visual-audit/all-rules/formal-attachments-3.png" alt="实际验证截图|附件另页后的标题与正文版式"
  • Network accessline 51
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">这轮验证用的机器缺少所需的小标宋、仿宋字体,部分页面使用了替代字体。现
  • Network accessline 52
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">纸张和实际打印也还有工作。预印纸的位置、打印缩放、双面套正、装订,都得
  • Network accessline 53
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/references/assets/visual-audit/all-rules/horizontal-table-1.png" alt="实际验证截图|横排表格场景" style="d
  • Network accessline 54
    <p style="margin:-15px 0 23px;color:#888;font-size:13px;line-height:1.6;text-align:center;">实际验证截图|横排表格已生成,单双页表头方向仍需在目标 Word 或 WPS 中核对。</p> <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans 
  • Network accessline 55
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">这些都是后续要继续做的具体事情。</p> <figure style=
  • Network accessline 56
    <figure style="margin:24px 0 28px;padding:0;text-align:center;"><img src="https://raw.githubusercontent.com/mizzlelover/gongwen-gbt9704-skill/main/punk-assets/punk-cover/gongwen-redline-x/inline-real-world.png" alt="字体、纸张与分页仍需核对,概念示意" style
  • Network accessline 60
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;">也欢迎把问题直接反馈给我。最好附上脱敏后的页面截图,告诉我用的是 Wo
  • Network accessline 62
    <p style="margin:0 0 18px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.02em;color:#292929;text-align:left;"><a href="https://github.com/mizzlel

marketing/x-major-update-layout-preview.md

  • Network accessline 119
    [GitHub · Gongwen 公文排版 Skill](https://github.com/mizzlelover/gongwen-gbt9704-skill)

marketing/x-major-update.md

  • Network accessline 103
    [GitHub · Gongwen 公文排版 Skill](https://github.com/mizzlelover/gongwen-gbt9704-skill)

marketing/x-promotion.md

  • Network accessline 43
    https://github.com/mizzlelover/gongwen-gbt9704-skill
  • Network accessline 47
    https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p

marketing/x-v2-release.md

  • Network accessline 45
    https://github.com/mizzlelover/gongwen-gbt9704-skill

references/gbt9704-2012-summary.md

  • Network accessline 8
    - 实施日期:2012年7月1日。 - 当前状态:现行;全国标准信息公共服务平台显示2025年5月30日复审结论为继续有效。 - 官方信息页:https://openstd.samr.gov.cn/bzgk/std/newGbInfo?hcno=F3CC9BEF482524C895FDA7A08BB4A70E
  • Network accessline 9
    - 当前状态:现行;全国标准信息公共服务平台显示2025年5月30日复审结论为继续有效。 - 官方信息页:https://openstd.samr.gov.cn/bzgk/std/newGbInfo?hcno=F3CC9BEF482524C895FDA7A08BB4A70E - 标准状态页:https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p
  • Network accessline 10
    - 官方信息页:https://openstd.samr.gov.cn/bzgk/std/newGbInfo?hcno=F3CC9BEF482524C895FDA7A08BB4A70E
  • Network accessline 11
    - 标准状态页:https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p
  • Network accessline 12
    - 公文处理依据:https://www.gov.cn/zwgk/2013-02/22/content_2337704.htm

references/gbt9704-audit-matrix.md

  • Network accessline 3
    本矩阵把标准条款拆成三类:生成器可以稳定写入并由校验器检查的项目,生成器能够提供版式但仍需打开 Word/WPS 复核的项目,以及只能在纸张、打印或机关模板上完成的项目。它不把“生成了 DOCX”写成“所有制作环节均已合规”。条文依据为[全国标准信息公共服务平台的现行状态页](https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p)和[GB/T 9704-2012 条文全文转载页](https

references/gbt9704-screenshot-evidence.md

  • Network accessline 7
    - [全国标准信息公共服务平台现行状态页](https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p):GB/T 9704-2012,2025-05-30 复审结论为继续有效。
  • Network accessline 8
    - [GB/T 9704-2012 条文全文转载页](https://dzb.cumtb.edu.cn/info/1040/1184.htm):本次逐条对照的公开全文。

references/gbt9704-visual-audit.md

  • Network accessline 3
    本记录用于回答“生成的 DOCX 是否真的按标准版式呈现”,不是把 XML 中存在某个属性当成视觉合规证明。标准状态以[全国标准信息公共服务平台](https://std.samr.gov.cn/gb/search/gbDetailed?id=lOIe27f77QU%3D&mode=p)为准;该页面显示 GB/T 9704-2012 仍为现行标准,2025 年 5 月 30 日复审结论为继续有效。条文逐项对照了[标准全文转载页](https://dzb.cumtb.edu.c

scripts/generate_gongwen_docx.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 937
    : `<w:pgSz w:w="${PAGE_W}" w:h="${PAGE_H}"/>`;   body.push(`<w:sectPr>${footerRefs}${pageSize}<w:pgMar w:top="${pageMarginTop}" w:right="${MARGIN.right}" w:bottom="${MARGIN.bottom}" w:left="${MARGIN.left}" w:header="720" w:footer="${footerD
  • Network accessline 938
    body.push(`<w:sectPr>${footerRefs}${pageSize}<w:pgMar w:top="${pageMarginTop}" w:right="${MARGIN.right}" w:bottom="${MARGIN.bottom}" w:left="${MARGIN.left}" w:header="720" w:footer="${footerDistance}" w:gutter="0"/><w:docGrid w:type="lines"
  • Network accessline 939
    return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:sch
  • Network accessline 943
    const style = (id, name, preset, size, outline, before = "0") => `<w:style w:type="paragraph" w:customStyle="1" w:styleId="${id}"><w:name w:val="${name}"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:keepNext/><w
  • Network accessline 944
    const title = `<w:style w:type="paragraph" w:customStyle="1" w:styleId="GongwenTitle"><w:name w:val="公文标题"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:jc w:val="center"/><w:spacing w:before="0" w:after="560" w:
  • Network accessline 945
    return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:docDefaults><w:rPrDefault><w:rPr><w:rFonts ${fontAttrs({ fontPreset: "body" })}/><w:color w:v
  • Network accessline 977
    fontDef("Times New Roman", "", "roman", "00"),   ].join("");   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:fonts xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${fonts}</w:fonts>`;
  • Network accessline 978
    ].join("");   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:fonts xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${fonts}</w:fonts>`; }
  • Network accessline 979
    return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:fonts xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${fonts}</w:fonts>`;
  • Network accessline 987
    ? '<w:ind w:left="280"/>'       : "";   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:p><w:pPr><w:jc w:val="${align}"/>${sideIndent}<w:spacing
  • Network accessline 988
    : "";   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:p><w:pPr><w:jc w:val="${align}"/>${sideIndent}<w:spacing w:before="0" w:after="0"/></w:p
  • Network accessline 989
    return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:p><w:pPr><w:jc w:val="${align}"/>${sideIndent}<w:spacing w:before="0" w:after="0"/></w:pPr><w:r>
  • Network accessline 992
    function letterFooterXml() {   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${redDoubleRule({ upperMm: "0.25", lowerMm: "0.35" })}</w:ftr>`;
  • Network accessline 993
    return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${redDoubleRule({ upperMm: "0.25", lowerMm: "0.35" })}</w:ftr>`;
  • Network accessline 996
    function settingsXml(pageNumberMode) {   const evenOdd = pageNumberMode === "standard" ? "<w:evenAndOddHeaders/>" : "";   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="http://schemas.openxmlformats.org/
  • Network accessline 997
    const evenOdd = pageNumberMode === "standard" ? "<w:evenAndOddHeaders/>" : "";   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${evenOdd}<w:
  • Network accessline 998
    return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${evenOdd}<w:updateFields w:val="true"/></w:settings>`;
  • Network accessline 1001
    function documentRelsXml(pageNumberMode, format) {   const footerRels = format === "letter"     ? '<Relationship Id="rIdLetterFooter" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footerLetter.xml
  • Network accessline 1002
    const footerRels = format === "letter"     ? '<Relationship Id="rIdLetterFooter" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footerLetter.xml"/>'     : pageNumberMode === "standard"
  • Network accessline 1003
    ? '<Relationship Id="rIdLetterFooter" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footerLetter.xml"/>'
  • Network accessline 1004
    : pageNumberMode === "standard"     ? '<Relationship Id="rIdFooterOdd" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footerOdd.xml"/><Relationship Id="rIdFooterEven" Type="http://schemas.openxmlfo
  • Network accessline 1005
    ? '<Relationship Id="rIdFooterOdd" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footerOdd.xml"/><Relationship Id="rIdFooterEven" Type="http://schemas.openxmlformats.org/officeDocument/2006/relati
  • Network accessline 1006
    : pageNumberMode === "center"         ? '<Relationship Id="rIdFooterCenter" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footerCenter.xml"/>'       : "";
  • Network accessline 1007
    ? '<Relationship Id="rIdFooterCenter" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footerCenter.xml"/>'
  • Network accessline 1008
    : "";   return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rIdStyles" Type="http://schemas.openxmlformats.org/officeDocument/2
  • Network accessline 1009
    return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rIdStyles" Type="http://schemas.openxmlformats.org/officeDocument/2006/rela
  • Network accessline 1022
    ? '<Override PartName="/word/footerCenter.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/>'       : "";   fs.writeFileSync(path.join(dir, "[Content_Types].xml"), `<?xml version="1.0" encoding="U
  • Network accessline 1023
    : "";   fs.writeFileSync(path.join(dir, "[Content_Types].xml"), `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="appli
  • Network accessline 1024
    fs.writeFileSync(path.join(dir, "[Content_Types].xml"), `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/v
  • Network accessline 1025
    fs.writeFileSync(path.join(dir, "_rels/.rels"), `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxml

scripts/install.ps1

  • Executable scriptline 1
    Executable file

scripts/install.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 66
    rm -rf "$destination"
  • Dangerous shell operationline 79
    rm -f "$output"
  • Dangerous shell operationline 82
    rm -rf "$stage"

scripts/verify_gongwen_docx.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

tests/measure-header-coordinates.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

tests/run_tests.sh

  • Executable scriptline 1
    #!/bin/sh
  • Dangerous shell operationline 7
    trap 'rm -rf "$TMP_DIR"' EXIT
  • Network accessline 149
    import sys, zipfile from xml.etree import ElementTree as ET ns={'w':'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
  • Network accessline 150
    from xml.etree import ElementTree as ET ns={'w':'http://schemas.openxmlformats.org/wordprocessingml/2006/main'} with zipfile.ZipFile(sys.argv[1]) as z:
  • Network accessline 151
    ns={'w':'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
  • Network accessline 154
    for p in root.findall('.//w:p', ns):     if ''.join(p.itertext()).strip() == '2026年9月10日':         assert p.find('./w:pPr/w:ind', ns).attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}right'] == '1280'
  • Network accessline 155
    if ''.join(p.itertext()).strip() == '2026年9月10日':         assert p.find('./w:pPr/w:ind', ns).attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}right'] == '1280'         break
  • Network accessline 156
    assert p.find('./w:pPr/w:ind', ns).attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}right'] == '1280'
  • Network accessline 164
    import sys, zipfile from xml.etree import ElementTree as ET ns={'w':'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
  • Network accessline 165
    from xml.etree import ElementTree as ET ns={'w':'http://schemas.openxmlformats.org/wordprocessingml/2006/main'} with zipfile.ZipFile(sys.argv[1]) as z:
  • Network accessline 166
    ns={'w':'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
  • Network accessline 169
    for p in root.findall('.//w:p', ns):     if ''.join(p.itertext()).strip() == '2026年9月10日':         assert p.find('./w:pPr/w:ind', ns).attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}right'] == '1280'
  • Network accessline 170
    if ''.join(p.itertext()).strip() == '2026年9月10日':         assert p.find('./w:pPr/w:ind', ns).attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}right'] == '1280'         break
  • Network accessline 171
    assert p.find('./w:pPr/w:ind', ns).attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}right'] == '1280'

tests/test-install.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 6
    trap 'rm -rf "$test_home"' EXIT

tests/visual-audit.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

No combined signals at this commit.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.