application-bundle

v2026.09.24

申报材料包(Application Bundle):把一份"申报/上报需求"组装成套交付物——填写表格模板(合并单元格保格式)、生成正文材料(事迹/推荐书/申报书/报告正文)、匹配并嵌入证据附件图、统一命名、打包目录。泛化于评优推荐、职称申报、课题申报、验收材料、答辩材料、毕业设计材料等一切"表格+正文+证据"型材料组装。 Triggers when: 需要填申报/评优/验收表格并按模板出正文与证据材料(评优推荐表、优秀个人/先进集体、职称申报表、课题申报书、验收报告、答辩材料)、把"填好的表+事迹/申报正文+证书/证明图片"组装成一套可上交的材料包。 Commands: - /材料包 <需求> - 组装整套申报材料(表格+正文+证据) - /材料包 填表 <模板.docx> <数据> - 填写表格模板(合并单元格保格式) - /材料包 正文 <内容> - 生成事迹/申报正文(docx,宋体小四/标题规范) - /材料包 证据 <清单> - 匹配并嵌入证据附件图(PDF→PNG转换) - /材料包 打包 <目录> - 按命名规范整理成材料包目录 - /bundle <req> - English alias Capabilities: docx合并单元格表格定位与填写(保格式、保留签字行)、正文 docx 生成(标题黑体小三/正文宋体小四)、证据图收集与嵌入(证书PDF转PNG、每图加注说明)、材料包目录组织与命名、格式保真校验

GitHub
Install command
npx skhub add cycleuser/application-bundle
Markdown
SKILL.md

Safety Rules

参见 _shared/core/safety-rules.md

关键补充:填表/生成一律写新文件,不覆盖模板;证据图为只读引用,不改原件。

申报材料包 (Application Bundle)

"评优/职称/课题/验收"类材料的标准组装法:填表 → 正文 → 证据 → 打包。这是高校行政最常做的四段式,泛化到一切"表格+正文+证据"型交付。

四段工作流

Step 1 填表(模板保真)
   复制模板 → 解析合并单元格 → 逐格填值 → 保留签字行/尾部。
   a) 解析:打印每个 row.cells 的 (label, 值区) 位置;合并单元格用 id(cell._tc) 去重,
      值区写在合并区域主 tc 上(row.cells[位置] 拿到的就是它)。
   b) 填值:set_cell 清空值区重写,字体宋体/小四(按模板注要求),多行拆段落。
   c) 保留:签字行("负责人签字:""组长签字:""学校公章""年 月 日")绝不覆盖,
      事迹区若自带"负责人签字"尾部,先写正文再在末尾补回。

Step 2 正文(事迹/申报书/报告)
   按"模板文本结构"组织章节(个人简介/获奖情况/工作任务/业绩情况/结语…)。
   格式:标题黑体小三居中,正文宋体小四,1.4 倍行距。
   每章可引用 Step3 证据图,图下加"支撑材料:……"注。

Step 3 证据(证书/证明图)
   按清单逐项匹配证据文件:证书 jpg/png 直接用;PDF 用 pymupdf 转首屏 PNG。
   嵌入 docx 时每图加注(来源/编号/内容)。缺图项在正文标注"待补",不编造。
   图尺寸:横版宽 14-15cm,竖版宽 12cm,居中。

Step 4 打包
   目录命名:<姓名/单位>-<材料名>-<日期>/
   内含:填好的表格 + 正文 + 证据子目录 + 汇总清单 README。
   文件命名统一规范(如 <年度>-<奖项>-<排名>.ext)。

合并单元格填写要点(docx)

  • 模板里一个合并单元格在 row.cells 中会出现多次,用 id(cell._tc) 去重,只写主 tc。
  • 值区可能是合并区域(如"所在单位"跨3列、事迹跨8列),访问 row.cells[i] 任意位置拿到同一 tc。
  • 清空重写:删多余段落(保留至少1段)、清首段 run、按行 add_paragraph。
  • 行高:长文本设 row.height 或用 row_dimensions[r].height 撑开。
  • 保存前校验:重新打开读取回填文本,确认每格正确、签字行还在。

证据图嵌入要点

  • PDF 转图:fitz.open(pdf); page.get_pixmap(dpi=110).save(png)。
  • jpg 不能直接改名成 .png 后缀(python-docx 会报 UnrecognizedImageError);用 PIL convert('RGB').save(png,'PNG') 转真 PNG。
  • 每图加居中说明注(宋体 10.5pt 灰色)。
  • 输出文件会很大(几十 MB),属正常。

Anti-Patterns

违规严重度后果
覆盖模板原文件高模板丢失
覆盖签字行/尾部中材料无效
在合并区域重复写值中单元格错乱
证据图缺项却编造高材料不实
正文与表格数字不一致高评审驳回

依赖

  • Python:python-docx、openpyxl、pymupdf、PIL
  • 脚本:scripts/fill_docx.py(合并单元格表格解析与填充)、scripts/embed_evidence.py(证据图收集与嵌入)
  • 校验:复用 verify-deliver 的 checklists

文件结构

skills/application-bundle/
├── README.md
├── SKILL.md
├── rules/
│   ├── table-filling.md  # 合并单元格填写与保格式
│   ├── evidence.md       # 证据图收集与嵌入
│   └── packing.md        # 材料包目录与命名
└── scripts/
    ├── fill_docx.py
    └── embed_evidence.py

版本历史

版本日期变更
1.0.02026-09-01初始版本:从评优推荐表+事迹材料生成实战提炼的四段式材料组装
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

GPL-3.0

Source path

skills/application-bundle

Default branch

main

Latest commit

d57a35e

Tree SHA

02d9442