# Daily Progress

> 生成每日/每周工作进展报告。通过 /daily-progress 手动调用，从 git 提交记录中提取所有分支的变更，按类型（feat/fix/refactor 等）分组并用 AI 智能总结为可读的工作进展。时间范围为前一天 17:00 到当天 17:00，周五自动附加本周整体总结。

- Skill: `wwsun/daily-progress` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add wwsun/daily-progress`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wwsun/daily-progress/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wwsun (https://skillmd.com/u/wwsun)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wwsun/daily-progress

---


# 每日工作进展生成器

根据 git 提交记录生成结构化的工作进展报告。

## 执行步骤

### 1. 收集提交记录

运行收集脚本（路径相对于本 Skill 目录）：

```bash
bash <skill-dir>/scripts/collect-commits.sh
```

如果今天是周五（可通过 `date +%u` 检查，5 = 周五），加上 `--weekly` 参数：

```bash
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`。如果目录不存在则创建。

#### 日报格式

头部统计展示所有用户的汇总数据，然后按作者分组输出各自的工作内容：

```markdown
# 工作进展 — YYYY-MM-DD（周X）

> 统计：N 个提交，涉及 M 个分支，P 位贡献者

sunweiwei01
- **新功能**
  - 实现了用户登录页面的表单验证
  - 新增数据导出为 CSV 的功能
- **问题修复**
  - 修复了移动端列表滚动卡顿的问题
- **代码重构**
  - 将 API 请求层从组件中抽离为独立的 service 模块

shenxiaohan
- **新功能**
  - 实现了用户登录页面的表单验证
- **问题修复**
  - 修复了移动端列表滚动卡顿的问题
```

- 作者名使用 git 提交中的 `author name` 字段（不做额外转换）
- 如果某位作者在该时间段内没有提交，则不输出该作者的区块
- 作者之间用空行分隔

#### 周报格式（周五追加）

日报内容之后追加一个周报区块，同样按作者分组：

```markdown
---

# 本周总结 — 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" 开头的），避免重复计数
- **多仓库**：如果用户在某个目录下调用但想查看其他仓库，提示用户先切换到目标仓库目录

