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

13 KiB
Raw Permalink Blame History

name description
0010-retrospective 闭环复盘,基于 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 结果指标对比

## 目标 vs 结果指标对比

### 目标指标
| 指标名称 | 目标值 | 实际值 | 达成率 | 状态 |
|----------|--------|--------|--------|------|
| 开发时间 | 3 天 | 4 天 | 75% | ❌ 未达成 |
| 代码覆盖率 | 80% | 85% | 106% | ✅ 超额达成 |
| Bug 数量 | 0 | 2 | - | ❌ 未达成 |
| 性能提升 | 50% | 60% | 120% | ✅ 超额达成 |

### 结果分析
#### 达成的指标
- [指标1]: [达成原因分析]
- [指标2]: [达成原因分析]

#### 未达成的指标
- [指标1]: [未达成原因分析]
- [指标2]: [未达成原因分析]

#### 超额达成的指标
- [指标1]: [超额达成原因分析]
- [指标2]: [超额达成原因分析]

### 经验总结
[整体经验总结]

步骤 2: 提取 3 条有效 Prompt 模式

## 3 条有效 Prompt 模式

### 模式 1: [模式名称]
**描述**: [描述该模式的有效性]

**适用场景**: [适用场景]

**示例**:
```markdown
[Prompt 示例]

效果: [使用该模式后的效果]

原因: [为什么该模式有效]

模式 2: [模式名称]

描述: [描述该模式的有效性]

适用场景: [适用场景]

示例:

[Prompt 示例]

效果: [使用该模式后的效果]

原因: [为什么该模式有效]

模式 3: [模式名称]

描述: [描述该模式的有效性]

适用场景: [适用场景]

示例:

[Prompt 示例]

效果: [使用该模式后的效果]

原因: [为什么该模式有效]


#### 步骤 3: 记录 3 条踩坑与改进
```markdown
## 3 条踩坑与改进

### 踩坑 1: [问题描述]
**问题描述**: [详细描述问题]

**影响**: [问题的影响]

**根本原因**: [问题的根本原因]

**改进措施**: [如何改进]

**Action Item**:
- [ ] [具体行动项1]
- [ ] [具体行动项2]
- [ ] [具体行动项3]

**责任人**: [责任人]
**截止日期**: [截止日期]

### 踩坑 2: [问题描述]
**问题描述**: [详细描述问题]

**影响**: [问题的影响]

**根本原因**: [问题的根本原因]

**改进措施**: [如何改进]

**Action Item**:
- [ ] [具体行动项1]
- [ ] [具体行动项2]
- [ ] [具体行动项3]

**责任人**: [责任人]
**截止日期**: [截止日期]

### 踩坑 3: [问题描述]
**问题描述**: [详细描述问题]

**影响**: [问题的影响]

**根本原因**: [问题的根本原因]

**改进措施**: [如何改进]

**Action Item**:
- [ ] [具体行动项1]
- [ ] [具体行动项2]
- [ ] [具体行动项3]

**责任人**: [责任人]
**截止日期**: [截止日期]

步骤 4: 模板更新记录

## 模板更新记录

### Prompt 模板更新
#### [PROMPT-XXX](../prompts/PROMPT-XXX.md)
**更新原因**: [为什么需要更新]

**更新内容**:
- [更新内容1]
- [更新内容2]

**更新前**:
```markdown
[更新前的内容]

更新后:

[更新后的内容]

效果: [更新后的效果]

ADR 模板更新

ADR-XXX

更新原因: [为什么需要更新]

更新内容:

  • [更新内容1]
  • [更新内容2]

更新前:

[更新前的内容]

更新后:

[更新后的内容]

效果: [更新后的效果]

Session 模板更新

Session-YYYYMMDD

更新原因: [为什么需要更新]

更新内容:

  • [更新内容1]
  • [更新内容2]

更新前:

[更新前的内容]

更新后:

[更新后的内容]

效果: [更新后的效果]

Retro 模板更新

Retro-YYYYMMDD

更新原因: [为什么需要更新]

更新内容:

  • [更新内容1]
  • [更新内容2]

更新前:

[更新前的内容]

更新后:

[更新后的内容]

效果: [更新后的效果]


#### 步骤 5: 技能练习记录
```markdown
## 技能练习记录

### 练习的技能
#### [技能1](../skills/0001-skill-name.md)
**练习内容**: [练习的具体内容]

**练习效果**: [练习后的效果]

**改进建议**: [对技能的改进建议]

#### [技能2](../skills/0002-skill-name.md)
**练习内容**: [练习的具体内容]

**练习效果**: [练习后的效果]

**改进建议**: [对技能的改进建议]

### 技能提升
#### 提升的技能
- [技能1]: [提升的具体内容]
- [技能2]: [提升的具体内容]

#### 新掌握的技能
- [技能1]: [掌握的具体内容]
- [技能2]: [掌握的具体内容]

#### 需要提升的技能
- [技能1]: [需要提升的具体内容]
- [技能2]: [需要提升的具体内容]

步骤 6: 流程改进建议

## 流程改进建议

### 建议改进的流程
1. [改进建议1]
   - **当前问题**: [当前流程的问题]
   - **改进方案**: [改进方案]
   - **预期效果**: [预期效果]

2. [改进建议2]
   - **当前问题**: [当前流程的问题]
   - **改进方案**: [改进方案]
   - **预期效果**: [预期效果]

3. [改进建议3]
   - **当前问题**: [当前流程的问题]
   - **改进方案**: [改进方案]
   - **预期效果**: [预期效果]

### 需要更新的文档
#### [CONTRIBUTING.md](../../CONTRIBUTING.md)
**更新原因**: [为什么需要更新]

**更新内容**:
- [更新内容1]
- [更新内容2]

#### [README.md](../../README.md)
**更新原因**: [为什么需要更新]

**更新内容**:
- [更新内容1]
- [更新内容2]

步骤 7: 创建 Retro 文档

---
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

### 🔄 迭代复盘 (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 示例

## 3 条踩坑与改进

### 踩坑 1: Prompt 缺少上下文链接
**问题描述**: Prompt 没有引用相关的需求文档和设计文档,导致 AI 无法理解上下文。

**影响**: 生成的代码不符合需求,需要多次修改。

**根本原因**: Prompt 模板缺少上下文链接字段。

**改进措施**: 在 Prompt 模板中添加"上下文链接"字段,强制要求引用相关文档。

**Action Item**:
- [ ] 更新 docs/prompts/0000-template.md添加上下文链接字段
- [ ] 更新所有现有 Prompt补充上下文链接
- [ ] 在 Prompt 编写技能中强调上下文链接的重要性

**责任人**: SSOT Architect
**截止日期**: 2026-01-20

Incorrect 示例

## 问题

1. Prompt 缺少上下文链接
2. 代码风格不一致
3. 测试覆盖率不够

问题: 只记录了问题,没有产生 Action Item无法解决问题。