周汇报阅读整理
这个 skill 做什么
把一份或一批本地文档读进来,整理成有条理、可追溯、能直接用的内容:单份精读摘要、多份跨周汇总、待办与风险清单、归档索引,或生成 Excel 台账。
核心是「读得准 + 整得清」:.docx 里的表格必须按行列还原,不能拍平行;人名、日期、进度分数一个都不能编。
何时使用
- 上传或指定周工作汇报、工作周报、项目周报、巡检记录,说「整理一下」「提炼重点」「写个摘要」
- 有多份历史汇报,要「汇总」「对比」「看看进展」「哪些还没闭环」
- 要「列待办」「哪些快到期」「有什么风险」
- 要「归档」「建索引」「以后好找」
- 给一份标准周报 Excel,要「生成 Word 周报」「整理成汇报文档」
- 已生成的周报要「补一节重点工作」「加下周重点」「换成领导汇报口径」
- 任意本地文件(Word/PDF/Excel/CSV/文本/网页)需要批量阅读、提取要点、结构化整理
不适用:修改原文档的原有内容(走文档编辑类能力);制作 PPT。
工作流
第 0 步:判断意图
| 用户说 | 走哪个模式 |
|---|---|
| 一份文件,「整理 / 总结 / 提炼」 | 模式 A 单份精读 |
| 多份文件或一个目录,「汇总 / 对比 / 进展」 | 模式 B 跨周汇总 |
| 「待办 / 到期 / 风险 / 卡点」 | 模式 C 待办与风险 |
| 「归档 / 索引 / 归类」 | 模式 D 归档索引 |
| 标准周报 Excel,「生成 Word / 做成周报」 | 模式 E 一键出 Word(见下) |
| 「补一节重点工作 / 下周重点 / 换领导口径」 | 模式 E + --highlights(见下) |
| 非汇报类文档,「读一下 / 整理」 | 通用阅读整理(同 A,模板换成「结构 + 要点 + 结论」) |
意图不清时,先按模式 A 产出,再问是否需要汇总或台账。
> 模式 E 是端到端快捷通道:用户给的是标准周报 Excel、要的是 Word 文档时,直接走模式 E,不必再走下面第 1–4 步。
模式 E:标准周报 Excel → 公文版 Word
python3 scripts/weekly_xlsx_to_docx.py 汇报.xlsx --out 汇报.docx
一条命令完成:读表 → 还原合并单元格 → 日期序列号换算 → 0.7 转 70% → 过滤「无」任务与分节标题 → 统计 → 套 A4 公文模板 → 转 .docx。
| 参数 | 说明 |
|---|---|
--title |
文档标题,默认取文件名(自动去掉尾部日期数字与 (2) 副本标记) |
--date |
汇报日期 YYYY-MM-DD,默认从表内「汇报日期:」读取 |
--project-alias "45万=45万项目" |
项目名改写,可多次 |
--highlights 重点.json |
追加「重点工作」末章,见下 |
--tag-table |
表格任务内容里的机组编号也补厂家(默认只在正文补,因表内已有「场站/机型」列) |
--html-only --out-dir DIR |
只出 HTML 与条目 JSON,不转 Word |
机组注明厂家:脚本自动从运维表建立「机组编号 → 厂家」映射(FJ3-3→中车、FJ9-4→运达…),正文出现编号时补成 FJ3-3(中车);同一段内同厂家只标首次,编号前已写厂家的不重复标。运行时会打印映射表,便于核对。用户要求「风机要注明厂家」而正文已标时,再加 --tag-table 让表格也标注。
补「重点工作」章节(用户说「补一节重点工作 / 下周重点 / 领导汇报口径」时):
- 先读脚本产出的条目 JSON(
.build/*.items.json)。 - 按下方取舍规则归纳 3–5 条,写入 JSON:
[{"title": "短标题", "body": "一段话"}]。 - 加
--highlights 重点.json重跑,脚本自动接续编号(四章之后即「五、重点工作」)并套h3版式。
取舍规则(只从材料事实归纳,不编造进度):
| 优先级 | 判断依据 | 示例 |
|---|---|---|
| 1 主线治理 | 条目数最多、涉及面最广的专项 | 56 台叶片外部检查完成 → 转入内腔检查 |
| 2 停机与电量损失 | 状态含「重点停机」或完成率低但计划临近 | FJ3-3、FJ9-4 等小风窗口 |
| 3 关键路径 | 制约转商运 / 验收的链条 | 涉网试验、240 小时试运行 |
| 4 时限临近 | 距汇报日 ≤15 天的事项 | 防寒防冻、大屏修复 |
每条写法:进展数据(含 x/y、百分比)+ 责任人 + 计划日期 + 剩余天数 + 一句风险或建议。不写「高度重视」「扎实推进」这类空话;不把未开始的事说成已推进。
识别规则:工作表名「XX运行汇报 / XX运维汇报」→ 项目 + 类别;表头含「任务内容 / 完成情况 / 任务状态 / 责任人 / 计划完成」即视为数据表;「一、」「(一)」开头的分节标题行自动跳过。
脚本会打印数据核对提示(状态与进度矛盾、进度栏误填日期)。这些必须如实转告用户,不要擅自改数。
分页处理:转换成功后自动给所有表格行加 cantSplit——整行内容不会被分页截断,一页放不下时 Word 把整行推到下一页,跨页处表头自动重复;章节标题加 keep_with_next,不会单独留在页底。不需要手动插空行,也不要为此拆表。若提示「正被打开」,说明文件占用导致写入失败,关闭后重跑即可。
环境里没有 html-to-doc 转换器时,脚本只产出 HTML,此时按 workbuddy-docx 链路转换,不要自己拼 docx。
第 1 步:可靠读取
不要直接读 .docx / .xlsx 二进制,先跑解析脚本:
python3 scripts/extract_docs.py 汇报.docx
python3 scripts/extract_docs.py 汇报1.docx 汇报2.docx
python3 scripts/extract_docs.py --dir ./周汇报 --out ./_extracted
脚本把标题、段落、编号、表格还原成 Markdown,表格保留行列对应。支持 docx / pdf / xlsx / csv / txt / md / html。
读完后先通读一遍,确认三件事:有几个板块、表格列名是什么、有没有因合并单元格产生的空值(空值通常是上一行的延续,要补上)。
第 2 步:抽取条目
按 references/report-schema.md 的字段表抽取:
- 板块 →
project(多层用/连接) - 工作类别 →
category(运行工作、运维工作等) - 表格每一行 → 一条记录
- 「重点跟踪事项」这类清单 → 也抽成条目,用于和表格交叉核对
- 状态按归一规则处理,进度分数原文写进
note
抽完自检:条目数是否等于表格数据行数(不含表头)?重点跟踪事项能否在表格里找到对应?对不上就回看原文,不要猜。
第 3 步:按模式整理
模板见 references/report-schema.md 第三部分,直接套用:
- 模式 A 单份精读:结论先行 → 本周完成 / 进行中未完成 / 计划开展 → 重点跟踪 → 风险提醒
- 模式 B 跨周汇总:按
project + task对齐同一事项,写状态变化(进行中 → 已完成),单列「持续未闭环」 - 模式 C 待办与风险:按计划完成日期排序,剩余天数用命令计算,不心算
- 模式 D 归档索引:
YYYY-MM-DD_原文件名复制重命名,生成 INDEX.md 按时间倒序
第 4 步:需要表格时生成台账
用户要 Excel / CSV 台账时,先把条目写成 JSON(脚本可生成骨架):
python3 scripts/build_ledger.py --template items.json # 生成骨架,按此结构填写
python3 scripts/build_ledger.py items.json --format all --out ./台账
输出 CSV(UTF-8 BOM,Excel 打开不乱码)、Markdown 表格、xlsx(冻结首行、自动筛选、状态配色、状态统计页)。
输出规范
- 默认中文 + Markdown,标题不超过三级
- 表格对齐,不合并单元格
- 每条结论可追溯到原文;汇总结果保留「来源文件」
- 原文没写的写「原文未写明」,不补全、不推测
- 日期统一
YYYY-MM-DD,跨月跨年要核对
交付
- 整理稿直接输出在对话里;超过 200 行或需留存时写成
.md - 台账、归档目录写进用户指定目录,默认
./output/ - 产出文件后用 present_files 展示
资源
scripts/extract_docs.py:文档 → 结构化 Markdown(含表格),支持批量与--jsonscripts/build_ledger.py:条目 JSON → CSV / xlsx / Markdown 台账scripts/weekly_xlsx_to_docx.py:标准周报 Excel → 条目 → 公文版 Word(模式 E)assets/weekly-report-template.html:A4 公文版式模板(页边距 2cm、底部页码、深蓝表头)references/report-schema.md:字段映射、状态归一、四种模式的输出模板与归档规范
依赖与降级
| 依赖 | 用途 | 缺失时 |
|---|---|---|
openpyxl |
读写 xlsx、台账输出 | 模式 E 无法运行,先 pip install openpyxl |
python-docx |
行不跨页、标题同页的后处理 | 仍能出 docx,只是长表格可能跨页断开 |
html-to-doc 转换器 |
HTML → docx | 只产出 HTML,另按宿主环境的文档链路转换 |
weasyprint(可选) |
仅生成 PDF 时需要 | 不影响 docx |
html-to-doc 转换器按以下顺序自动查找,任一命中即可:
~/.codebuddy/plugins/cache/workbuddy-docx/*/*/skills/html-to-doc/scripts/convert_doc.py~/.codebuddy/plugins/cache/workbuddy-docx/*/skills/html-to-doc/scripts/convert_doc.py~/.codebuddy/local_plugins/workbuddy-docx/plugins/workbuddy-docx/skills/html-to-doc/scripts/convert_doc.py
宿主环境没有该转换器时,用 --html-only --out-dir DIR 只出 HTML,再交给宿主自带的 Word 转换能力,不要自己拼 docx。
脚本只用标准库 + 上表依赖,不联网、不写用户目录以外的位置。