--- 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-模板-闭环复盘)