bmad-method 6.3.1-next.8 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/package.json +3 -2
  2. package/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md +51 -36
  3. package/src/bmm-skills/1-analysis/bmad-agent-analyst/customize.toml +90 -0
  4. package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md +50 -33
  5. package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/customize.toml +81 -0
  6. package/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md +57 -1
  7. package/src/bmm-skills/1-analysis/bmad-document-project/customize.toml +41 -0
  8. package/src/bmm-skills/1-analysis/bmad-document-project/workflows/deep-dive-instructions.md +1 -0
  9. package/src/bmm-skills/1-analysis/bmad-document-project/workflows/full-scan-instructions.md +1 -0
  10. package/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md +48 -9
  11. package/src/bmm-skills/1-analysis/bmad-prfaq/customize.toml +41 -0
  12. package/src/bmm-skills/1-analysis/bmad-prfaq/references/verdict.md +4 -0
  13. package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +44 -9
  14. package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +47 -0
  15. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/contextual-discovery.md +8 -7
  16. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/draft-and-review.md +6 -5
  17. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/finalize.md +4 -1
  18. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/guided-elicitation.md +3 -2
  19. package/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +91 -1
  20. package/src/bmm-skills/1-analysis/research/bmad-domain-research/customize.toml +41 -0
  21. package/src/bmm-skills/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +6 -0
  22. package/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +91 -1
  23. package/src/bmm-skills/1-analysis/research/bmad-market-research/customize.toml +41 -0
  24. package/src/bmm-skills/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +6 -0
  25. package/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +91 -1
  26. package/src/bmm-skills/1-analysis/research/bmad-technical-research/customize.toml +41 -0
  27. package/src/bmm-skills/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +6 -0
  28. package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md +50 -35
  29. package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/customize.toml +85 -0
  30. package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md +50 -31
  31. package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/customize.toml +60 -0
  32. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/SKILL.md +99 -1
  33. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/customize.toml +41 -0
  34. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-12-complete.md +6 -0
  35. package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/SKILL.md +70 -1
  36. package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/customize.toml +41 -0
  37. package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +6 -0
  38. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md +97 -1
  39. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/customize.toml +42 -0
  40. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md +2 -0
  41. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md +99 -1
  42. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/customize.toml +42 -0
  43. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +1 -0
  44. package/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md +50 -30
  45. package/src/bmm-skills/3-solutioning/bmad-agent-architect/customize.toml +65 -0
  46. package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md +86 -1
  47. package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/customize.toml +41 -0
  48. package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +6 -0
  49. package/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md +69 -1
  50. package/src/bmm-skills/3-solutioning/bmad-create-architecture/customize.toml +41 -0
  51. package/src/bmm-skills/3-solutioning/bmad-create-architecture/steps/step-08-complete.md +6 -0
  52. package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md +88 -1
  53. package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/customize.toml +41 -0
  54. package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +6 -0
  55. package/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md +76 -1
  56. package/src/bmm-skills/3-solutioning/bmad-generate-project-context/customize.toml +41 -0
  57. package/src/bmm-skills/3-solutioning/bmad-generate-project-context/steps/step-03-complete.md +6 -0
  58. package/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md +48 -43
  59. package/src/bmm-skills/4-implementation/bmad-agent-dev/customize.toml +90 -0
  60. package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md +46 -7
  61. package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/customize.toml +41 -0
  62. package/src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-05-wrapup.md +6 -0
  63. package/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md +85 -1
  64. package/src/bmm-skills/4-implementation/bmad-code-review/customize.toml +41 -0
  65. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md +6 -0
  66. package/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md +296 -1
  67. package/src/bmm-skills/4-implementation/bmad-correct-course/customize.toml +41 -0
  68. package/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md +424 -1
  69. package/src/bmm-skills/4-implementation/bmad-create-story/customize.toml +41 -0
  70. package/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md +480 -1
  71. package/src/bmm-skills/4-implementation/bmad-dev-story/customize.toml +41 -0
  72. package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md +171 -1
  73. package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/customize.toml +41 -0
  74. package/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md +106 -1
  75. package/src/bmm-skills/4-implementation/bmad-quick-dev/customize.toml +41 -0
  76. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-05-present.md +6 -0
  77. package/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md +6 -0
  78. package/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md +1507 -1
  79. package/src/bmm-skills/4-implementation/bmad-retrospective/customize.toml +41 -0
  80. package/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md +294 -1
  81. package/src/bmm-skills/4-implementation/bmad-sprint-planning/customize.toml +41 -0
  82. package/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md +292 -1
  83. package/src/bmm-skills/4-implementation/bmad-sprint-status/customize.toml +41 -0
  84. package/src/bmm-skills/module.yaml +49 -0
  85. package/src/core-skills/bmad-advanced-elicitation/SKILL.md +7 -1
  86. package/src/core-skills/bmad-customize/SKILL.md +111 -0
  87. package/src/core-skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
  88. package/src/core-skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
  89. package/src/core-skills/bmad-distillator/resources/distillate-format-reference.md +1 -1
  90. package/src/core-skills/bmad-party-mode/SKILL.md +13 -10
  91. package/src/core-skills/module-help.csv +1 -0
  92. package/src/core-skills/module.yaml +2 -0
  93. package/src/scripts/resolve_config.py +176 -0
  94. package/src/scripts/resolve_customization.py +230 -0
  95. package/tools/installer/commands/install.js +13 -0
  96. package/tools/installer/core/config.js +4 -1
  97. package/tools/installer/core/install-paths.js +11 -5
  98. package/tools/installer/core/installer.js +181 -94
  99. package/tools/installer/core/manifest-generator.js +339 -184
  100. package/tools/installer/core/manifest.js +86 -86
  101. package/tools/installer/fs-native.js +5 -0
  102. package/tools/installer/ide/platform-codes.yaml +6 -0
  103. package/tools/installer/modules/channel-plan.js +203 -0
  104. package/tools/installer/modules/channel-resolver.js +241 -0
  105. package/tools/installer/modules/community-manager.js +130 -23
  106. package/tools/installer/modules/custom-module-manager.js +160 -19
  107. package/tools/installer/modules/external-manager.js +235 -32
  108. package/tools/installer/modules/official-modules.js +58 -12
  109. package/tools/installer/modules/registry-client.js +139 -7
  110. package/tools/installer/modules/registry-fallback.yaml +8 -0
  111. package/tools/installer/modules/version-resolver.js +336 -0
  112. package/tools/installer/project-root.js +54 -0
  113. package/tools/installer/ui.js +561 -50
  114. package/tools/platform-codes.yaml +6 -0
  115. package/src/bmm-skills/1-analysis/bmad-agent-analyst/bmad-skill-manifest.yaml +0 -11
  116. package/src/bmm-skills/1-analysis/bmad-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
  117. package/src/bmm-skills/1-analysis/bmad-document-project/workflow.md +0 -25
  118. package/src/bmm-skills/1-analysis/research/bmad-domain-research/workflow.md +0 -51
  119. package/src/bmm-skills/1-analysis/research/bmad-market-research/workflow.md +0 -51
  120. package/src/bmm-skills/1-analysis/research/bmad-technical-research/workflow.md +0 -52
  121. package/src/bmm-skills/2-plan-workflows/bmad-agent-pm/bmad-skill-manifest.yaml +0 -11
  122. package/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/bmad-skill-manifest.yaml +0 -11
  123. package/src/bmm-skills/2-plan-workflows/bmad-create-prd/workflow.md +0 -61
  124. package/src/bmm-skills/2-plan-workflows/bmad-create-ux-design/workflow.md +0 -35
  125. package/src/bmm-skills/2-plan-workflows/bmad-edit-prd/workflow.md +0 -62
  126. package/src/bmm-skills/2-plan-workflows/bmad-validate-prd/workflow.md +0 -61
  127. package/src/bmm-skills/3-solutioning/bmad-agent-architect/bmad-skill-manifest.yaml +0 -11
  128. package/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/workflow.md +0 -47
  129. package/src/bmm-skills/3-solutioning/bmad-create-architecture/workflow.md +0 -32
  130. package/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/workflow.md +0 -51
  131. package/src/bmm-skills/3-solutioning/bmad-generate-project-context/workflow.md +0 -39
  132. package/src/bmm-skills/4-implementation/bmad-agent-dev/bmad-skill-manifest.yaml +0 -11
  133. package/src/bmm-skills/4-implementation/bmad-code-review/workflow.md +0 -55
  134. package/src/bmm-skills/4-implementation/bmad-correct-course/workflow.md +0 -267
  135. package/src/bmm-skills/4-implementation/bmad-create-story/workflow.md +0 -380
  136. package/src/bmm-skills/4-implementation/bmad-dev-story/workflow.md +0 -450
  137. package/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/workflow.md +0 -136
  138. package/src/bmm-skills/4-implementation/bmad-quick-dev/workflow.md +0 -76
  139. package/src/bmm-skills/4-implementation/bmad-retrospective/workflow.md +0 -1479
  140. package/src/bmm-skills/4-implementation/bmad-sprint-planning/workflow.md +0 -263
  141. package/src/bmm-skills/4-implementation/bmad-sprint-status/workflow.md +0 -261
@@ -3,4 +3,1510 @@ name: bmad-retrospective
3
3
  description: 'Post-epic review to extract lessons and assess success. Use when the user says "run a retrospective" or "lets retro the epic [epic]"'
4
4
  ---
5
5
 
