datai/docs/archive/skill/0010-retrospective.md

545 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: 0010-retrospective
description: 闭环复盘,基于 Retro 模板进行总结
---
# 技能:闭环复盘 (Retrospective)
## 元数据 (Metadata)
- **name**: retrospective
- **description**: 闭环复盘,基于 Retro 模板进行总结
- **version**: 1.0.0
- **author**: SSOT Architect
- **lastUpdated**: 2026-01-15
## 触发与定位 (Triggers & Scope)
### 触发条件 (Triggers)
当以下情况发生时AI 应当"觉醒"本技能:
1. **变更记录完成**: 完成变更记录后,需要进行复盘
2. **功能发布**: 功能发布后,需要进行复盘
3. **迭代结束**: Sprint 或迭代结束后,需要进行复盘
4. **问题发现**: 发现流程或模板问题,需要进行复盘
5. **工作流阶段 7**: 用户进入工作流的"闭环复盘"阶段
### 定位范围 (Scope)
- **适用模块**: 所有 Datai 项目模块
- **影响文件**: `docs/retros/YYYYMMDD-Review.md`, `docs/prompts/`, `CONTRIBUTING.md`
- **相关技能**: skill-changelog-archiving, skill-verification-commit
## 核心指令集 (Instructions)
### 架构约束 (Architecture Constraints)
1. **Retro 必须包含**:
- 目标 vs 结果指标对比
- 3 条有效 Prompt 模式
- 3 条踩坑与改进
- 模板更新记录
- 技能练习记录
2. **强制闭环规则**:
- 如果发现 Prompt 效果不好 -> **必须**修改 `docs/prompts/` 下的对应文件
- 如果发现流程问题 -> **必须**更新 `CONTRIBUTING.md`
- 不要只记录问题,要产生 Action Item
3. **反哺原则**:
- 如果发现模板不适用,立即执行一次"模板更新"
- 如果发现流程有问题,立即更新相关文档
- 如果发现技能有问题,立即更新技能文档
### 业务逻辑 SOP (Business Logic SOP)
#### 步骤 1: 目标 vs 结果指标对比
```markdown
## 目标 vs 结果指标对比
### 目标指标
| 指标名称 | 目标值 | 实际值 | 达成率 | 状态 |
|----------|--------|--------|--------|------|
| 开发时间 | 3 天 | 4 天 | 75% | ❌ 未达成 |
| 代码覆盖率 | 80% | 85% | 106% | ✅ 超额达成 |
| Bug 数量 | 0 | 2 | - | ❌ 未达成 |
| 性能提升 | 50% | 60% | 120% | ✅ 超额达成 |
### 结果分析
#### 达成的指标
- [指标1]: [达成原因分析]
- [指标2]: [达成原因分析]
#### 未达成的指标
- [指标1]: [未达成原因分析]
- [指标2]: [未达成原因分析]
#### 超额达成的指标
- [指标1]: [超额达成原因分析]
- [指标2]: [超额达成原因分析]
### 经验总结
[整体经验总结]
```
#### 步骤 2: 提取 3 条有效 Prompt 模式
```markdown
## 3 条有效 Prompt 模式
### 模式 1: [模式名称]
**描述**: [描述该模式的有效性]
**适用场景**: [适用场景]
**示例**:
```markdown
[Prompt 示例]
```
**效果**: [使用该模式后的效果]
**原因**: [为什么该模式有效]
### 模式 2: [模式名称]
**描述**: [描述该模式的有效性]
**适用场景**: [适用场景]
**示例**:
```markdown
[Prompt 示例]
```
**效果**: [使用该模式后的效果]
**原因**: [为什么该模式有效]
### 模式 3: [模式名称]
**描述**: [描述该模式的有效性]
**适用场景**: [适用场景]
**示例**:
```markdown
[Prompt 示例]
```
**效果**: [使用该模式后的效果]
**原因**: [为什么该模式有效]
```
#### 步骤 3: 记录 3 条踩坑与改进
```markdown
## 3 条踩坑与改进
### 踩坑 1: [问题描述]
**问题描述**: [详细描述问题]
**影响**: [问题的影响]
**根本原因**: [问题的根本原因]
**改进措施**: [如何改进]
**Action Item**:
- [ ] [具体行动项1]
- [ ] [具体行动项2]
- [ ] [具体行动项3]
**责任人**: [责任人]
**截止日期**: [截止日期]
### 踩坑 2: [问题描述]
**问题描述**: [详细描述问题]
**影响**: [问题的影响]
**根本原因**: [问题的根本原因]
**改进措施**: [如何改进]
**Action Item**:
- [ ] [具体行动项1]
- [ ] [具体行动项2]
- [ ] [具体行动项3]
**责任人**: [责任人]
**截止日期**: [截止日期]
### 踩坑 3: [问题描述]
**问题描述**: [详细描述问题]
**影响**: [问题的影响]
**根本原因**: [问题的根本原因]
**改进措施**: [如何改进]
**Action Item**:
- [ ] [具体行动项1]
- [ ] [具体行动项2]
- [ ] [具体行动项3]
**责任人**: [责任人]
**截止日期**: [截止日期]
```
#### 步骤 4: 模板更新记录
```markdown
## 模板更新记录
### Prompt 模板更新
#### [PROMPT-XXX](../prompts/PROMPT-XXX.md)
**更新原因**: [为什么需要更新]
**更新内容**:
- [更新内容1]
- [更新内容2]
**更新前**:
```markdown
[更新前的内容]
```
**更新后**:
```markdown
[更新后的内容]
```
**效果**: [更新后的效果]
### ADR 模板更新
#### [ADR-XXX](../decisions/adr/ADR-XXX.md)
**更新原因**: [为什么需要更新]
**更新内容**:
- [更新内容1]
- [更新内容2]
**更新前**:
```markdown
[更新前的内容]
```
**更新后**:
```markdown
[更新后的内容]
```
**效果**: [更新后的效果]
### Session 模板更新
#### [Session-YYYYMMDD](../sessions/YYYYMMDD-TaskName.md)
**更新原因**: [为什么需要更新]
**更新内容**:
- [更新内容1]
- [更新内容2]
**更新前**:
```markdown
[更新前的内容]
```
**更新后**:
```markdown
[更新后的内容]
```
**效果**: [更新后的效果]
### Retro 模板更新
#### [Retro-YYYYMMDD](../retros/YYYYMMDD-Review.md)
**更新原因**: [为什么需要更新]
**更新内容**:
- [更新内容1]
- [更新内容2]
**更新前**:
```markdown
[更新前的内容]
```
**更新后**:
```markdown
[更新后的内容]
```
**效果**: [更新后的效果]
```
#### 步骤 5: 技能练习记录
```markdown
## 技能练习记录
### 练习的技能
#### [技能1](../skills/0001-skill-name.md)
**练习内容**: [练习的具体内容]
**练习效果**: [练习后的效果]
**改进建议**: [对技能的改进建议]
#### [技能2](../skills/0002-skill-name.md)
**练习内容**: [练习的具体内容]
**练习效果**: [练习后的效果]
**改进建议**: [对技能的改进建议]
### 技能提升
#### 提升的技能
- [技能1]: [提升的具体内容]
- [技能2]: [提升的具体内容]
#### 新掌握的技能
- [技能1]: [掌握的具体内容]
- [技能2]: [掌握的具体内容]
#### 需要提升的技能
- [技能1]: [需要提升的具体内容]
- [技能2]: [需要提升的具体内容]
```
#### 步骤 6: 流程改进建议
```markdown
## 流程改进建议
### 建议改进的流程
1. [改进建议1]
- **当前问题**: [当前流程的问题]
- **改进方案**: [改进方案]
- **预期效果**: [预期效果]
2. [改进建议2]
- **当前问题**: [当前流程的问题]
- **改进方案**: [改进方案]
- **预期效果**: [预期效果]
3. [改进建议3]
- **当前问题**: [当前流程的问题]
- **改进方案**: [改进方案]
- **预期效果**: [预期效果]
### 需要更新的文档
#### [CONTRIBUTING.md](../../CONTRIBUTING.md)
**更新原因**: [为什么需要更新]
**更新内容**:
- [更新内容1]
- [更新内容2]
#### [README.md](../../README.md)
**更新原因**: [为什么需要更新]
**更新内容**:
- [更新内容1]
- [更新内容2]
```
#### 步骤 7: 创建 Retro 文档
```markdown
---
name: RETRO-20260115
description: 迭代复盘
---
# 迭代复盘: [复盘名称]
## 元数据 (Metadata)
- **Date**: 2026-01-15
- **Review Type**: [Sprint Review/Feature Review/Process Review]
- **Review Period**: [复盘周期]
- **Participants**: [参与者]
- **Related Requirements**: [REQ-XXX](../requirements/REQ-XXX.md)
- **Related Session**: [20260115-TaskName](../sessions/20260115-TaskName.md)
## 目标 vs 结果指标对比 (Goal vs Result Metrics)
### 目标指标
| 指标名称 | 目标值 | 实际值 | 达成率 | 状态 |
|----------|--------|--------|--------|------|
| [指标1] | [目标值] | [实际值] | [达成率] | [状态] |
| [指标2] | [目标值] | [实际值] | [达成率] | [状态] |
### 结果分析
[目标与结果的差异分析]
## 3 条有效 Prompt 模式 (3 Effective Prompt Patterns)
### 模式 1: [模式名称]
[描述该模式的有效性]
- **适用场景**: [适用场景]
- **示例**: [示例]
### 模式 2: [模式名称]
[描述该模式的有效性]
- **适用场景**: [适用场景]
- **示例**: [示例]
### 模式 3: [模式名称]
[描述该模式的有效性]
- **适用场景**: [适用场景]
- **示例**: [示例]
## 3 条踩坑与改进 (3 Pitfalls and Improvements)
### 踩坑 1: [问题描述]
- **问题描述**: [详细描述问题]
- **影响**: [问题的影响]
- **改进措施**: [如何改进]
- **Action Item**: [具体行动项]
### 踩坑 2: [问题描述]
- **问题描述**: [详细描述问题]
- **影响**: [问题的影响]
- **改进措施**: [如何改进]
- **Action Item**: [具体行动项]
### 踩坑 3: [问题描述]
- **问题描述**: [详细描述问题]
- **影响**: [问题的影响]
- **改进措施**: [如何改进]
- **Action Item**: [具体行动项]
## 模板更新记录 (Template Updates)
### Prompt 模板更新
- [PROMPT-001](../prompts/PROMPT-001.md): [更新内容]
- [PROMPT-002](../prompts/PROMPT-002.md): [更新内容]
### ADR 模板更新
- [ADR-001](../decisions/adr/ADR-001.md): [更新内容]
### Session 模板更新
- [Session-YYYYMMDD](../sessions/YYYYMMDD-TaskName.md): [更新内容]
## 技能练习记录 (Skill Practice)
### 练习的技能
- [技能1](../skills/0001-skill-name.md): [练习内容]
- [技能2](../skills/0002-skill-name.md): [练习内容]
### 技能提升
[技能提升的总结]
## 流程改进建议 (Process Improvement)
### 建议改进的流程
1. [改进建议1]
2. [改进建议2]
3. [改进建议3]
### 需要更新的文档
- [CONTRIBUTING.md](../../CONTRIBUTING.md): [更新内容]
- [README.md](../../README.md): [更新内容]
## 相关文档 (Related Documents)
- [会话记录](../sessions/YYYYMMDD-TaskName.md)
- [需求文档](../requirements/REQ-XXX.md)
- [ADR 文档](../decisions/adr/ADR-XXX.md)
```
#### 步骤 8: 更新 docs/index.md
```markdown
### 🔄 迭代复盘 (Retros)
| 文档 | 类型 | 日期 |
|------|------|------|
| [20260115-Review](retros/20260115-Review.md) | Sprint Review | 2026-01-15 |
```
### 工具调用 (Tool Usage)
1. **文件读取工具**:
- 使用 `Read` 工具读取现有模板
- 使用 `Read` 工具读取 `docs/index.md`
2. **文件更新工具**:
- 使用 `SearchReplace` 工具更新模板
- 使用 `SearchReplace` 工具更新 `docs/index.md`
3. **文件创建工具**:
- 使用 `Write` 工具创建 Retro 文档
## 错误陷阱与验证 (Anti-Patterns & Checklist)
### 常见错误 (Anti-Patterns)
1. **错误**: 只记录问题,不产生 Action Item
- **后果**: 问题无法解决,无法改进
- **修正**: 必须为每个问题产生具体的 Action Item
2. **错误**: 发现 Prompt 效果不好但不更新模板
- **后果**: 同样的问题会重复出现
- **修正**: 必须更新 `docs/prompts/` 下的对应文件
3. **错误**: 发现流程问题但不更新文档
- **后果**: 流程问题无法解决
- **修正**: 必须更新 `CONTRIBUTING.md` 等相关文档
4. **错误**: 不提取有效的 Prompt 模式
- **后果**: 无法积累经验,无法提升效率
- **修正**: 必须提取 3 条有效的 Prompt 模式
5. **错误**: 不记录踩坑经验
- **后果**: 同样的错误会重复出现
- **修正**: 必须记录 3 条踩坑与改进
### 验收清单 (Acceptance Checklist)
- [ ] 目标 vs 结果指标对比已完成
- [ ] 3 条有效 Prompt 模式已提取
- [ ] 3 条踩坑与改进已记录
- [ ] Action Item 已产生
- [ ] 模板更新记录已完成
- [ ] 技能练习记录已完成
- [ ] 流程改进建议已提出
- [ ] Retro 文档已创建
- [ ] 相关文档已更新
- [ ] docs/index.md 已更新
### Correct vs Incorrect 对比
#### Correct 示例
```markdown
## 3 条踩坑与改进
### 踩坑 1: Prompt 缺少上下文链接
**问题描述**: Prompt 没有引用相关的需求文档和设计文档,导致 AI 无法理解上下文。
**影响**: 生成的代码不符合需求,需要多次修改。
**根本原因**: Prompt 模板缺少上下文链接字段。
**改进措施**: 在 Prompt 模板中添加"上下文链接"字段,强制要求引用相关文档。
**Action Item**:
- [ ] 更新 docs/prompts/0000-template.md添加上下文链接字段
- [ ] 更新所有现有 Prompt补充上下文链接
- [ ] 在 Prompt 编写技能中强调上下文链接的重要性
**责任人**: SSOT Architect
**截止日期**: 2026-01-20
```
#### Incorrect 示例
```markdown
## 问题
1. Prompt 缺少上下文链接
2. 代码风格不一致
3. 测试覆盖率不够
```
**问题**: 只记录了问题,没有产生 Action Item无法解决问题。
## 相关文档 (Related Documents)
- [工作流提示词](../prompts/03-创建工作流提示词.md#阶段-7-闭环复盘-retrospective)
- [变更记录与归档技能](./0009-changelog-archiving.md)
- [测试与版本提交技能](./0011-verification-commit.md)
- [Retro 模板](../prompts/03-创建工作流提示词.md#44-retro--loop-模板-闭环复盘)