每日工作进展生成器
根据 git 提交记录生成结构化的工作进展报告。
执行步骤
1. 收集提交记录
运行收集脚本(路径相对于本 Skill 目录):
bash <skill-dir>/scripts/collect-commits.sh
如果今天是周五(可通过 date +%u 检查,5 = 周五),加上 --weekly 参数:
bash <skill-dir>/scripts/collect-commits.sh --weekly
脚本会输出格式化的 commit 数据,包含 hash、作者、时间、message 和分支信息。
2. 解析和分类
脚本输出的每行 commit 格式为:COMMIT|hash|作者名|作者邮箱|时间|message|refs
按作者分组:先将所有提交按作者名(第3字段)分组,再在每个作者组内按 Conventional Commits 前缀分类:
| 类型 | 含义 | 报告标题 |
|---|---|---|
feat |
新功能 | 新功能 |
fix |
Bug 修复 | 问题修复 |
refactor |
重构 | 代码重构 |
perf |
性能优化 | 性能优化 |
style |
样式调整 | 样式调整 |
docs |
文档更新 | 文档更新 |
test |
测试相关 | 测试 |
ci / build |
构建/CI | 工程化 |
chore |
杂项 | 其他 |
| 无前缀 | 未分类 | 其他 |
如果某个类型下没有提交,直接跳过该类型,不要输出空分组。
3. 生成报告
将报告写入 daily/ 目录(位于当前 git 仓库根目录下),文件名格式为 YYYY-MM-DD.md。如果目录不存在则创建。
日报格式
头部统计展示所有用户的汇总数据,然后按作者分组输出各自的工作内容:
# 工作进展 — YYYY-MM-DD(周X)
> 统计:N 个提交,涉及 M 个分支,P 位贡献者
sunweiwei01
- **新功能**
- 实现了用户登录页面的表单验证
- 新增数据导出为 CSV 的功能
- **问题修复**
- 修复了移动端列表滚动卡顿的问题
- **代码重构**
- 将 API 请求层从组件中抽离为独立的 service 模块
shenxiaohan
- **新功能**
- 实现了用户登录页面的表单验证
- **问题修复**
- 修复了移动端列表滚动卡顿的问题
- 作者名使用 git 提交中的
author name字段(不做额外转换) - 如果某位作者在该时间段内没有提交,则不输出该作者的区块
- 作者之间用空行分隔
周报格式(周五追加)
日报内容之后追加一个周报区块,同样按作者分组:
---
# 本周总结 — MM/DD ~ MM/DD
> 统计:N 个提交,涉及 M 个分支,P 位贡献者
sunweiwei01
- **新功能**
- ...
- **本周亮点**
- (从本周工作中提炼 2-3 个关键成果)
shenxiaohan
- **问题修复**
- ...
4. 总结要求
对 commit message 的总结应做到:
- 合并同类项:同一功能的多次提交合并为一条描述(例如 "feat: add login form" + "feat: add login validation" → "实现了登录页面的表单和校验功能")
- 去技术化:将实现细节转化为业务语言(例如 "refactor: extract useAuth hook" → "重构了认证逻辑,提升代码可维护性")
- 保持简洁:每条总结控制在一行以内,不要在末尾标注分支名
5. 特殊情况
- 没有提交:输出 "该时间段内没有提交记录。"
- merge commit:跳过 merge commit(message 以 "Merge" 开头的),避免重复计数
- 多仓库:如果用户在某个目录下调用但想查看其他仓库,提示用户先切换到目标仓库目录