周报生成 Skill
触发条件
当用户表达以下意图时触发:
- "编写周报"
- "生成周报"
- "写周报"
- "帮我写周报"
- "创建周报"
执行流程
1. 询问项目名称
在生成周报前,先询问用户本周报对应的项目/产品名称。
询问话术:
> 请告诉我本周报的项目/产品名称是什么?
2. 获取 Git 提交记录
扫描代码仓库根目录 /Users/hq/Documents/Cty/Code repository 下的所有 git 项目,获取本周提交。
执行命令:
# 查找所有 git 仓库
find /Users/hq/Documents/Cty/Code\ repository -maxdepth 2 -name ".git" -type d 2>/dev/null
# 对每个仓库获取本周提交
git log --since="本周一" --until="本周六" --format="%h %s" --all
日期计算规则(基于今天是 2026-03-27 周五示例):
- 本周起始日(周一):
2026-03-23(往前推 4 天) - 本周结束日(今天):
2026-03-27(周五) - 计算方式:今天日期往前推 (今天星期几 - 1) 天得到周一
- 周一=1, 周二=2, 周三=3, 周四=4, 周五=5, 周六=6, 周日=0
- 如周五:27 - (5-1) = 23,即本周一是 3 月 23 日
- 因此 git log 日期范围为
--since="2026-03-23" --until="2026-03-28"(until 是开区间,所以用次日)
3. 整理提交记录
按项目/仓库分组整理提交记录。
会被过滤的提交类型(不会出现在周报中):
- 纯合并提交(如 "Merge branch 'xxx'", "Merge pull request #123")
- 系统自动生成的无关提交(如 CI/CD 自动触发的版本号更新、changelog 自动生成等)
会保留的提交类型(正常工作内容):
- 所有人工编写的提交信息(包括使用 AI 辅助生成的提交)
- feat/fix/docs/style/refactor 等功能性提交
- 优化、更新、同步等描述性提交
4. 生成周报内容
周报结构:
# 项目:{用户提供的项目名称}
## 本周完成事项(开始日期 至 结束日期)
### 1. 工作项一(来自提交信息)
- 核心工作内容描述
- 具体改进点或成果
### 2. 工作项二
- 核心内容
- 具体成果
...
### N. 工作项 N
- 核心内容
- 具体成果
内容密度要求(适中原则:不简略、不冗长):
- 每条工作项 2 个 bullet points,分别描述:
- 具体做了什么(保留关键细节:组件名/模块名/功能点)
- 达到什么效果(改进点、优化成果或解决的问题)
- 字数控制:每个 bullet 15-30 字,避免一句话带过,也避免长篇描述
- 保留关键信息:
- 涉及的具体组件/页面名称(如 Model Hub、智能体中心、Onboarding Flow)
- 具体优化点(如筛选卡片、抽屉布局、字段定义)
- 功能模块范围(如智能体、知识库、MCP)
- 避免的问题:
- ❌ 过于简略:"优化界面,提升体验"(缺少具体信息)
- ❌ 过于冗长:详细描述实现细节或背景原因
- ✅ 适中示例:"优化 Model Hub 筛选卡片(Filter Cards)的交互体验"
- 如果多条提交属于同一类工作,合并为一个工作项
5. 保存文件
- 保存路径:
/Users/hq/Documents/Cty/Weekly Report/周报_开始日期_结束日期.md - 确保目录存在(如不存在则创建)
- 使用 UTF-8 编码保存
注意事项
- 如果某个项目没有本周提交,跳过该项目
- 如果所有项目都没有本周提交,提示用户确认日期范围
- 提交信息如果是英文,保留原文;如果是中文,直接使用
- 合并提交(merge commits)可以适当过滤或简化
- 保存后告知用户文件路径,不需要重复显示完整周报内容