日报周报整理器
这个技能做什么
把用户提供的散乱素材,规范整理成符合钉钉标准的日报 / 周报。
核心价值是「归并 + 提炼」:素材可能来自 git 提交、聊天/会话记录、人工随手记的备注,甚至是三者的混合——本技能负责把它们去重、归组到「项目名称/事项简称」下,生成可直接提交的工作清单 / 工作明细 / 本周总结。
用户不需要预先整理好素材,丢进来的是原始信息,输出的是成品汇报。
触发条件
- 用户说「帮我写日报 / 周报」「整理今天的工作」「汇总这周干了啥」等
- 用户丢来一批 git 记录、聊天记录、零散备注,想整理成汇报
- 用户提到「项目名称/事项简称」「工作清单」「本周总结」「工作明细」等钉钉汇报字段
触发边界(不启动)
- 纯聊天记录转写/提炼,不要求「整理成日报周报格式」→ 不启动
- 只是问「钉钉日报/周报怎么填」这类格式咨询 → 直接回答格式即可,不走完整整理流程
输入(素材类型)
用户可提供任意组合,不要求结构化:
- git 提交记录:
git log --since=... --author=... --stat的输出(--stat带出变更文件,commit 模糊时可据此补全语义) - 会话记录:聊天记录文字(可直接粘贴,或说「帮我拉今天的群聊」由辅助工具获取)
- 人工备注:随手记的一句话 / 一条清单,如「上午修了订单慢查询,下午加了菜单权限」
多仓库:同一天在多个仓库提交时,在每个仓库分别跑 git log,再把结果合并去重后统一整理(办公空间可跨仓共用,按项目分组而非按仓库分组)。
素材可能散乱、模糊、缺角色信息,处理策略见 @references/input-handling.md。
输出规范
输出为纯文本(.txt),按「序号、项目名称/事项简称」分节,节内内容整体缩进 4 个空格:
- 日报:每节「当日总结」+ 编号工作清单(每条以「;」结尾并标注完成度);可选「明日计划」「问题 / 需协助」「待确认」
- 周报:每节「本周总结」+ 编号工作明细(每条以「;」结尾并标注完成度);可选「下周计划」「问题 / 风险」「待确认」
- 完成度:已完成写
(100%);有未完成信号时按实际标注(如(60%)),不编造精确数值 - 编号:项目节从
1、起连续编号;可选节接续编号,其下直接列条目、不写总结行
格式示例见 @templates/daily-report.txt、@templates/weekly-report.txt;字段定义见 @references/dingtalk-format.md。
整理规则
- 提取事项:从素材中识别「用户做了什么事」
- 去重:同一件事在多来源出现只保留一条,合并信息
- 归组:把事项归到「项目名称/事项简称」;先按办公空间的
项目词典.md归一标准名,命中别名用标准名,确属新项目才登记 - 生成清单/明细:日报产出「工作清单」,周报产出「工作明细」
- 周报提炼:额外产出「本周总结」
具体的归并、去重、提炼规则见 @references/grouping-rules.md。
执行步骤
日报流程
- 确认时间范围(默认今天,时间边界用
--since="today";补写历史某天时改传具体日期) - 收集素材(用户提供;若缺 git 部分可提示用户跑
git log --since="today" --author=$(git config user.name) --stat;多仓库则分别跑后合并) - 读办公空间的
项目词典.md,把项目名归一到标准名(无词典则先创建空表) - 提取事项 → 去重 → 归组
- 提炼每个项目的「当日总结」(概括进度/结果,不照抄明细、不写动作清单)
- 用 @templates/daily-report.txt 模板输出(纯文本)
- 缺「明日计划」等可选字段时标注「待补」,不编造;拿不准算不算工作的素材放「待确认」,不静默丢弃
- 若用户未指定办公空间,默认用
<cwd>/work-reports/;目录不存在时先创建收集/、日报/、周报/三个子目录 - 把收集文档和日报分别写入
收集/YYYY-MM-DD.md、日报/YYYY-MM-DD.txt(文件名与标题带日期)。若同名文件已存在,先读取原内容、合并去重后再写回,不直接覆盖(应对一天内多次生成)
周报流程
- 确认时间范围:先算出本周一的日期(默认本周一到今天),并带上本地时区、精确到秒给出起点(如
2026-11-02T00:00:00+08:00) - 收集素材:主骨架用
git log --since="<本周一日期>T00:00:00+08:00" --author=$(git config user.name) --stat(多仓库分别跑后合并);再用<办公空间>/日报/中日期在本周范围内的日报文件补「非 git 的活」;聊天/备注兜底(详见 @references/input-handling.md) - 读办公空间的
项目词典.md归一项目名 - 提取事项 → 去重 → 归组 → 汇总(不需要把所有日报都贴过来,git log 是主骨架)
- 提炼每个项目的「本周总结」(概括进度 + 关键成果 + 风险,不照抄明细,面向领导/PM 快速判断进展)
- 用 @templates/weekly-report.txt 模板输出(纯文本)
- 若用户未指定办公空间,默认用
<cwd>/work-reports/;目录不存在时先创建;把周报写入周报/YYYY-MM-DD~YYYY-MM-DD.txt(文件名与标题带日期范围);同名文件已存在时合并去重后写回,不直接覆盖
输出模板
- 收集文档:@templates/collect-note.md
- 项目词典:@templates/project-glossary.md
- 日报:@templates/daily-report.txt
- 周报:@templates/weekly-report.txt
办公空间与文件归档
默认把产出落到「办公空间」目录,便于归档与回溯。用户可指定办公空间路径;未指定时默认 <cwd>/work-reports/。
首次使用时若目录不存在,先创建三个子目录和项目词典空表。
<办公空间>/
├── 项目词典.md # 项目/事项标准名登记表(防止同一项目换名导致分组分裂)
├── 收集/ # 当天素材收集文档(整理前的原始信息)
│ └── 2026-11-05.md
├── 日报/ # 生成的日报(纯文本)
│ └── 2026-11-05.txt
└── 周报/ # 生成的周报(纯文本)
└── 2026-11-02~11-08.txt
四类文档:
- 项目词典
项目词典.md:标准名 + 别名,模板见 @templates/project-glossary.md - 收集文档
收集/YYYY-MM-DD.md:当天素材归档,模板见 @templates/collect-note.md - 日报
日报/YYYY-MM-DD.txt:@templates/daily-report.txt,标题带日期 - 周报
周报/YYYY-MM-DD~YYYY-MM-DD.txt:@templates/weekly-report.txt,标题带日期范围
文件名与文内标题都带日期(或日期范围),方便按时间查找。
示例
输入素材(混合三源):
git log --since="today" --author=$(git config user.name) --stat
9a2c1f 优化订单查询:加索引、收敛返回字段
b3d4e5 修复发版后菜单不显示
c5f6a7 wip: 支付回调联调
聊天记录:
我:订单接口现在快了,10 秒降到 1 秒
我:菜单那个 bug 是权限没挂,已补
人工备注:
上午还开了个需求评审会
顺手帮同事看了下他的接口设计
输出日报(纯文本 日报/2026-11-05.txt):
日报 2026-11-05
1、订单系统
当日总结:订单查询性能优化已完成上线,接口响应由 10s 降至 1s;发版后菜单不显示的缺陷已修复。
1. 完成订单查询慢查询优化,加索引、收敛返回字段,响应 10s → 1s;(100%)
2. 修复发版后部分用户菜单不显示,根因菜单未挂角色,已补挂;(100%)
2、支付模块
当日总结:支付回调联调已启动,受沙箱额度限制尚未走通,仍在推进中。
1. 支付回调接口联调;(60%)
3、其他
当日总结:参与需求评审,明确下一阶段范围。
1. 参加需求评审会;(100%)
4、明日计划
1. 待补
5、待确认
1. 「帮同事看接口设计」是否计入本人工作,请确认
错误处理
- 素材只有一句话、信息太少 → 输出已整理部分 + 列出「需补充的信息」,不硬编
- 素材多但缺项目归属 → 用事项关键词推断项目;推断不出则归「其他」并请用户确认分组
- 同一事项多来源重复 → 按 @references/grouping-rules.md 的去重规则合并,不重复出现
- 素材里混入敏感信息(账号、密码、客户名)→ 生成汇报前提示脱敏,汇报正文不保留敏感细节
明确不做什么
- 不编造用户没做过的工作
- 不替用户判断「某件事算不算工作、该不该写」——只整理,不评判
- 不自动提交到钉钉(除非用户明确要求并授权)
- 不把「写日报」偷换成「教你方法论」——直接产出成品