---
name: sprint-plan
description: "根据当前里程碑、已完成工作和可用产能生成新的冲刺计划或更新现有计划。从生产文档和设计待办事项中拉取上下文。"
argument-hint: "[new|update|status]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Edit
context: |
  !ls production/sprints/ 2>/dev/null
---

当此技能(Skill)被调用时：

1. **读取当前里程碑**，从 `production/milestones/` 获取。

2. **读取上一个冲刺(Sprint)**（如果有的话），从 `production/sprints/` 中读取，
   以了解速率(Velocity)和未完成事项(Carryover)。

3. **扫描设计文档**，在 `design/gdd/` 中查找已标记为可实施的功能。

4. **检查风险登记册**，位于 `production/risk-register/`。

对于 `new`：

5. **生成冲刺计划**，遵循以下格式：

```markdown
# Sprint [N] -- [开始日期] 至 [结束日期]

## Sprint 目标
[一句话描述本冲刺 toward 里程碑的成果]

## 产能(Capacity)
- 总天数: [X]
- 缓冲(20%): [Y 天，预留用于计划外工作]
- 可用天数: [Z]

## 任务

### 必须完成（关键路径，Critical Path）
| ID | 任务 | 代理/负责人 | 预估天数 | 依赖项 | 验收标准 |
|----|------|-------------|-----------|--------|---------|

### 应该完成
| ID | 任务 | 代理/负责人 | 预估天数 | 依赖项 | 验收标准 |
|----|------|-------------|-----------|--------|---------|

### 可以完成
| ID | 任务 | 代理/负责人 | 预估天数 | 依赖项 | 验收标准 |
|----|------|-------------|-----------|--------|---------|

## 上一个冲刺的未完成事项(Carryover)
| 任务 | 原因 | 新预估 |
|------|------|--------|

## 风险
| 风险 | 概率 | 影响 | 缓解措施 |
|------|------|------|---------|

## 外部因素依赖
- [列出任何外部依赖]

## 本 Sprint 的完成定义(Definition of Done)
- [ ] 所有"必须完成"任务已完成
- [ ] 所有任务通过验收标准
- [ ] 交付功能中无 S1 或 S2 缺陷
- [ ] 设计文档已针对偏差进行更新
- [ ] 代码已审查并合并
```

对于 `status`：

5. **生成状态报告**：

```markdown
# Sprint [N] 状态报告 -- [日期]

## 进度: [X/Y 个任务已完成] ([Z%])

### 已完成
| 任务 | 完成者 | 备注 |
|------|--------|------|

### 进行中
| 任务 | 负责人 | 完成度 | 阻碍因素 |
|------|--------|--------|---------|

### 未开始
| 任务 | 负责人 | 是否有风险 | 备注 |
|------|--------|-----------|------|

### 已阻塞
| 任务 | 阻碍因素 | 阻碍者 | 预计解决时间 |
|------|---------|--------|-------------|

## 燃尽图评估(Burndown Assessment)
[正常 / 落后 / 超前]
[如果落后：将削减或推迟哪些内容]

## 新出现的风险
- [本冲刺中新识别的任何风险]
```

### 代理(Agent)协商

对于全面的冲刺计划，建议协商以下代理：
- `producer` 代理——用于产能规划、风险评估和跨部门协调
- `game-designer` 代理——用于功能优先级排序和设计就绪度评估