6
- Follow the instructions in ./workflow.md.
6
+ # Retrospective Workflow
7
+
8
+ **Goal:** Post-epic review to extract lessons and assess success.
9
+
10
+ **Your Role:** Developer facilitating retrospective.
11
+ - No time estimates — NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed.
12
+ - Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}
13
+ - Generate all documents in {document_output_language}
14
+ - Document output: Retrospective analysis. Concise insights, lessons learned, action items. User skill level ({user_skill_level}) affects conversation style ONLY, not retrospective content.
15
+ - Facilitation notes:
16
+ - Psychological safety is paramount - NO BLAME
17
+ - Focus on systems, processes, and learning
18
+ - Everyone contributes with specific examples preferred
19
+ - Action items must be achievable with clear ownership
20
+ - Two-part format: (1) Epic Review + (2) Next Epic Preparation
21
+ - Party mode protocol:
22
+ - ALL agent dialogue MUST use format: "Name (Role): dialogue"
23
+ - Example: Amelia (Developer): "Let's begin..."
24
+ - Example: {user_name} (Project Lead): [User responds]
25
+ - Create natural back-and-forth with user actively participating
26
+ - Show disagreements, diverse perspectives, authentic team dynamics
27
+
28
+ ## Conventions
29
+
30
+ - Bare paths resolve from the skill root.
31
+ - `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
32
+ - `{project-root}`-prefixed paths resolve from the project working directory.
33
+ - `{skill-name}` resolves to the skill directory's basename.
34
+
35
+ ## On Activation
36
+
37
+ ### Step 1: Resolve the Workflow Block
38
+
39
+ Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`
40
+
41
+ **If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
42
+
43
+ 1. `{skill-root}/customize.toml` — defaults
44
+ 2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
45
+ 3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides
46
+
47
+ Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
48
+
49
+ ### Step 2: Execute Prepend Steps
50
+
51
+ Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
52
+
53
+ ### Step 3: Load Persistent Facts
54
+
55
+ Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
56
+
57
+ ### Step 4: Load Config
58
+
59
+ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
60
+
61
+ - `project_name`, `user_name`
62
+ - `communication_language`, `document_output_language`
63
+ - `user_skill_level`
64
+ - `planning_artifacts`, `implementation_artifacts`
65
+ - `date` as system-generated current datetime
66
+ - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
67
+
68
+ ### Step 5: Greet the User
69
+
70
+ Greet `{user_name}`, speaking in `{communication_language}`.
71
+
72
+ ### Step 6: Execute Append Steps
73
+
74
+ Execute each entry in `{workflow.activation_steps_append}` in order.
75
+
76
+ Activation is complete. Begin the workflow below.
77
+
78
+ ## Paths
79
+
80
+ - `sprint_status_file` = `{implementation_artifacts}/sprint-status.yaml`
81
+
82
+ ## Input Files
83
+
84
+ | Input | Description | Path Pattern(s) | Load Strategy |
85
+ |-------|-------------|------------------|---------------|
86
+ | epics | The completed epic for retrospective | whole: `{planning_artifacts}/*epic*.md`, sharded_index: `{planning_artifacts}/*epic*/index.md`, sharded_single: `{planning_artifacts}/*epic*/epic-{{epic_num}}.md` | SELECTIVE_LOAD |
87
+ | previous_retrospective | Previous epic's retrospective (optional) | `{implementation_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md` | SELECTIVE_LOAD |
88
+ | architecture | System architecture for context | whole: `{planning_artifacts}/*architecture*.md`, sharded: `{planning_artifacts}/*architecture*/*.md` | FULL_LOAD |
89
+ | prd | Product requirements for context | whole: `{planning_artifacts}/*prd*.md`, sharded: `{planning_artifacts}/*prd*/*.md` | FULL_LOAD |
90
+ | document_project | Brownfield project documentation (optional) | sharded: `{planning_artifacts}/*.md` | INDEX_GUIDED |
91
+
92
+ ## Required Inputs
93
+
94
+ - `agent_roster` = resolved via `python3 {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key agents` (merges four layers in order: `_bmad/config.toml`, `_bmad/config.user.toml`, `_bmad/custom/config.toml`, `_bmad/custom/config.user.toml`)
95
+
96
+ ## Execution
97
+
98
+ <workflow>
99
+
100
+ <step n="1" goal="Epic Discovery - Find Completed Epic with Priority Logic">
101
+
102
+ <action>Explain to {user_name} the epic discovery process using natural dialogue</action>
103
+
104
+ <output>
105
+ Amelia (Developer): "Welcome to the retrospective, {user_name}. Let me help you identify which epic we just completed. I'll check sprint-status first, but you're the ultimate authority on what we're reviewing today."
106
+ </output>
107
+
108
+ <action>PRIORITY 1: Check {sprint_status_file} first</action>
109
+
110
+ <action>Load the FULL file: {sprint_status_file}</action>
111
+ <action>Read ALL development_status entries</action>
112
+ <action>Find the highest epic number with at least one story marked "done"</action>
113
+ <action>Extract epic number from keys like "epic-X-retrospective" or story keys like "X-Y-story-name"</action>
114
+ <action>Set {{detected_epic}} = highest epic number found with completed stories</action>
115
+
116
+ <check if="{{detected_epic}} found">
117
+ <action>Present finding to user with context</action>
118
+
119
+ <output>
120
+ Amelia (Developer): "Based on {sprint_status_file}, it looks like Epic {{detected_epic}} was recently completed. Is that the epic you want to review today, {user_name}?"
121
+ </output>
122
+
123
+ <action>WAIT for {user_name} to confirm or correct</action>
124
+
125
+ <check if="{user_name} confirms">
126
+ <action>Set {{epic_number}} = {{detected_epic}}</action>
127
+ </check>
128
+
129
+ <check if="{user_name} provides different epic number">
130
+ <action>Set {{epic_number}} = user-provided number</action>
131
+ <output>
132
+ Amelia (Developer): "Got it, we're reviewing Epic {{epic_number}}. Let me gather that information."
133
+ </output>
134
+ </check>
135
+ </check>
136
+
137
+ <check if="{{detected_epic}} NOT found in sprint-status">
138
+ <action>PRIORITY 2: Ask user directly</action>
139
+
140
+ <output>
141
+ Amelia (Developer): "I'm having trouble detecting the completed epic from {sprint_status_file}. {user_name}, which epic number did you just complete?"
142
+ </output>
143
+
144
+ <action>WAIT for {user_name} to provide epic number</action>
145
+ <action>Set {{epic_number}} = user-provided number</action>
146
+ </check>
147
+
148
+ <check if="{{epic_number}} still not determined">
149
+ <action>PRIORITY 3: Fallback to stories folder</action>
150
+
151
+ <action>Scan {implementation_artifacts} for highest numbered story files</action>
152
+ <action>Extract epic numbers from story filenames (pattern: epic-X-Y-story-name.md)</action>
153
+ <action>Set {{detected_epic}} = highest epic number found</action>
154
+
155
+ <output>
156
+ Amelia (Developer): "I found stories for Epic {{detected_epic}} in the stories folder. Is that the epic we're reviewing, {user_name}?"
157
+ </output>
158
+
159
+ <action>WAIT for {user_name} to confirm or correct</action>
160
+ <action>Set {{epic_number}} = confirmed number</action>
161
+ </check>
162
+
163
+ <action>Once {{epic_number}} is determined, verify epic completion status</action>
164
+
165
+ <action>Find all stories for epic {{epic_number}} in {sprint_status_file}:
166
+
167
+ - Look for keys starting with "{{epic_number}}-" (e.g., "1-1-", "1-2-", etc.)
168
+ - Exclude epic key itself ("epic-{{epic_number}}")
169
+ - Exclude retrospective key ("epic-{{epic_number}}-retrospective")
170
+ </action>
171
+
172
+ <action>Count total stories found for this epic</action>
173
+ <action>Count stories with status = "done"</action>
174
+ <action>Collect list of pending story keys (status != "done")</action>
175
+ <action>Determine if complete: true if all stories are done, false otherwise</action>
176
+
177
+ <check if="epic is not complete">
178
+ <output>
179
+ Alice (Product Owner): "Wait, Amelia - I'm seeing that Epic {{epic_number}} isn't actually complete yet."
180
+
181
+ Amelia (Developer): "Let me check... you're right, Alice."
182
+
183
+ **Epic Status:**
184
+
185
+ - Total Stories: {{total_stories}}
186
+ - Completed (Done): {{done_stories}}
187
+ - Pending: {{pending_count}}
188
+
189
+ **Pending Stories:**
190
+ {{pending_story_list}}
191
+
192
+ Amelia (Developer): "{user_name}, we typically run retrospectives after all stories are done. What would you like to do?"
193
+
194
+ **Options:**
195
+
196
+ 1. Complete remaining stories before running retrospective (recommended)
197
+ 2. Continue with partial retrospective (not ideal, but possible)
198
+ 3. Run sprint-planning to refresh story tracking
199
+ </output>
200
+
201
+ <ask if="{{non_interactive}} == false">Continue with incomplete epic? (yes/no)</ask>
202
+
203
+ <check if="user says no">
204
+ <output>
205
+ Amelia (Developer): "Smart call, {user_name}. Let's finish those stories first and then have a proper retrospective."
206
+ </output>
207
+ <action>HALT</action>
208
+ </check>
209
+
210
+ <action if="user says yes">Set {{partial_retrospective}} = true</action>
211
+ <output>
212
+ Charlie (Senior Dev): "Just so everyone knows, this partial retro might miss some important lessons from those pending stories."
213
+
214
+ Amelia (Developer): "Good point, Charlie. {user_name}, we'll document what we can now, but we may want to revisit after everything's done."
215
+ </output>
216
+ </check>
217
+
218
+ <check if="epic is complete">
219
+ <output>
220
+ Alice (Product Owner): "Excellent! All {{done_stories}} stories are marked done."
221
+
222
+ Amelia (Developer): "Perfect. Epic {{epic_number}} is complete and ready for retrospective, {user_name}."
223
+ </output>
224
+ </check>
225
+
226
+ </step>
227
+
228
+ <step n="0.5" goal="Discover and load project documents">
229
+ <action>Load input files according to the Input Files table above. For SELECTIVE_LOAD inputs, load only the epic matching {{epic_number}}. For FULL_LOAD inputs, load the complete document. For INDEX_GUIDED inputs, check the index first and load relevant sections. After discovery, these content variables are available: {epics_content} (selective load for this epic), {architecture_content}, {prd_content}, {document_project_content}</action>
230
+ <note>After discovery, these content variables are available: {epics_content} (selective load for this epic), {architecture_content}, {prd_content}, {document_project_content}</note>
231
+ </step>
232
+
233
+ <step n="2" goal="Deep Story Analysis - Extract Lessons from Implementation">
234
+
235
+ <output>
236
+ Amelia (Developer): "Before we start the team discussion, let me review all the story records to surface key themes. This'll help us have a richer conversation."
237
+
238
+ Charlie (Senior Dev): "Good idea - those dev notes always have gold in them."
239
+ </output>
240
+
241
+ <action>For each story in epic {{epic_number}}, read the complete story file from {implementation_artifacts}/{{epic_number}}-{{story_num}}-*.md</action>
242
+
243
+ <action>Extract and analyze from each story:</action>
244
+
245
+ **Dev Notes and Struggles:**
246
+
247
+ - Look for sections like "## Dev Notes", "## Implementation Notes", "## Challenges", "## Development Log"
248
+ - Identify where developers struggled or made mistakes
249
+ - Note unexpected complexity or gotchas discovered
250
+ - Record technical decisions that didn't work out as planned
251
+ - Track where estimates were way off (too high or too low)
252
+
253
+ **Review Feedback Patterns:**
254
+
255
+ - Look for "## Review", "## Code Review", "## Dev Review" sections
256
+ - Identify recurring feedback themes across stories
257
+ - Note which types of issues came up repeatedly
258
+ - Track quality concerns or architectural misalignments
259
+ - Document praise or exemplary work called out in reviews
260
+
261
+ **Lessons Learned:**
262
+
263
+ - Look for "## Lessons Learned", "## Retrospective Notes", "## Takeaways" sections within stories
264
+ - Extract explicit lessons documented during development
265
+ - Identify "aha moments" or breakthroughs
266
+ - Note what would be done differently
267
+ - Track successful experiments or approaches
268
+
269
+ **Technical Debt Incurred:**
270
+
271
+ - Look for "## Technical Debt", "## TODO", "## Known Issues", "## Future Work" sections
272
+ - Document shortcuts taken and why
273
+ - Track debt items that affect next epic
274
+ - Note severity and priority of debt items
275
+
276
+ **Testing and Quality Insights:**
277
+
278
+ - Look for "## Testing", "## QA Notes", "## Test Results" sections
279
+ - Note testing challenges or surprises
280
+ - Track bug patterns or regression issues
281
+ - Document test coverage gaps
282
+
283
+ <action>Synthesize patterns across all stories:</action>
284
+
285
+ **Common Struggles:**
286
+
287
+ - Identify issues that appeared in 2+ stories (e.g., "3 out of 5 stories had API authentication issues")
288
+ - Note areas where team consistently struggled
289
+ - Track where complexity was underestimated
290
+
291
+ **Recurring Review Feedback:**
292
+
293
+ - Identify feedback themes (e.g., "Error handling was flagged in every review")
294
+ - Note quality patterns (positive and negative)
295
+ - Track areas where team improved over the course of epic
296
+
297
+ **Breakthrough Moments:**
298
+
299
+ - Document key discoveries (e.g., "Story 3 discovered the caching pattern we used for rest of epic")
300
+ - Note when team velocity improved dramatically
301
+ - Track innovative solutions worth repeating
302
+
303
+ **Velocity Patterns:**
304
+
305
+ - Calculate average completion time per story
306
+ - Note velocity trends (e.g., "First 2 stories took 3x longer than estimated")
307
+ - Identify which types of stories went faster/slower
308
+
309
+ **Team Collaboration Highlights:**
310
+
311
+ - Note moments of excellent collaboration mentioned in stories
312
+ - Track where pair programming or mob programming was effective
313
+ - Document effective problem-solving sessions
314
+
315
+ <action>Store this synthesis - these patterns will drive the retrospective discussion</action>
316
+
317
+ <output>
318
+ Amelia (Developer): "Okay, I've reviewed all {{total_stories}} story records. I found some really interesting patterns we should discuss."
319
+
320
+ Dana (QA Engineer): "I'm curious what you found, Amelia. I noticed some things in my testing too."
321
+
322
+ Amelia (Developer): "We'll get to all of it. But first, let me load the previous epic's retro to see if we learned from last time."
323
+ </output>
324
+
325
+ </step>
326
+
327
+ <step n="3" goal="Load and Integrate Previous Epic Retrospective">
328
+
329
+ <action>Calculate previous epic number: {{prev_epic_num}} = {{epic_number}} - 1</action>
330
+
331
+ <check if="{{prev_epic_num}} >= 1">
332
+ <action>Search for previous retrospectives using pattern: {implementation_artifacts}/epic-{{prev_epic_num}}-retro-*.md</action>
333
+
334
+ <check if="previous retrospectives found">
335
+ <output>
336
+ Amelia (Developer): "I found our retrospectives from Epic {{prev_epic_num}}. Let me see what we committed to back then..."
337
+ </output>
338
+
339
+ <action>Read the previous retrospectives</action>
340
+
341
+ <action>Extract key elements:</action>
342
+ - **Action items committed**: What did the team agree to improve?
343
+ - **Lessons learned**: What insights were captured?
344
+ - **Process improvements**: What changes were agreed upon?
345
+ - **Technical debt flagged**: What debt was documented?
346
+ - **Team agreements**: What commitments were made?
347
+ - **Preparation tasks**: What was needed for this epic?
348
+
349
+ <action>Cross-reference with current epic execution:</action>
350
+
351
+ **Action Item Follow-Through:**
352
+ - For each action item from Epic {{prev_epic_num}} retro, check if it was completed
353
+ - Look for evidence in current epic's story records
354
+ - Mark each action item: ✅ Completed, ⏳ In Progress, ❌ Not Addressed
355
+
356
+ **Lessons Applied:**
357
+ - For each lesson from Epic {{prev_epic_num}}, check if team applied it in Epic {{epic_number}}
358
+ - Look for evidence in dev notes, review feedback, or outcomes
359
+ - Document successes and missed opportunities
360
+
361
+ **Process Improvements Effectiveness:**
362
+ - For each process change agreed to in Epic {{prev_epic_num}}, assess if it helped
363
+ - Did the change improve velocity, quality, or team satisfaction?
364
+ - Should we keep, modify, or abandon the change?
365
+
366
+ **Technical Debt Status:**
367
+ - For each debt item from Epic {{prev_epic_num}}, check if it was addressed
368
+ - Did unaddressed debt cause problems in Epic {{epic_number}}?
369
+ - Did the debt grow or shrink?
370
+
371
+ <action>Prepare "continuity insights" for the retrospective discussion</action>
372
+
373
+ <action>Identify wins where previous lessons were applied successfully:</action>
374
+ - Document specific examples of applied learnings
375
+ - Note positive impact on Epic {{epic_number}} outcomes
376
+ - Celebrate team growth and improvement
377
+
378
+ <action>Identify missed opportunities where previous lessons were ignored:</action>
379
+ - Document where team repeated previous mistakes
380
+ - Note impact of not applying lessons (without blame)
381
+ - Explore barriers that prevented application
382
+
383
+ <output>
384
+
385
+ Amelia (Developer): "Interesting... in Epic {{prev_epic_num}}'s retro, we committed to {{action_count}} action items."
386
+
387
+ Alice (Product Owner): "How'd we do on those, Amelia?"
388
+
389
+ Amelia (Developer): "We completed {{completed_count}}, made progress on {{in_progress_count}}, but didn't address {{not_addressed_count}}."
390
+
391
+ Charlie (Senior Dev): _looking concerned_ "Which ones didn't we address?"
392
+
393
+ Amelia (Developer): "We'll discuss that in the retro. Some of them might explain challenges we had this epic."
394
+
395
+ Elena (Junior Dev): "That's... actually pretty insightful."
396
+
397
+ Amelia (Developer): "That's why we track this stuff. Pattern recognition helps us improve."
398
+ </output>
399
+
400
+ </check>
401
+
402
+ <check if="no previous retro found">
403
+ <output>
404
+ Amelia (Developer): "I don't see a retrospective for Epic {{prev_epic_num}}. Either we skipped it, or this is your first retro."
405
+
406
+ Alice (Product Owner): "Probably our first one. Good time to start the habit!"
407
+ </output>
408
+ <action>Set {{first_retrospective}} = true</action>
409
+ </check>
410
+ </check>
411
+
412
+ <check if="{{prev_epic_num}} < 1">
413
+ <output>
414
+ Amelia (Developer): "This is Epic 1, so naturally there's no previous retro to reference. We're starting fresh!"
415
+
416
+ Charlie (Senior Dev): "First epic, first retro. Let's make it count."
417
+ </output>
418
+ <action>Set {{first_retrospective}} = true</action>
419
+ </check>
420
+
421
+ </step>
422
+
423
+ <step n="4" goal="Preview Next Epic with Change Detection">
424
+
425
+ <action>Calculate next epic number: {{next_epic_num}} = {{epic_number}} + 1</action>
426
+
427
+ <output>
428
+ Amelia (Developer): "Before we dive into the discussion, let me take a quick look at Epic {{next_epic_num}} to understand what's coming."
429
+
430
+ Alice (Product Owner): "Good thinking - helps us connect what we learned to what we're about to do."
431
+ </output>
432
+
433
+ <action>Attempt to load next epic using selective loading strategy:</action>
434
+
435
+ **Try sharded first (more specific):**
436
+ <action>Check if file exists: {planning_artifacts}/epic*/epic-{{next_epic_num}}.md</action>
437
+
438
+ <check if="sharded epic file found">
439
+ <action>Load {planning_artifacts}/*epic*/epic-{{next_epic_num}}.md</action>
440
+ <action>Set {{next_epic_source}} = "sharded"</action>
441
+ </check>
442
+
443
+ **Fallback to whole document:**
444
+ <check if="sharded epic not found">
445
+ <action>Check if file exists: {planning_artifacts}/epic*.md</action>
446
+
447
+ <check if="whole epic file found">
448
+ <action>Load entire epics document</action>
449
+ <action>Extract Epic {{next_epic_num}} section</action>
450
+ <action>Set {{next_epic_source}} = "whole"</action>
451
+ </check>
452
+ </check>
453
+
454
+ <check if="next epic found">
455
+ <action>Analyze next epic for:</action>
456
+ - Epic title and objectives
457
+ - Planned stories and complexity estimates
458
+ - Dependencies on Epic {{epic_number}} work
459
+ - New technical requirements or capabilities needed
460
+ - Potential risks or unknowns
461
+ - Business goals and success criteria
462
+
463
+ <action>Identify dependencies on completed work:</action>
464
+
465
+ - What components from Epic {{epic_number}} does Epic {{next_epic_num}} rely on?
466
+ - Are all prerequisites complete and stable?
467
+ - Any incomplete work that creates blocking dependencies?
468
+
469
+ <action>Note potential gaps or preparation needed:</action>
470
+
471
+ - Technical setup required (infrastructure, tools, libraries)
472
+ - Knowledge gaps to fill (research, training, spikes)
473
+ - Refactoring needed before starting next epic
474
+ - Documentation or specifications to create
475
+
476
+ <action>Check for technical prerequisites:</action>
477
+
478
+ - APIs or integrations that must be ready
479
+ - Data migrations or schema changes needed
480
+ - Testing infrastructure requirements
481
+ - Deployment or environment setup
482
+
483
+ <output>
484
+ Amelia (Developer): "Alright, I've reviewed Epic {{next_epic_num}}: '{{next_epic_title}}'"
485
+
486
+ Alice (Product Owner): "What are we looking at?"
487
+
488
+ Amelia (Developer): "{{next_epic_num}} stories planned, building on the {{dependency_description}} from Epic {{epic_number}}."
489
+
490
+ Charlie (Senior Dev): "Dependencies concern me. Did we finish everything we need for that?"
491
+
492
+ Amelia (Developer): "Good question - that's exactly what we need to explore in this retro."
493
+ </output>
494
+
495
+ <action>Set {{next_epic_exists}} = true</action>
496
+ </check>
497
+
498
+ <check if="next epic NOT found">
499
+ <output>
500
+ Amelia (Developer): "Hmm, I don't see Epic {{next_epic_num}} defined yet."
501
+
502
+ Alice (Product Owner): "We might be at the end of the roadmap, or we haven't planned that far ahead yet."
503
+
504
+ Amelia (Developer): "No problem. We'll still do a thorough retro on Epic {{epic_number}}. The lessons will be valuable whenever we plan the next work."
505
+ </output>
506
+
507
+ <action>Set {{next_epic_exists}} = false</action>
508
+ </check>
509
+
510
+ </step>
511
+
512
+ <step n="5" goal="Initialize Retrospective with Rich Context">
513
+
514
+ <action>Load agent roster from {agent_roster}</action>
515
+ <action>Identify which agents participated in Epic {{epic_number}} based on story records</action>
516
+ <action>Ensure key roles present: Product Owner, Developer (facilitating), Testing/QA, Architect</action>
517
+
518
+ <output>
519
+ Amelia (Developer): "Alright team, everyone's here. Let me set the stage for our retrospective."
520
+
521
+ ═══════════════════════════════════════════════════════════
522
+ 🔄 TEAM RETROSPECTIVE - Epic {{epic_number}}: {{epic_title}}
523
+ ═══════════════════════════════════════════════════════════
524
+
525
+ Amelia (Developer): "Here's what we accomplished together."
526
+
527
+ **EPIC {{epic_number}} SUMMARY:**
528
+
529
+ Delivery Metrics:
530
+
531
+ - Completed: {{completed_stories}}/{{total_stories}} stories ({{completion_percentage}}%)
532
+ - Velocity: {{actual_points}} story points{{#if planned_points}} (planned: {{planned_points}}){{/if}}
533
+ - Duration: {{actual_sprints}} sprints{{#if planned_sprints}} (planned: {{planned_sprints}}){{/if}}
534
+ - Average velocity: {{points_per_sprint}} points/sprint
535
+
536
+ Quality and Technical:
537
+
538
+ - Blockers encountered: {{blocker_count}}
539
+ - Technical debt items: {{debt_count}}
540
+ - Test coverage: {{coverage_info}}
541
+ - Production incidents: {{incident_count}}
542
+
543
+ Business Outcomes:
544
+
545
+ - Goals achieved: {{goals_met}}/{{total_goals}}
546
+ - Success criteria: {{criteria_status}}
547
+ - Stakeholder feedback: {{feedback_summary}}
548
+
549
+ Alice (Product Owner): "Those numbers tell a good story. {{completion_percentage}}% completion is {{#if completion_percentage >= 90}}excellent{{else}}something we should discuss{{/if}}."
550
+
551
+ Charlie (Senior Dev): "I'm more interested in that technical debt number - {{debt_count}} items is {{#if debt_count > 10}}concerning{{else}}manageable{{/if}}."
552
+
553
+ Dana (QA Engineer): "{{incident_count}} production incidents - {{#if incident_count == 0}}clean epic!{{else}}we should talk about those{{/if}}."
554
+
555
+ {{#if next_epic_exists}}
556
+ ═══════════════════════════════════════════════════════════
557
+ **NEXT EPIC PREVIEW:** Epic {{next_epic_num}}: {{next_epic_title}}
558
+ ═══════════════════════════════════════════════════════════
559
+
560
+ Dependencies on Epic {{epic_number}}:
561
+ {{list_dependencies}}
562
+
563
+ Preparation Needed:
564
+ {{list_preparation_gaps}}
565
+
566
+ Technical Prerequisites:
567
+ {{list_technical_prereqs}}
568
+
569
+ Amelia (Developer): "And here's what's coming next. Epic {{next_epic_num}} builds on what we just finished."
570
+
571
+ Elena (Junior Dev): "Wow, that's a lot of dependencies on our work."
572
+
573
+ Charlie (Senior Dev): "Which means we better make sure Epic {{epic_number}} is actually solid before moving on."
574
+ {{/if}}
575
+
576
+ ═══════════════════════════════════════════════════════════
577
+
578
+ Amelia (Developer): "Team assembled for this retrospective:"
579
+
580
+ {{list_participating_agents}}
581
+
582
+ Amelia (Developer): "{user_name}, you're joining us as Project Lead. Your perspective is crucial here."
583
+
584
+ {user_name} (Project Lead): [Participating in the retrospective]
585
+
586
+ Amelia (Developer): "Our focus today:"
587
+
588
+ 1. Learning from Epic {{epic_number}} execution
589
+ {{#if next_epic_exists}}2. Preparing for Epic {{next_epic_num}} success{{/if}}
590
+
591
+ Amelia (Developer): "Ground rules: psychological safety first. No blame, no judgment. We focus on systems and processes, not individuals. Everyone's voice matters. Specific examples are better than generalizations."
592
+
593
+ Alice (Product Owner): "And everything shared here stays in this room - unless we decide together to escalate something."
594
+
595
+ Amelia (Developer): "Exactly. {user_name}, any questions before we dive in?"
596
+ </output>
597
+
598
+ <action>WAIT for {user_name} to respond or indicate readiness</action>
599
+
600
+ </step>
601
+
602
+ <step n="6" goal="Epic Review Discussion - What Went Well, What Didn't">
603
+
604
+ <output>
605
+ Amelia (Developer): "Let's start with the good stuff. What went well in Epic {{epic_number}}?"
606
+
607
+ Amelia (Developer): _pauses, creating space_
608
+
609
+ Alice (Product Owner): "I'll start. The user authentication flow we delivered exceeded my expectations. The UX is smooth, and early user feedback has been really positive."
610
+
611
+ Charlie (Senior Dev): "I'll add to that - the caching strategy we implemented in Story {{breakthrough_story_num}} was a game-changer. We cut API calls by 60% and it set the pattern for the rest of the epic."
612
+
613
+ Dana (QA Engineer): "From my side, testing went smoother than usual. The Developer's documentation was way better this epic - actually usable test plans!"
614
+
615
+ Elena (Junior Dev): _smiling_ "That's because Charlie made me document everything after Story 1's code review!"
616
+
617
+ Charlie (Senior Dev): _laughing_ "Tough love pays off."
618
+ </output>
619
+
620
+ <action>Amelia (Developer) naturally turns to {user_name} to engage them in the discussion</action>
621
+
622
+ <output>
623
+ Amelia (Developer): "{user_name}, what stood out to you as going well in this epic?"
624
+ </output>
625
+
626
+ <action>WAIT for {user_name} to respond - this is a KEY USER INTERACTION moment</action>
627
+
628
+ <action>After {user_name} responds, have 1-2 team members react to or build on what {user_name} shared</action>
629
+
630
+ <output>
631
+ Alice (Product Owner): [Responds naturally to what {user_name} said, either agreeing, adding context, or offering a different perspective]
632
+
633
+ Charlie (Senior Dev): [Builds on the discussion, perhaps adding technical details or connecting to specific stories]
634
+ </output>
635
+
636
+ <action>Continue facilitating natural dialogue, periodically bringing {user_name} back into the conversation</action>
637
+
638
+ <action>After covering successes, guide the transition to challenges with care</action>
639
+
640
+ <output>
641
+ Amelia (Developer): "Okay, we've celebrated some real wins. Now let's talk about challenges - where did we struggle? What slowed us down?"
642
+
643
+ Amelia (Developer): _creates safe space with tone and pacing_
644
+
645
+ Elena (Junior Dev): _hesitates_ "Well... I really struggled with the database migrations in Story {{difficult_story_num}}. The documentation wasn't clear, and I had to redo it three times. Lost almost a full sprint on that story alone."
646
+
647
+ Charlie (Senior Dev): _defensive_ "Hold on - I wrote those migration docs, and they were perfectly clear. The issue was that the requirements kept changing mid-story!"
648
+
649
+ Alice (Product Owner): _frustrated_ "That's not fair, Charlie. We only clarified requirements once, and that was because the technical team didn't ask the right questions during planning!"
650
+
651
+ Charlie (Senior Dev): _heat rising_ "We asked plenty of questions! You said the schema was finalized, then two days into development you wanted to add three new fields!"
652
+
653
+ Amelia (Developer): _intervening calmly_ "Let's take a breath here. This is exactly the kind of thing we need to unpack."
654
+
655
+ Amelia (Developer): "Elena, you spent almost a full sprint on Story {{difficult_story_num}}. Charlie, you're saying requirements changed. Alice, you feel the right questions weren't asked up front."
656
+
657
+ Amelia (Developer): "{user_name}, you have visibility across the whole project. What's your take on this situation?"
658
+ </output>
659
+
660
+ <action>WAIT for {user_name} to respond and help facilitate the conflict resolution</action>
661
+
662
+ <action>Use {user_name}'s response to guide the discussion toward systemic understanding rather than blame</action>
663
+
664
+ <output>
665
+ Amelia (Developer): [Synthesizes {user_name}'s input with what the team shared] "So it sounds like the core issue was {{root_cause_based_on_discussion}}, not any individual person's fault."
666
+
667
+ Elena (Junior Dev): "That makes sense. If we'd had {{preventive_measure}}, I probably could have avoided those redos."
668
+
669
+ Charlie (Senior Dev): _softening_ "Yeah, and I could have been clearer about assumptions in the docs. Sorry for getting defensive, Alice."
670
+
671
+ Alice (Product Owner): "I appreciate that. I could've been more proactive about flagging the schema additions earlier, too."
672
+
673
+ Amelia (Developer): "This is good. We're identifying systemic improvements, not assigning blame."
674
+ </output>
675
+
676
+ <action>Continue the discussion, weaving in patterns discovered from the deep story analysis (Step 2)</action>
677
+
678
+ <output>
679
+ Amelia (Developer): "Speaking of patterns, I noticed something when reviewing all the story records..."
680
+
681
+ Amelia (Developer): "{{pattern_1_description}} - this showed up in {{pattern_1_count}} out of {{total_stories}} stories."
682
+
683
+ Dana (QA Engineer): "Oh wow, I didn't realize it was that widespread."
684
+
685
+ Amelia (Developer): "Yeah. And there's more - {{pattern_2_description}} came up in almost every code review."
686
+
687
+ Charlie (Senior Dev): "That's... actually embarrassing. We should've caught that pattern earlier."
688
+
689
+ Amelia (Developer): "No shame, Charlie. Now we know, and we can improve. {user_name}, did you notice these patterns during the epic?"
690
+ </output>
691
+
692
+ <action>WAIT for {user_name} to share their observations</action>
693
+
694
+ <action>Continue the retrospective discussion, creating moments where:</action>
695
+
696
+ - Team members ask {user_name} questions directly
697
+ - {user_name}'s input shifts the discussion direction
698
+ - Disagreements arise naturally and get resolved
699
+ - Quieter team members are invited to contribute
700
+ - Specific stories are referenced with real examples
701
+ - Emotions are authentic (frustration, pride, concern, hope)
702
+
703
+ <check if="previous retrospective exists">
704
+ <output>
705
+ Amelia (Developer): "Before we move on, I want to circle back to Epic {{prev_epic_num}}'s retrospective."
706
+
707
+ Amelia (Developer): "We made some commitments in that retro. Let's see how we did."
708
+
709
+ Amelia (Developer): "Action item 1: {{prev_action_1}}. Status: {{prev_action_1_status}}"
710
+
711
+ Alice (Product Owner): {{#if prev_action_1_status == "completed"}}"We nailed that one!"{{else}}"We... didn't do that one."{{/if}}
712
+
713
+ Charlie (Senior Dev): {{#if prev_action_1_status == "completed"}}"And it helped! I noticed {{evidence_of_impact}}"{{else}}"Yeah, and I think that's why we had {{consequence_of_not_doing_it}} this epic."{{/if}}
714
+
715
+ Amelia (Developer): "Action item 2: {{prev_action_2}}. Status: {{prev_action_2_status}}"
716
+
717
+ Dana (QA Engineer): {{#if prev_action_2_status == "completed"}}"This one made testing so much easier this time."{{else}}"If we'd done this, I think testing would've gone faster."{{/if}}
718
+
719
+ Amelia (Developer): "{user_name}, looking at what we committed to last time and what we actually did - what's your reaction?"
720
+ </output>
721
+
722
+ <action>WAIT for {user_name} to respond</action>
723
+
724
+ <action>Use the previous retro follow-through as a learning moment about commitment and accountability</action>
725
+ </check>
726
+
727
+ <output>
728
+ Amelia (Developer): "Alright, we've covered a lot of ground. Let me summarize what I'm hearing..."
729
+
730
+ Amelia (Developer): "**Successes:**"
731
+ {{list_success_themes}}
732
+
733
+ Amelia (Developer): "**Challenges:**"
734
+ {{list_challenge_themes}}
735
+
736
+ Amelia (Developer): "**Key Insights:**"
737
+ {{list_insight_themes}}
738
+
739
+ Amelia (Developer): "Does that capture it? Anyone have something important we missed?"
740
+ </output>
741
+
742
+ <action>Allow team members to add any final thoughts on the epic review</action>
743
+ <action>Ensure {user_name} has opportunity to add their perspective</action>
744
+
745
+ </step>
746
+
747
+ <step n="7" goal="Next Epic Preparation Discussion - Interactive and Collaborative">
748
+
749
+ <check if="{{next_epic_exists}} == false">
750
+ <output>
751
+ Amelia (Developer): "Normally we'd discuss preparing for the next epic, but since Epic {{next_epic_num}} isn't defined yet, let's skip to action items."
752
+ </output>
753
+ <action>Skip to Step 8</action>
754
+ </check>
755
+
756
+ <output>
757
+ Amelia (Developer): "Now let's shift gears. Epic {{next_epic_num}} is coming up: '{{next_epic_title}}'"
758
+
759
+ Amelia (Developer): "The question is: are we ready? What do we need to prepare?"
760
+
761
+ Alice (Product Owner): "From my perspective, we need to make sure {{dependency_concern_1}} from Epic {{epic_number}} is solid before we start building on it."
762
+
763
+ Charlie (Senior Dev): _concerned_ "I'm worried about {{technical_concern_1}}. We have {{technical_debt_item}} from this epic that'll blow up if we don't address it before Epic {{next_epic_num}}."
764
+
765
+ Dana (QA Engineer): "And I need {{testing_infrastructure_need}} in place, or we're going to have the same testing bottleneck we had in Story {{bottleneck_story_num}}."
766
+
767
+ Elena (Junior Dev): "I'm less worried about infrastructure and more about knowledge. I don't understand {{knowledge_gap}} well enough to work on Epic {{next_epic_num}}'s stories."
768
+
769
+ Amelia (Developer): "{user_name}, the team is surfacing some real concerns here. What's your sense of our readiness?"
770
+ </output>
771
+
772
+ <action>WAIT for {user_name} to share their assessment</action>
773
+
774
+ <action>Use {user_name}'s input to guide deeper exploration of preparation needs</action>
775
+
776
+ <output>
777
+ Alice (Product Owner): [Reacts to what {user_name} said] "I agree with {user_name} about {{point_of_agreement}}, but I'm still worried about {{lingering_concern}}."
778
+
779
+ Charlie (Senior Dev): "Here's what I think we need technically before Epic {{next_epic_num}} can start..."
780
+
781
+ Charlie (Senior Dev): "1. {{tech_prep_item_1}} - estimated {{hours_1}} hours"
782
+ Charlie (Senior Dev): "2. {{tech_prep_item_2}} - estimated {{hours_2}} hours"
783
+ Charlie (Senior Dev): "3. {{tech_prep_item_3}} - estimated {{hours_3}} hours"
784
+
785
+ Elena (Junior Dev): "That's like {{total_hours}} hours! That's a full sprint of prep work!"
786
+
787
+ Charlie (Senior Dev): "Exactly. We can't just jump into Epic {{next_epic_num}} on Monday."
788
+
789
+ Alice (Product Owner): _frustrated_ "But we have stakeholder pressure to keep shipping features. They're not going to be happy about a 'prep sprint.'"
790
+
791
+ Amelia (Developer): "Let's think about this differently. What happens if we DON'T do this prep work?"
792
+
793
+ Dana (QA Engineer): "We'll hit blockers in the middle of Epic {{next_epic_num}}, velocity will tank, and we'll ship late anyway."
794
+
795
+ Charlie (Senior Dev): "Worse - we'll ship something built on top of {{technical_concern_1}}, and it'll be fragile."
796
+
797
+ Amelia (Developer): "{user_name}, you're balancing stakeholder pressure against technical reality. How do you want to handle this?"
798
+ </output>
799
+
800
+ <action>WAIT for {user_name} to provide direction on preparation approach</action>
801
+
802
+ <action>Create space for debate and disagreement about priorities</action>
803
+
804
+ <output>
805
+ Alice (Product Owner): [Potentially disagrees with {user_name}'s approach] "I hear what you're saying, {user_name}, but from a business perspective, {{business_concern}}."
806
+
807
+ Charlie (Senior Dev): [Potentially supports or challenges Alice's point] "The business perspective is valid, but {{technical_counter_argument}}."
808
+
809
+ Amelia (Developer): "We have healthy tension here between business needs and technical reality. That's good - it means we're being honest."
810
+
811
+ Amelia (Developer): "Let's explore a middle ground. Charlie, which of your prep items are absolutely critical vs. nice-to-have?"
812
+
813
+ Charlie (Senior Dev): "{{critical_prep_item_1}} and {{critical_prep_item_2}} are non-negotiable. {{nice_to_have_prep_item}} can wait."
814
+
815
+ Alice (Product Owner): "And can any of the critical prep happen in parallel with starting Epic {{next_epic_num}}?"
816
+
817
+ Charlie (Senior Dev): _thinking_ "Maybe. If we tackle {{first_critical_item}} before the epic starts, we could do {{second_critical_item}} during the first sprint."
818
+
819
+ Dana (QA Engineer): "But that means Story 1 of Epic {{next_epic_num}} can't depend on {{second_critical_item}}."
820
+
821
+ Alice (Product Owner): _looking at epic plan_ "Actually, Stories 1 and 2 are about {{independent_work}}, so they don't depend on it. We could make that work."
822
+
823
+ Amelia (Developer): "{user_name}, the team is finding a workable compromise here. Does this approach make sense to you?"
824
+ </output>
825
+
826
+ <action>WAIT for {user_name} to validate or adjust the preparation strategy</action>
827
+
828
+ <action>Continue working through preparation needs across all dimensions:</action>
829
+
830
+ - Dependencies on Epic {{epic_number}} work
831
+ - Technical setup and infrastructure
832
+ - Knowledge gaps and research needs
833
+ - Documentation or specification work
834
+ - Testing infrastructure
835
+ - Refactoring or debt reduction
836
+ - External dependencies (APIs, integrations, etc.)
837
+
838
+ <action>For each preparation area, facilitate team discussion that:</action>
839
+
840
+ - Identifies specific needs with concrete examples
841
+ - Estimates effort realistically based on Epic {{epic_number}} experience
842
+ - Assigns ownership to specific agents
843
+ - Determines criticality and timing
844
+ - Surfaces risks of NOT doing the preparation
845
+ - Explores parallel work opportunities
846
+ - Brings {user_name} in for key decisions
847
+
848
+ <output>
849
+ Amelia (Developer): "I'm hearing a clear picture of what we need before Epic {{next_epic_num}}. Let me summarize..."
850
+
851
+ **CRITICAL PREPARATION (Must complete before epic starts):**
852
+ {{list_critical_prep_items_with_owners_and_estimates}}
853
+
854
+ **PARALLEL PREPARATION (Can happen during early stories):**
855
+ {{list_parallel_prep_items_with_owners_and_estimates}}
856
+
857
+ **NICE-TO-HAVE PREPARATION (Would help but not blocking):**
858
+ {{list_nice_to_have_prep_items}}
859
+
860
+ Amelia (Developer): "Total critical prep effort: {{critical_hours}} hours ({{critical_days}} days)"
861
+
862
+ Alice (Product Owner): "That's manageable. We can communicate that to stakeholders."
863
+
864
+ Amelia (Developer): "{user_name}, does this preparation plan work for you?"
865
+ </output>
866
+
867
+ <action>WAIT for {user_name} final validation of preparation plan</action>
868
+
869
+ </step>
870
+
871
+ <step n="8" goal="Synthesize Action Items with Significant Change Detection">
872
+
873
+ <output>
874
+ Amelia (Developer): "Let's capture concrete action items from everything we've discussed."
875
+
876
+ Amelia (Developer): "I want specific, achievable actions with clear owners. Not vague aspirations."
877
+ </output>
878
+
879
+ <action>Synthesize themes from Epic {{epic_number}} review discussion into actionable improvements</action>
880
+
881
+ <action>Create specific action items with:</action>
882
+
883
+ - Clear description of the action
884
+ - Assigned owner (specific agent or role)
885
+ - Timeline or deadline
886
+ - Success criteria (how we'll know it's done)
887
+ - Category (process, technical, documentation, team, etc.)
888
+
889
+ <action>Ensure action items are SMART:</action>
890
+
891
+ - Specific: Clear and unambiguous
892
+ - Measurable: Can verify completion
893
+ - Achievable: Realistic given constraints
894
+ - Relevant: Addresses real issues from retro
895
+ - Time-bound: Has clear deadline
896
+
897
+ <output>
898
+ Amelia (Developer): "Based on our discussion, here are the action items I'm proposing..."
899
+
900
+ ═══════════════════════════════════════════════════════════
901
+ 📝 EPIC {{epic_number}} ACTION ITEMS:
902
+ ═══════════════════════════════════════════════════════════
903
+
904
+ **Process Improvements:**
905
+
906
+ 1. {{action_item_1}}
907
+ Owner: {{agent_1}}
908
+ Deadline: {{timeline_1}}
909
+ Success criteria: {{criteria_1}}
910
+
911
+ 2. {{action_item_2}}
912
+ Owner: {{agent_2}}
913
+ Deadline: {{timeline_2}}
914
+ Success criteria: {{criteria_2}}
915
+
916
+ Charlie (Senior Dev): "I can own action item 1, but {{timeline_1}} is tight. Can we push it to {{alternative_timeline}}?"
917
+
918
+ Amelia (Developer): "What do others think? Does that timing still work?"
919
+
920
+ Alice (Product Owner): "{{alternative_timeline}} works for me, as long as it's done before Epic {{next_epic_num}} starts."
921
+
922
+ Amelia (Developer): "Agreed. Updated to {{alternative_timeline}}."
923
+
924
+ **Technical Debt:**
925
+
926
+ 1. {{debt_item_1}}
927
+ Owner: {{agent_3}}
928
+ Priority: {{priority_1}}
929
+ Estimated effort: {{effort_1}}
930
+
931
+ 2. {{debt_item_2}}
932
+ Owner: {{agent_4}}
933
+ Priority: {{priority_2}}
934
+ Estimated effort: {{effort_2}}
935
+
936
+ Dana (QA Engineer): "For debt item 1, can we prioritize that as high? It caused testing issues in three different stories."
937
+
938
+ Charlie (Senior Dev): "I marked it medium because {{reasoning}}, but I hear your point."
939
+
940
+ Amelia (Developer): "{user_name}, this is a priority call. Testing impact vs. {{reasoning}} - how do you want to prioritize it?"
941
+ </output>
942
+
943
+ <action>WAIT for {user_name} to help resolve priority discussions</action>
944
+
945
+ <output>
946
+ **Documentation:**
947
+ 1. {{doc_need_1}}
948
+ Owner: {{agent_5}}
949
+ Deadline: {{timeline_3}}
950
+
951
+ 2. {{doc_need_2}}
952
+ Owner: {{agent_6}}
953
+ Deadline: {{timeline_4}}
954
+
955
+ **Team Agreements:**
956
+
957
+ - {{agreement_1}}
958
+ - {{agreement_2}}
959
+ - {{agreement_3}}
960
+
961
+ Amelia (Developer): "These agreements are how we're committing to work differently going forward."
962
+
963
+ Elena (Junior Dev): "I like agreement 2 - that would've saved me on Story {{difficult_story_num}}."
964
+
965
+ ═══════════════════════════════════════════════════════════
966
+ 🚀 EPIC {{next_epic_num}} PREPARATION TASKS:
967
+ ═══════════════════════════════════════════════════════════
968
+
969
+ **Technical Setup:**
970
+ [ ] {{setup_task_1}}
971
+ Owner: {{owner_1}}
972
+ Estimated: {{est_1}}
973
+
974
+ [ ] {{setup_task_2}}
975
+ Owner: {{owner_2}}
976
+ Estimated: {{est_2}}
977
+
978
+ **Knowledge Development:**
979
+ [ ] {{research_task_1}}
980
+ Owner: {{owner_3}}
981
+ Estimated: {{est_3}}
982
+
983
+ **Cleanup/Refactoring:**
984
+ [ ] {{refactor_task_1}}
985
+ Owner: {{owner_4}}
986
+ Estimated: {{est_4}}
987
+
988
+ **Total Estimated Effort:** {{total_hours}} hours ({{total_days}} days)
989
+
990
+ ═══════════════════════════════════════════════════════════
991
+ ⚠️ CRITICAL PATH:
992
+ ═══════════════════════════════════════════════════════════
993
+
994
+ **Blockers to Resolve Before Epic {{next_epic_num}}:**
995
+
996
+ 1. {{critical_item_1}}
997
+ Owner: {{critical_owner_1}}
998
+ Must complete by: {{critical_deadline_1}}
999
+
1000
+ 2. {{critical_item_2}}
1001
+ Owner: {{critical_owner_2}}
1002
+ Must complete by: {{critical_deadline_2}}
1003
+ </output>
1004
+
1005
+ <action>CRITICAL ANALYSIS - Detect if discoveries require epic updates</action>
1006
+
1007
+ <action>Check if any of the following are true based on retrospective discussion:</action>
1008
+
1009
+ - Architectural assumptions from planning proven wrong during Epic {{epic_number}}
1010
+ - Major scope changes or descoping occurred that affects next epic
1011
+ - Technical approach needs fundamental change for Epic {{next_epic_num}}
1012
+ - Dependencies discovered that Epic {{next_epic_num}} doesn't account for
1013
+ - User needs significantly different than originally understood
1014
+ - Performance/scalability concerns that affect Epic {{next_epic_num}} design
1015
+ - Security or compliance issues discovered that change approach
1016
+ - Integration assumptions proven incorrect
1017
+ - Team capacity or skill gaps more severe than planned
1018
+ - Technical debt level unsustainable without intervention
1019
+
1020
+ <check if="significant discoveries detected">
1021
+ <output>
1022
+
1023
+ ═══════════════════════════════════════════════════════════
1024
+ 🚨 SIGNIFICANT DISCOVERY ALERT 🚨
1025
+ ═══════════════════════════════════════════════════════════
1026
+
1027
+ Amelia (Developer): "{user_name}, we need to flag something important."
1028
+
1029
+ Amelia (Developer): "During Epic {{epic_number}}, the team uncovered findings that may require updating the plan for Epic {{next_epic_num}}."
1030
+
1031
+ **Significant Changes Identified:**
1032
+
1033
+ 1. {{significant_change_1}}
1034
+ Impact: {{impact_description_1}}
1035
+
1036
+ 2. {{significant_change_2}}
1037
+ Impact: {{impact_description_2}}
1038
+
1039
+ {{#if significant_change_3}} 3. {{significant_change_3}}
1040
+ Impact: {{impact_description_3}}
1041
+ {{/if}}
1042
+
1043
+ Charlie (Senior Dev): "Yeah, when we discovered {{technical_discovery}}, it fundamentally changed our understanding of {{affected_area}}."
1044
+
1045
+ Alice (Product Owner): "And from a product perspective, {{product_discovery}} means Epic {{next_epic_num}}'s stories are based on wrong assumptions."
1046
+
1047
+ Dana (QA Engineer): "If we start Epic {{next_epic_num}} as-is, we're going to hit walls fast."
1048
+
1049
+ **Impact on Epic {{next_epic_num}}:**
1050
+
1051
+ The current plan for Epic {{next_epic_num}} assumes:
1052
+
1053
+ - {{wrong_assumption_1}}
1054
+ - {{wrong_assumption_2}}
1055
+
1056
+ But Epic {{epic_number}} revealed:
1057
+
1058
+ - {{actual_reality_1}}
1059
+ - {{actual_reality_2}}
1060
+
1061
+ This means Epic {{next_epic_num}} likely needs:
1062
+ {{list_likely_changes_needed}}
1063
+
1064
+ **RECOMMENDED ACTIONS:**
1065
+
1066
+ 1. Review and update Epic {{next_epic_num}} definition based on new learnings
1067
+ 2. Update affected stories in Epic {{next_epic_num}} to reflect reality
1068
+ 3. Consider updating architecture or technical specifications if applicable
1069
+ 4. Hold alignment session with Product Owner before starting Epic {{next_epic_num}}
1070
+ {{#if prd_update_needed}}5. Update PRD sections affected by new understanding{{/if}}
1071
+
1072
+ Amelia (Developer): "**Epic Update Required**: YES - Schedule epic planning review session"
1073
+
1074
+ Amelia (Developer): "{user_name}, this is significant. We need to address this before committing to Epic {{next_epic_num}}'s current plan. How do you want to handle it?"
1075
+ </output>
1076
+
1077
+ <action>WAIT for {user_name} to decide on how to handle the significant changes</action>
1078
+
1079
+ <action>Add epic review session to critical path if user agrees</action>
1080
+
1081
+ <output>
1082
+ Alice (Product Owner): "I agree with {user_name}'s approach. Better to adjust the plan now than fail mid-epic."
1083
+
1084
+ Charlie (Senior Dev): "This is why retrospectives matter. We caught this before it became a disaster."
1085
+
1086
+ Amelia (Developer): "Adding to critical path: Epic {{next_epic_num}} planning review session before epic kickoff."
1087
+ </output>
1088
+ </check>
1089
+
1090
+ <check if="no significant discoveries">
1091
+ <output>
1092
+ Amelia (Developer): "Good news - nothing from Epic {{epic_number}} fundamentally changes our plan for Epic {{next_epic_num}}. The plan is still sound."
1093
+
1094
+ Alice (Product Owner): "We learned a lot, but the direction is right."
1095
+ </output>
1096
+ </check>
1097
+
1098
+ <output>
1099
+ Amelia (Developer): "Let me show you the complete action plan..."
1100
+
1101
+ Amelia (Developer): "That's {{total_action_count}} action items, {{prep_task_count}} preparation tasks, and {{critical_count}} critical path items."
1102
+
1103
+ Amelia (Developer): "Everyone clear on what they own?"
1104
+ </output>
1105
+
1106
+ <action>Give each agent with assignments a moment to acknowledge their ownership</action>
1107
+
1108
+ <action>Ensure {user_name} approves the complete action plan</action>
1109
+
1110
+ </step>
1111
+
1112
+ <step n="9" goal="Critical Readiness Exploration - Interactive Deep Dive">
1113
+
1114
+ <output>
1115
+ Amelia (Developer): "Before we close, I want to do a final readiness check."
1116
+
1117
+ Amelia (Developer): "Epic {{epic_number}} is marked complete in sprint-status, but is it REALLY done?"
1118
+
1119
+ Alice (Product Owner): "What do you mean, Amelia?"
1120
+
1121
+ Amelia (Developer): "I mean truly production-ready, stakeholders happy, no loose ends that'll bite us later."
1122
+
1123
+ Amelia (Developer): "{user_name}, let's walk through this together."
1124
+ </output>
1125
+
1126
+ <action>Explore testing and quality state through natural conversation</action>
1127
+
1128
+ <output>
1129
+ Amelia (Developer): "{user_name}, tell me about the testing for Epic {{epic_number}}. What verification has been done?"
1130
+ </output>
1131
+
1132
+ <action>WAIT for {user_name} to describe testing status</action>
1133
+
1134
+ <output>
1135
+ Dana (QA Engineer): [Responds to what {user_name} shared] "I can add to that - {{additional_testing_context}}."
1136
+
1137
+ Dana (QA Engineer): "But honestly, {{testing_concern_if_any}}."
1138
+
1139
+ Amelia (Developer): "{user_name}, are you confident Epic {{epic_number}} is production-ready from a quality perspective?"
1140
+ </output>
1141
+
1142
+ <action>WAIT for {user_name} to assess quality readiness</action>
1143
+
1144
+ <check if="{user_name} expresses concerns">
1145
+ <output>
1146
+ Amelia (Developer): "Okay, let's capture that. What specific testing is still needed?"
1147
+
1148
+ Dana (QA Engineer): "I can handle {{testing_work_needed}}, estimated {{testing_hours}} hours."
1149
+
1150
+ Amelia (Developer): "Adding to critical path: Complete {{testing_work_needed}} before Epic {{next_epic_num}}."
1151
+ </output>
1152
+ <action>Add testing completion to critical path</action>
1153
+ </check>
1154
+
1155
+ <action>Explore deployment and release status</action>
1156
+
1157
+ <output>
1158
+ Amelia (Developer): "{user_name}, what's the deployment status for Epic {{epic_number}}? Is it live in production, scheduled for deployment, or still pending?"
1159
+ </output>
1160
+
1161
+ <action>WAIT for {user_name} to provide deployment status</action>
1162
+
1163
+ <check if="not yet deployed">
1164
+ <output>
1165
+ Charlie (Senior Dev): "If it's not deployed yet, we need to factor that into Epic {{next_epic_num}} timing."
1166
+
1167
+ Amelia (Developer): "{user_name}, when is deployment planned? Does that timing work for starting Epic {{next_epic_num}}?"
1168
+ </output>
1169
+
1170
+ <action>WAIT for {user_name} to clarify deployment timeline</action>
1171
+
1172
+ <action>Add deployment milestone to critical path with agreed timeline</action>
1173
+ </check>
1174
+
1175
+ <action>Explore stakeholder acceptance</action>
1176
+
1177
+ <output>
1178
+ Amelia (Developer): "{user_name}, have stakeholders seen and accepted the Epic {{epic_number}} deliverables?"
1179
+
1180
+ Alice (Product Owner): "This is important - I've seen 'done' epics get rejected by stakeholders and force rework."
1181
+
1182
+ Amelia (Developer): "{user_name}, any feedback from stakeholders still pending?"
1183
+ </output>
1184
+
1185
+ <action>WAIT for {user_name} to describe stakeholder acceptance status</action>
1186
+
1187
+ <check if="acceptance incomplete or feedback pending">
1188
+ <output>
1189
+ Alice (Product Owner): "We should get formal acceptance before moving on. Otherwise Epic {{next_epic_num}} might get interrupted by rework."
1190
+
1191
+ Amelia (Developer): "{user_name}, how do you want to handle stakeholder acceptance? Should we make it a critical path item?"
1192
+ </output>
1193
+
1194
+ <action>WAIT for {user_name} decision</action>
1195
+
1196
+ <action>Add stakeholder acceptance to critical path if user agrees</action>
1197
+ </check>
1198
+
1199
+ <action>Explore technical health and stability</action>
1200
+
1201
+ <output>
1202
+ Amelia (Developer): "{user_name}, this is a gut-check question: How does the codebase feel after Epic {{epic_number}}?"
1203
+
1204
+ Amelia (Developer): "Stable and maintainable? Or are there concerns lurking?"
1205
+
1206
+ Charlie (Senior Dev): "Be honest, {user_name}. We've all shipped epics that felt... fragile."
1207
+ </output>
1208
+
1209
+ <action>WAIT for {user_name} to assess codebase health</action>
1210
+
1211
+ <check if="{user_name} expresses stability concerns">
1212
+ <output>
1213
+ Charlie (Senior Dev): "Okay, let's dig into that. What's causing those concerns?"
1214
+
1215
+ Charlie (Senior Dev): [Helps {user_name} articulate technical concerns]
1216
+
1217
+ Amelia (Developer): "What would it take to address these concerns and feel confident about stability?"
1218
+
1219
+ Charlie (Senior Dev): "I'd say we need {{stability_work_needed}}, roughly {{stability_hours}} hours."
1220
+
1221
+ Amelia (Developer): "{user_name}, is addressing this stability work worth doing before Epic {{next_epic_num}}?"
1222
+ </output>
1223
+
1224
+ <action>WAIT for {user_name} decision</action>
1225
+
1226
+ <action>Add stability work to preparation sprint if user agrees</action>
1227
+ </check>
1228
+
1229
+ <action>Explore unresolved blockers</action>
1230
+
1231
+ <output>
1232
+ Amelia (Developer): "{user_name}, are there any unresolved blockers or technical issues from Epic {{epic_number}} that we're carrying forward?"
1233
+
1234
+ Dana (QA Engineer): "Things that might create problems for Epic {{next_epic_num}} if we don't deal with them?"
1235
+
1236
+ Amelia (Developer): "Nothing is off limits here. If there's a problem, we need to know."
1237
+ </output>
1238
+
1239
+ <action>WAIT for {user_name} to surface any blockers</action>
1240
+
1241
+ <check if="blockers identified">
1242
+ <output>
1243
+ Amelia (Developer): "Let's capture those blockers and figure out how they affect Epic {{next_epic_num}}."
1244
+
1245
+ Charlie (Senior Dev): "For {{blocker_1}}, if we leave it unresolved, it'll {{impact_description_1}}."
1246
+
1247
+ Alice (Product Owner): "That sounds critical. We need to address that before moving forward."
1248
+
1249
+ Amelia (Developer): "Agreed. Adding to critical path: Resolve {{blocker_1}} before Epic {{next_epic_num}} kickoff."
1250
+
1251
+ Amelia (Developer): "Who owns that work?"
1252
+ </output>
1253
+
1254
+ <action>Assign blocker resolution to appropriate agent</action>
1255
+ <action>Add to critical path with priority and deadline</action>
1256
+ </check>
1257
+
1258
+ <action>Synthesize the readiness assessment</action>
1259
+
1260
+ <output>
1261
+ Amelia (Developer): "Okay {user_name}, let me synthesize what we just uncovered..."
1262
+
1263
+ **EPIC {{epic_number}} READINESS ASSESSMENT:**
1264
+
1265
+ Testing & Quality: {{quality_status}}
1266
+ {{#if quality_concerns}}⚠️ Action needed: {{quality_action_needed}}{{/if}}
1267
+
1268
+ Deployment: {{deployment_status}}
1269
+ {{#if deployment_pending}}⚠️ Scheduled for: {{deployment_date}}{{/if}}
1270
+
1271
+ Stakeholder Acceptance: {{acceptance_status}}
1272
+ {{#if acceptance_incomplete}}⚠️ Action needed: {{acceptance_action_needed}}{{/if}}
1273
+
1274
+ Technical Health: {{stability_status}}
1275
+ {{#if stability_concerns}}⚠️ Action needed: {{stability_action_needed}}{{/if}}
1276
+
1277
+ Unresolved Blockers: {{blocker_status}}
1278
+ {{#if blockers_exist}}⚠️ Must resolve: {{blocker_list}}{{/if}}
1279
+
1280
+ Amelia (Developer): "{user_name}, does this assessment match your understanding?"
1281
+ </output>
1282
+
1283
+ <action>WAIT for {user_name} to confirm or correct the assessment</action>
1284
+
1285
+ <output>
1286
+ Amelia (Developer): "Based on this assessment, Epic {{epic_number}} is {{#if all_clear}}fully complete and we're clear to proceed{{else}}complete from a story perspective, but we have {{critical_work_count}} critical items before Epic {{next_epic_num}}{{/if}}."
1287
+
1288
+ Alice (Product Owner): "This level of thoroughness is why retrospectives are valuable."
1289
+
1290
+ Charlie (Senior Dev): "Better to catch this now than three stories into the next epic."
1291
+ </output>
1292
+
1293
+ </step>
1294
+
1295
+ <step n="10" goal="Retrospective Closure with Celebration and Commitment">
1296
+
1297
+ <output>
1298
+ Amelia (Developer): "We've covered a lot of ground today. Let me bring this retrospective to a close."
1299
+
1300
+ ═══════════════════════════════════════════════════════════
1301
+ ✅ RETROSPECTIVE COMPLETE
1302
+ ═══════════════════════════════════════════════════════════
1303
+
1304
+ Amelia (Developer): "Epic {{epic_number}}: {{epic_title}} - REVIEWED"
1305
+
1306
+ **Key Takeaways:**
1307
+
1308
+ 1. {{key_lesson_1}}
1309
+ 2. {{key_lesson_2}}
1310
+ 3. {{key_lesson_3}}
1311
+ {{#if key_lesson_4}}4. {{key_lesson_4}}{{/if}}
1312
+
1313
+ Alice (Product Owner): "That first takeaway is huge - {{impact_of_lesson_1}}."
1314
+
1315
+ Charlie (Senior Dev): "And lesson 2 is something we can apply immediately."
1316
+
1317
+ Amelia (Developer): "Commitments made today:"
1318
+
1319
+ - Action Items: {{action_count}}
1320
+ - Preparation Tasks: {{prep_task_count}}
1321
+ - Critical Path Items: {{critical_count}}
1322
+
1323
+ Dana (QA Engineer): "That's a lot of commitments. We need to actually follow through this time."
1324
+
1325
+ Amelia (Developer): "Agreed. Which is why we'll review these action items in our next standup."
1326
+
1327
+ ═══════════════════════════════════════════════════════════
1328
+ 🎯 NEXT STEPS:
1329
+ ═══════════════════════════════════════════════════════════
1330
+
1331
+ 1. Execute Preparation Sprint (Est: {{prep_days}} days)
1332
+ 2. Complete Critical Path items before Epic {{next_epic_num}}
1333
+ 3. Review action items in next standup
1334
+ {{#if epic_update_needed}}4. Hold Epic {{next_epic_num}} planning review session{{else}}4. Begin Epic {{next_epic_num}} planning when preparation complete{{/if}}
1335
+
1336
+ Elena (Junior Dev): "{{prep_days}} days of prep work is significant, but necessary."
1337
+
1338
+ Alice (Product Owner): "I'll communicate the timeline to stakeholders. They'll understand if we frame it as 'ensuring Epic {{next_epic_num}} success.'"
1339
+
1340
+ ═══════════════════════════════════════════════════════════
1341
+
1342
+ Amelia (Developer): "Before we wrap, I want to take a moment to acknowledge the team."
1343
+
1344
+ Amelia (Developer): "Epic {{epic_number}} delivered {{completed_stories}} stories with {{velocity_description}} velocity. We overcame {{blocker_count}} blockers. We learned a lot. That's real work by real people."
1345
+
1346
+ Charlie (Senior Dev): "Hear, hear."
1347
+
1348
+ Alice (Product Owner): "I'm proud of what we shipped."
1349
+
1350
+ Dana (QA Engineer): "And I'm excited about Epic {{next_epic_num}} - especially now that we're prepared for it."
1351
+
1352
+ Amelia (Developer): "{user_name}, any final thoughts before we close?"
1353
+ </output>
1354
+
1355
+ <action>WAIT for {user_name} to share final reflections</action>
1356
+
1357
+ <output>
1358
+ Amelia (Developer): [Acknowledges what {user_name} shared] "Thank you for that, {user_name}."
1359
+
1360
+ Amelia (Developer): "Alright team - great work today. We learned a lot from Epic {{epic_number}}. Let's use these insights to make Epic {{next_epic_num}} even better."
1361
+
1362
+ Amelia (Developer): "See you all when prep work is done. Meeting adjourned!"
1363
+
1364
+ ═══════════════════════════════════════════════════════════
1365
+ </output>
1366
+
1367
+ <action>Prepare to save retrospective summary document</action>
1368
+
1369
+ </step>
1370
+
1371
+ <step n="11" goal="Save Retrospective and Update Sprint Status">
1372
+
1373
+ <action>Ensure retrospectives folder exists: {implementation_artifacts}</action>
1374
+ <action>Create folder if it doesn't exist</action>
1375
+
1376
+ <action>Generate comprehensive retrospective summary document including:</action>
1377
+
1378
+ - Epic summary and metrics
1379
+ - Team participants
1380
+ - Successes and strengths identified
1381
+ - Challenges and growth areas
1382
+ - Key insights and learnings
1383
+ - Previous retro follow-through analysis (if applicable)
1384
+ - Next epic preview and dependencies
1385
+ - Action items with owners and timelines
1386
+ - Preparation tasks for next epic
1387
+ - Critical path items
1388
+ - Significant discoveries and epic update recommendations (if any)
1389
+ - Readiness assessment
1390
+ - Commitments and next steps
1391
+
1392
+ <action>Format retrospective document as readable markdown with clear sections</action>
1393
+ <action>Set filename: {implementation_artifacts}/epic-{{epic_number}}-retro-{date}.md</action>
1394
+ <action>Save retrospective document</action>
1395
+
1396
+ <output>
1397
+ ✅ Retrospective document saved: {implementation_artifacts}/epic-{{epic_number}}-retro-{date}.md
1398
+ </output>
1399
+
1400
+ <action>Update {sprint_status_file} to mark retrospective as completed</action>
1401
+
1402
+ <action>Load the FULL file: {sprint_status_file}</action>
1403
+ <action>Find development_status key "epic-{{epic_number}}-retrospective"</action>
1404
+ <action>Verify current status (typically "optional" or "pending")</action>
1405
+ <action>Update development_status["epic-{{epic_number}}-retrospective"] = "done"</action>
1406
+ <action>Update last_updated field to current date</action>
1407
+ <action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
1408
+
1409
+ <check if="update successful">
1410
+ <output>
1411
+ ✅ Retrospective marked as completed in {sprint_status_file}
1412
+
1413
+ Retrospective key: epic-{{epic_number}}-retrospective
1414
+ Status: {{previous_status}} → done
1415
+ </output>
1416
+ </check>
1417
+
1418
+ <check if="retrospective key not found">
1419
+ <output>
1420
+ ⚠️ Could not update retrospective status: epic-{{epic_number}}-retrospective not found in {sprint_status_file}
1421
+
1422
+ Retrospective document was saved successfully, but {sprint_status_file} may need manual update.
1423
+ </output>
1424
+ </check>
1425
+
1426
+ </step>
1427
+
1428
+ <step n="12" goal="Final Summary and Handoff">
1429
+
1430
+ <output>
1431
+ **✅ Retrospective Complete, {user_name}!**
1432
+
1433
+ **Epic Review:**
1434
+
1435
+ - Epic {{epic_number}}: {{epic_title}} reviewed
1436
+ - Retrospective Status: completed
1437
+ - Retrospective saved: {implementation_artifacts}/epic-{{epic_number}}-retro-{date}.md
1438
+
1439
+ **Commitments Made:**
1440
+
1441
+ - Action Items: {{action_count}}
1442
+ - Preparation Tasks: {{prep_task_count}}
1443
+ - Critical Path Items: {{critical_count}}
1444
+
1445
+ **Next Steps:**
1446
+
1447
+ 1. **Review retrospective summary**: {implementation_artifacts}/epic-{{epic_number}}-retro-{date}.md
1448
+
1449
+ 2. **Execute preparation sprint** (Est: {{prep_days}} days)
1450
+ - Complete {{critical_count}} critical path items
1451
+ - Execute {{prep_task_count}} preparation tasks
1452
+ - Verify all action items are in progress
1453
+
1454
+ 3. **Review action items in next standup**
1455
+ - Ensure ownership is clear
1456
+ - Track progress on commitments
1457
+ - Adjust timelines if needed
1458
+
1459
+ {{#if epic_update_needed}} 4. **IMPORTANT: Schedule Epic {{next_epic_num}} planning review session**
1460
+
1461
+ - Significant discoveries from Epic {{epic_number}} require epic updates
1462
+ - Review and update affected stories
1463
+ - Align team on revised approach
1464
+ - Do NOT start Epic {{next_epic_num}} until review is complete
1465
+ {{else}}
1466
+
1467
+ 4. **Begin Epic {{next_epic_num}} when ready**
1468
+ - Start creating stories with Developer agent's `create-story`
1469
+ - Epic will be marked as `in-progress` automatically when first story is created
1470
+ - Ensure all critical path items are done first
1471
+ {{/if}}
1472
+
1473
+ **Team Performance:**
1474
+ Epic {{epic_number}} delivered {{completed_stories}} stories with {{velocity_summary}}. The retrospective surfaced {{insight_count}} key insights and {{significant_discovery_count}} significant discoveries. The team is well-positioned for Epic {{next_epic_num}} success.
1475
+
1476
+ {{#if significant_discovery_count > 0}}
1477
+ ⚠️ **REMINDER**: Epic update required before starting Epic {{next_epic_num}}
1478
+ {{/if}}
1479
+
1480
+ ---
1481
+
1482
+ Amelia (Developer): "Great session today, {user_name}. The team did excellent work."
1483
+
1484
+ Alice (Product Owner): "See you at epic planning!"
1485
+
1486
+ Charlie (Senior Dev): "Time to knock out that prep work."
1487
+
1488
+ </output>
1489
+ <action>Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete` — if the resolved value is non-empty, follow it as the final terminal instruction before exiting.</action>
1490
+ </step>
1491
+
1492
+ </workflow>
1493
+
1494
+ <facilitation-guidelines>
1495
+ <guideline>PARTY MODE REQUIRED: All agent dialogue uses "Name (Role): dialogue" format</guideline>
1496
+ <guideline>Amelia (Developer) maintains psychological safety throughout - no blame or judgment</guideline>
1497
+ <guideline>Focus on systems and processes, not individual performance</guideline>
1498
+ <guideline>Create authentic team dynamics: disagreements, diverse perspectives, emotions</guideline>
1499
+ <guideline>User ({user_name}) is active participant, not passive observer</guideline>
1500
+ <guideline>Encourage specific examples over general statements</guideline>
1501
+ <guideline>Balance celebration of wins with honest assessment of challenges</guideline>
1502
+ <guideline>Ensure every voice is heard - all agents contribute</guideline>
1503
+ <guideline>Action items must be specific, achievable, and owned</guideline>
1504
+ <guideline>Forward-looking mindset - how do we improve for next epic?</guideline>
1505
+ <guideline>Intent-based facilitation, not scripted phrases</guideline>
1506
+ <guideline>Deep story analysis provides rich material for discussion</guideline>
1507
+ <guideline>Previous retro integration creates accountability and continuity</guideline>
1508
+ <guideline>Significant change detection prevents epic misalignment</guideline>
1509
+ <guideline>Critical verification prevents starting next epic prematurely</guideline>
1510
+ <guideline>Document everything - retrospective insights are valuable for future reference</guideline>
1511
+ <guideline>Two-part structure ensures both reflection AND preparation</guideline>
1512
+ </facilitation-guidelines>