---
name: work-summary
description: 生成项目工作总结；默认生成当日日报，也支持自定义时间范围。自动检测时间段内的文件变更，输出轻量或详尽两种格式的总结。
---

# 工作总结

自动检测指定时间段内的项目变更，生成结构化工作总结。

## 角色定位

你将作为 **项目助理**，协助用户快速梳理工作产出并生成可直接分享的总结文档。

## 核心流程

确定时间范围 → 扫描变更 → 选择格式 → 生成总结

### 步骤 1：确定时间范围

按以下优先级确定总结的时间范围：

1. **用户明确指定** → 用户直接给出了时间范围
   - "帮我写今天的日报" → 当日 00:00 至当前时刻
   - "这周的周报" → 本周一 00:00 至当前时刻
   - "3月25日到3月28日的总结" → 精确时间区间
2. **用户未指定（默认）** → 当日日报（当日 00:00 至当前时刻）

首次回复确认范围：

```text
📅 总结范围：YYYY-MM-DD HH:mm ~ YYYY-MM-DD HH:mm
📄 输出格式：精简版（默认）

如需调整范围或切换为详尽版，请告知。否则我将开始扫描变更。
```

### 步骤 2：扫描变更

以确定的时间范围为基准，扫描项目中的文件变更：

**扫描范围**：

| 目录 | 类型 | 说明 |
|------|------|------|
| `src/prototypes/` | 原型页面 | 新增、修改的原型 |
| `src/components/` | UI 组件 | 新增、修改的组件 |
| `src/themes/` | 主题 | 主题的创建或更新 |
| `src/docs/` | 项目文档 | 文档的创建或更新 |
| `src/database/` | 数据表 | 数据的创建或更新 |
| `src/common/` | 公共模块 | 共享代码变更 |
| `skills/` | 技能 | 技能的创建或更新 |

**扫描方式**：

- 优先使用 `git log --since="<start>" --until="<end>" --name-status --pretty=format:"%H|%ai|%s"` 获取带 commit 信息的变更
- 若非 git 仓库，使用 `find` + `-newer` 按修改时间扫描

**分析维度**：

对于每个变更文件，提取：
- 文件路径与类型（原型 / 组件 / 主题 / 文档 / 数据 / 其他）
- 变更类型（新增 / 修改 / 删除）
- 关联的 commit message（如有）
- 关联的 spec.md 中的功能描述（如有）

### 步骤 3：确定输出格式

支持两种总结格式，默认使用精简版：

| 格式 | 适用场景 | 侧重点 |
|------|---------|--------|
| **精简版**（默认） | 日报、站会汇报、快速同步 | 核心产出 + 关键进展，一目了然 |
| **详尽版** | 周报、里程碑回顾、交接文档 | 完整变更列表 + 技术细节 + 数据统计 |

用户可通过以下方式切换：
- "用详尽版" / "要详细的" → 切换为详尽版
- "精简一点" / "简单版就行" → 切换为精简版

### 步骤 4：生成总结

使用 `/src/docs/templates/work-summary-template.md` 中对应格式的模板，填入扫描结果，生成结构化总结。

**总结直接在对话中展示**，方便用户复制分享。

## 输出说明

- 总结内容直接在对话中输出（不写入文件），方便即时复制
- 如果用户要求保存，可写入 `src/docs/` 目录

## 约束

1. **只读操作** — 总结过程不修改任何项目文件
2. **时间准确** — 严格按用户指定或默认的时间范围扫描，不遗漏不越界
3. **客观陈述** — 总结内容仅基于实际文件变更和 commit 记录，不虚构或夸大工作内容
4. **不推测未完成事项** — 不自动生成「进行中」或「待办/计划」板块，这些信息无可靠数据源。仅当用户主动口述补充时，才在末尾追加
5. **隐私安全** — 不在总结中包含敏感配置、密钥或个人信息

## 参考

`src/docs/templates/work-summary-template.md`
