[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P9AXR52R5X5R561XS1TQDB":3,"skill-same:01M6P9AXR52R5X5R561XS1TQDB":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":43,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6P9AXR52R5X5R561XS1TQDB","bmad-retrospective",null,"Post-epic review to extract lessons and assess success. Use when the user says \"run a retrospective\" or \"lets retro the epic [epic]\"","combsmith\u002F.github-private","combsmith","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F258516906?v=4","01M6H305A64BBE95VKYNNXDV4Y","CombSmith","01M6P8XQJHQ22WV72XSHE3NSKS",4,"MIT","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-retrospective\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31],"retrospective","bmad retrospective","bmad","review","run","retro","user","extract","use","post","assess","EPIC","lessons","2026-11-10 10:12:30",false,"---\nname: bmad-retrospective\ndescription: 'Post-epic review to extract lessons and assess success. Use when the user says \"run a retrospective\" or \"lets retro the epic [epic]\"'\n---\n\n# Retrospective Workflow\n\n**Goal:** Post-epic review to extract lessons and assess success.\n\n**Your Role:** Developer facilitating retrospective.\n- No time estimates — NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed.\n- Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}\n- Generate all documents in {document_output_language}\n- Document output: Retrospective analysis. Concise insights, lessons learned, action items. User skill level ({user_skill_level}) affects conversation style ONLY, not retrospective content.\n- Facilitation notes:\n  - Psychological safety is paramount - NO BLAME\n  - Focus on systems, processes, and learning\n  - Everyone contributes with specific examples preferred\n  - Action items must be achievable with clear ownership\n  - Two-part format: (1) Epic Review + (2) Next Epic Preparation\n- Party mode protocol:\n  - ALL agent dialogue MUST use format: \"Name (Role): dialogue\"\n  - Example: Amelia (Developer): \"Let's begin...\"\n  - Example: {user_name} (Project Lead): [User responds]\n  - Create natural back-and-forth with user actively participating\n  - Show disagreements, diverse perspectives, authentic team dynamics\n\n## Conventions\n\n- Bare paths resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**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:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny 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.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat 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.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n\n- `project_name`, `user_name`\n- `communication_language`, `document_output_language`\n- `user_skill_level`\n- `planning_artifacts`, `implementation_artifacts`\n- `date` as system-generated current datetime\n- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`\n\n### Step 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.\n\n## Paths\n\n- `sprint_status_file` = `{implementation_artifacts}\u002Fsprint-status.yaml`\n\n## Input Files\n\n| Input | Description | Path Pattern(s) | Load Strategy |\n|-------|-------------|------------------|---------------|\n| epics | The completed epic for retrospective | whole: `{planning_artifacts}\u002F*epic*.md`, sharded_index: `{planning_artifacts}\u002F*epic*\u002Findex.md`, sharded_single: `{planning_artifacts}\u002F*epic*\u002Fepic-{{epic_num}}.md` | SELECTIVE_LOAD |\n| previous_retrospective | Previous epic's retrospective (optional) | `{implementation_artifacts}\u002F**\u002Fepic-{{prev_epic_num}}-retro-*.md` | SELECTIVE_LOAD |\n| architecture | System architecture for context | whole: `{planning_artifacts}\u002F*architecture*.md`, sharded: `{planning_artifacts}\u002F*architecture*\u002F*.md` | FULL_LOAD |\n| prd | Product requirements for context | whole: `{planning_artifacts}\u002F*prd*.md`, sharded: `{planning_artifacts}\u002F*prd*\u002F*.md` | FULL_LOAD |\n| document_project | Brownfield project documentation (optional) | sharded: `{planning_artifacts}\u002F*.md` | INDEX_GUIDED |\n\n## Required Inputs\n\n- `agent_roster` = resolved via `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_config.py --project-root {project-root} --key agents` (merges four layers in order: `_bmad\u002Fconfig.toml`, `_bmad\u002Fconfig.user.toml`, `_bmad\u002Fcustom\u002Fconfig.toml`, `_bmad\u002Fcustom\u002Fconfig.user.toml`)\n\n## Execution\n\n\u003Cworkflow>\n\n\u003Cstep n=\"1\" goal=\"Epic Discovery - Find Completed Epic with Priority Logic\">\n\n\u003Caction>Explain to {user_name} the epic discovery process using natural dialogue\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (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.\"\n\u003C\u002Foutput>\n\n\u003Caction>PRIORITY 1: Check {sprint_status_file} first\u003C\u002Faction>\n\n\u003Caction>Load the FULL file: {sprint_status_file}\u003C\u002Faction>\n\u003Caction>Read ALL development_status entries\u003C\u002Faction>\n\u003Caction>Find the highest epic number with at least one story marked \"done\"\u003C\u002Faction>\n\u003Caction>Extract epic number from keys like \"epic-X-retrospective\" or story keys like \"X-Y-story-name\"\u003C\u002Faction>\n\u003Caction>Set {{detected_epic}} = highest epic number found with completed stories\u003C\u002Faction>\n\n\u003Ccheck if=\"{{detected_epic}} found\">\n  \u003Caction>Present finding to user with context\u003C\u002Faction>\n\n  \u003Coutput>\nAmelia (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}?\"\n  \u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to confirm or correct\u003C\u002Faction>\n\n  \u003Ccheck if=\"{user_name} confirms\">\n    \u003Caction>Set {{epic_number}} = {{detected_epic}}\u003C\u002Faction>\n  \u003C\u002Fcheck>\n\n  \u003Ccheck if=\"{user_name} provides different epic number\">\n    \u003Caction>Set {{epic_number}} = user-provided number\u003C\u002Faction>\n    \u003Coutput>\nAmelia (Developer): \"Got it, we're reviewing Epic {{epic_number}}. Let me gather that information.\"\n    \u003C\u002Foutput>\n  \u003C\u002Fcheck>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"{{detected_epic}} NOT found in sprint-status\">\n  \u003Caction>PRIORITY 2: Ask user directly\u003C\u002Faction>\n\n  \u003Coutput>\nAmelia (Developer): \"I'm having trouble detecting the completed epic from {sprint_status_file}. {user_name}, which epic number did you just complete?\"\n  \u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to provide epic number\u003C\u002Faction>\n\u003Caction>Set {{epic_number}} = user-provided number\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"{{epic_number}} still not determined\">\n  \u003Caction>PRIORITY 3: Fallback to stories folder\u003C\u002Faction>\n\n\u003Caction>Scan {implementation_artifacts} for highest numbered story files\u003C\u002Faction>\n\u003Caction>Extract epic numbers from story filenames (pattern: epic-X-Y-story-name.md)\u003C\u002Faction>\n\u003Caction>Set {{detected_epic}} = highest epic number found\u003C\u002Faction>\n\n  \u003Coutput>\nAmelia (Developer): \"I found stories for Epic {{detected_epic}} in the stories folder. Is that the epic we're reviewing, {user_name}?\"\n  \u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to confirm or correct\u003C\u002Faction>\n\u003Caction>Set {{epic_number}} = confirmed number\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Once {{epic_number}} is determined, verify epic completion status\u003C\u002Faction>\n\n\u003Caction>Find all stories for epic {{epic_number}} in {sprint_status_file}:\n\n- Look for keys starting with \"{{epic_number}}-\" (e.g., \"1-1-\", \"1-2-\", etc.)\n- Exclude epic key itself (\"epic-{{epic_number}}\")\n- Exclude retrospective key (\"epic-{{epic_number}}-retrospective\")\n  \u003C\u002Faction>\n\n\u003Caction>Count total stories found for this epic\u003C\u002Faction>\n\u003Caction>Count stories with status = \"done\"\u003C\u002Faction>\n\u003Caction>Collect list of pending story keys (status != \"done\")\u003C\u002Faction>\n\u003Caction>Determine if complete: true if all stories are done, false otherwise\u003C\u002Faction>\n\n\u003Ccheck if=\"epic is not complete\">\n  \u003Coutput>\nAlice (Product Owner): \"Wait, Amelia - I'm seeing that Epic {{epic_number}} isn't actually complete yet.\"\n\nAmelia (Developer): \"Let me check... you're right, Alice.\"\n\n**Epic Status:**\n\n- Total Stories: {{total_stories}}\n- Completed (Done): {{done_stories}}\n- Pending: {{pending_count}}\n\n**Pending Stories:**\n{{pending_story_list}}\n\nAmelia (Developer): \"{user_name}, we typically run retrospectives after all stories are done. What would you like to do?\"\n\n**Options:**\n\n1. Complete remaining stories before running retrospective (recommended)\n2. Continue with partial retrospective (not ideal, but possible)\n3. Run sprint-planning to refresh story tracking\n   \u003C\u002Foutput>\n\n\u003Cask if=\"{{non_interactive}} == false\">Continue with incomplete epic? (yes\u002Fno)\u003C\u002Fask>\n\n  \u003Ccheck if=\"user says no\">\n    \u003Coutput>\nAmelia (Developer): \"Smart call, {user_name}. Let's finish those stories first and then have a proper retrospective.\"\n    \u003C\u002Foutput>\n    \u003Caction>HALT\u003C\u002Faction>\n  \u003C\u002Fcheck>\n\n\u003Caction if=\"user says yes\">Set {{partial_retrospective}} = true\u003C\u002Faction>\n\u003Coutput>\nCharlie (Senior Dev): \"Just so everyone knows, this partial retro might miss some important lessons from those pending stories.\"\n\nAmelia (Developer): \"Good point, Charlie. {user_name}, we'll document what we can now, but we may want to revisit after everything's done.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"epic is complete\">\n  \u003Coutput>\nAlice (Product Owner): \"Excellent! All {{done_stories}} stories are marked done.\"\n\nAmelia (Developer): \"Perfect. Epic {{epic_number}} is complete and ready for retrospective, {user_name}.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"0.5\" goal=\"Discover and load project documents\">\n  \u003Caction>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}\u003C\u002Faction>\n  \u003Cnote>After discovery, these content variables are available: {epics_content} (selective load for this epic), {architecture_content}, {prd_content}, {document_project_content}\u003C\u002Fnote>\n\u003C\u002Fstep>\n\n\u003Cstep n=\"2\" goal=\"Deep Story Analysis - Extract Lessons from Implementation\">\n\n\u003Coutput>\nAmelia (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.\"\n\nCharlie (Senior Dev): \"Good idea - those dev notes always have gold in them.\"\n\u003C\u002Foutput>\n\n\u003Caction>For each story in epic {{epic_number}}, read the complete story file from {implementation_artifacts}\u002F{{epic_number}}-{{story_num}}-*.md\u003C\u002Faction>\n\n\u003Caction>Extract and analyze from each story:\u003C\u002Faction>\n\n**Dev Notes and Struggles:**\n\n- Look for sections like \"## Dev Notes\", \"## Implementation Notes\", \"## Challenges\", \"## Development Log\"\n- Identify where developers struggled or made mistakes\n- Note unexpected complexity or gotchas discovered\n- Record technical decisions that didn't work out as planned\n- Track where estimates were way off (too high or too low)\n\n**Review Feedback Patterns:**\n\n- Look for \"## Review\", \"## Code Review\", \"## Dev Review\" sections\n- Identify recurring feedback themes across stories\n- Note which types of issues came up repeatedly\n- Track quality concerns or architectural misalignments\n- Document praise or exemplary work called out in reviews\n\n**Lessons Learned:**\n\n- Look for \"## Lessons Learned\", \"## Retrospective Notes\", \"## Takeaways\" sections within stories\n- Extract explicit lessons documented during development\n- Identify \"aha moments\" or breakthroughs\n- Note what would be done differently\n- Track successful experiments or approaches\n\n**Technical Debt Incurred:**\n\n- Look for \"## Technical Debt\", \"## TODO\", \"## Known Issues\", \"## Future Work\" sections\n- Document shortcuts taken and why\n- Track debt items that affect next epic\n- Note severity and priority of debt items\n\n**Testing and Quality Insights:**\n\n- Look for \"## Testing\", \"## QA Notes\", \"## Test Results\" sections\n- Note testing challenges or surprises\n- Track bug patterns or regression issues\n- Document test coverage gaps\n\n\u003Caction>Synthesize patterns across all stories:\u003C\u002Faction>\n\n**Common Struggles:**\n\n- Identify issues that appeared in 2+ stories (e.g., \"3 out of 5 stories had API authentication issues\")\n- Note areas where team consistently struggled\n- Track where complexity was underestimated\n\n**Recurring Review Feedback:**\n\n- Identify feedback themes (e.g., \"Error handling was flagged in every review\")\n- Note quality patterns (positive and negative)\n- Track areas where team improved over the course of epic\n\n**Breakthrough Moments:**\n\n- Document key discoveries (e.g., \"Story 3 discovered the caching pattern we used for rest of epic\")\n- Note when team velocity improved dramatically\n- Track innovative solutions worth repeating\n\n**Velocity Patterns:**\n\n- Calculate average completion time per story\n- Note velocity trends (e.g., \"First 2 stories took 3x longer than estimated\")\n- Identify which types of stories went faster\u002Fslower\n\n**Team Collaboration Highlights:**\n\n- Note moments of excellent collaboration mentioned in stories\n- Track where pair programming or mob programming was effective\n- Document effective problem-solving sessions\n\n\u003Caction>Store this synthesis - these patterns will drive the retrospective discussion\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Okay, I've reviewed all {{total_stories}} story records. I found some really interesting patterns we should discuss.\"\n\nDana (QA Engineer): \"I'm curious what you found, Amelia. I noticed some things in my testing too.\"\n\nAmelia (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.\"\n\u003C\u002Foutput>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"3\" goal=\"Load and Integrate Previous Epic Retrospective\">\n\n\u003Caction>Calculate previous epic number: {{prev_epic_num}} = {{epic_number}} - 1\u003C\u002Faction>\n\n\u003Ccheck if=\"{{prev_epic_num}} >= 1\">\n  \u003Caction>Search for previous retrospectives using pattern: {implementation_artifacts}\u002Fepic-{{prev_epic_num}}-retro-*.md\u003C\u002Faction>\n\n  \u003Ccheck if=\"previous retrospectives found\">\n    \u003Coutput>\nAmelia (Developer): \"I found our retrospectives from Epic {{prev_epic_num}}. Let me see what we committed to back then...\"\n    \u003C\u002Foutput>\n\n    \u003Caction>Read the previous retrospectives\u003C\u002Faction>\n\n    \u003Caction>Extract key elements:\u003C\u002Faction>\n    - **Action items committed**: What did the team agree to improve?\n    - **Lessons learned**: What insights were captured?\n    - **Process improvements**: What changes were agreed upon?\n    - **Technical debt flagged**: What debt was documented?\n    - **Team agreements**: What commitments were made?\n    - **Preparation tasks**: What was needed for this epic?\n\n    \u003Caction>Cross-reference with current epic execution:\u003C\u002Faction>\n\n    **Action Item Follow-Through:**\n    - For each action item from Epic {{prev_epic_num}} retro, check if it was completed\n    - Look for evidence in current epic's story records\n    - Mark each action item: ✅ Completed, ⏳ In Progress, ❌ Not Addressed\n\n    **Lessons Applied:**\n    - For each lesson from Epic {{prev_epic_num}}, check if team applied it in Epic {{epic_number}}\n    - Look for evidence in dev notes, review feedback, or outcomes\n    - Document successes and missed opportunities\n\n    **Process Improvements Effectiveness:**\n    - For each process change agreed to in Epic {{prev_epic_num}}, assess if it helped\n    - Did the change improve velocity, quality, or team satisfaction?\n    - Should we keep, modify, or abandon the change?\n\n    **Technical Debt Status:**\n    - For each debt item from Epic {{prev_epic_num}}, check if it was addressed\n    - Did unaddressed debt cause problems in Epic {{epic_number}}?\n    - Did the debt grow or shrink?\n\n    \u003Caction>Prepare \"continuity insights\" for the retrospective discussion\u003C\u002Faction>\n\n    \u003Caction>Identify wins where previous lessons were applied successfully:\u003C\u002Faction>\n    - Document specific examples of applied learnings\n    - Note positive impact on Epic {{epic_number}} outcomes\n    - Celebrate team growth and improvement\n\n    \u003Caction>Identify missed opportunities where previous lessons were ignored:\u003C\u002Faction>\n    - Document where team repeated previous mistakes\n    - Note impact of not applying lessons (without blame)\n    - Explore barriers that prevented application\n\n    \u003Coutput>\n\nAmelia (Developer): \"Interesting... in Epic {{prev_epic_num}}'s retro, we committed to {{action_count}} action items.\"\n\nAlice (Product Owner): \"How'd we do on those, Amelia?\"\n\nAmelia (Developer): \"We completed {{completed_count}}, made progress on {{in_progress_count}}, but didn't address {{not_addressed_count}}.\"\n\nCharlie (Senior Dev): _looking concerned_ \"Which ones didn't we address?\"\n\nAmelia (Developer): \"We'll discuss that in the retro. Some of them might explain challenges we had this epic.\"\n\nElena (Junior Dev): \"That's... actually pretty insightful.\"\n\nAmelia (Developer): \"That's why we track this stuff. Pattern recognition helps us improve.\"\n\u003C\u002Foutput>\n\n  \u003C\u002Fcheck>\n\n  \u003Ccheck if=\"no previous retro found\">\n    \u003Coutput>\nAmelia (Developer): \"I don't see a retrospective for Epic {{prev_epic_num}}. Either we skipped it, or this is your first retro.\"\n\nAlice (Product Owner): \"Probably our first one. Good time to start the habit!\"\n\u003C\u002Foutput>\n\u003Caction>Set {{first_retrospective}} = true\u003C\u002Faction>\n\u003C\u002Fcheck>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"{{prev_epic_num}} \u003C 1\">\n  \u003Coutput>\nAmelia (Developer): \"This is Epic 1, so naturally there's no previous retro to reference. We're starting fresh!\"\n\nCharlie (Senior Dev): \"First epic, first retro. Let's make it count.\"\n\u003C\u002Foutput>\n\u003Caction>Set {{first_retrospective}} = true\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"4\" goal=\"Preview Next Epic with Change Detection\">\n\n\u003Caction>Calculate next epic number: {{next_epic_num}} = {{epic_number}} + 1\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Before we dive into the discussion, let me take a quick look at Epic {{next_epic_num}} to understand what's coming.\"\n\nAlice (Product Owner): \"Good thinking - helps us connect what we learned to what we're about to do.\"\n\u003C\u002Foutput>\n\n\u003Caction>Attempt to load next epic using selective loading strategy:\u003C\u002Faction>\n\n**Try sharded first (more specific):**\n\u003Caction>Check if file exists: {planning_artifacts}\u002Fepic*\u002Fepic-{{next_epic_num}}.md\u003C\u002Faction>\n\n\u003Ccheck if=\"sharded epic file found\">\n  \u003Caction>Load {planning_artifacts}\u002F*epic*\u002Fepic-{{next_epic_num}}.md\u003C\u002Faction>\n  \u003Caction>Set {{next_epic_source}} = \"sharded\"\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n**Fallback to whole document:**\n\u003Ccheck if=\"sharded epic not found\">\n\u003Caction>Check if file exists: {planning_artifacts}\u002Fepic*.md\u003C\u002Faction>\n\n  \u003Ccheck if=\"whole epic file found\">\n    \u003Caction>Load entire epics document\u003C\u002Faction>\n    \u003Caction>Extract Epic {{next_epic_num}} section\u003C\u002Faction>\n    \u003Caction>Set {{next_epic_source}} = \"whole\"\u003C\u002Faction>\n  \u003C\u002Fcheck>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"next epic found\">\n  \u003Caction>Analyze next epic for:\u003C\u002Faction>\n  - Epic title and objectives\n  - Planned stories and complexity estimates\n  - Dependencies on Epic {{epic_number}} work\n  - New technical requirements or capabilities needed\n  - Potential risks or unknowns\n  - Business goals and success criteria\n\n\u003Caction>Identify dependencies on completed work:\u003C\u002Faction>\n\n- What components from Epic {{epic_number}} does Epic {{next_epic_num}} rely on?\n- Are all prerequisites complete and stable?\n- Any incomplete work that creates blocking dependencies?\n\n\u003Caction>Note potential gaps or preparation needed:\u003C\u002Faction>\n\n- Technical setup required (infrastructure, tools, libraries)\n- Knowledge gaps to fill (research, training, spikes)\n- Refactoring needed before starting next epic\n- Documentation or specifications to create\n\n\u003Caction>Check for technical prerequisites:\u003C\u002Faction>\n\n- APIs or integrations that must be ready\n- Data migrations or schema changes needed\n- Testing infrastructure requirements\n- Deployment or environment setup\n\n  \u003Coutput>\nAmelia (Developer): \"Alright, I've reviewed Epic {{next_epic_num}}: '{{next_epic_title}}'\"\n\nAlice (Product Owner): \"What are we looking at?\"\n\nAmelia (Developer): \"{{next_epic_num}} stories planned, building on the {{dependency_description}} from Epic {{epic_number}}.\"\n\nCharlie (Senior Dev): \"Dependencies concern me. Did we finish everything we need for that?\"\n\nAmelia (Developer): \"Good question - that's exactly what we need to explore in this retro.\"\n\u003C\u002Foutput>\n\n\u003Caction>Set {{next_epic_exists}} = true\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"next epic NOT found\">\n  \u003Coutput>\nAmelia (Developer): \"Hmm, I don't see Epic {{next_epic_num}} defined yet.\"\n\nAlice (Product Owner): \"We might be at the end of the roadmap, or we haven't planned that far ahead yet.\"\n\nAmelia (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.\"\n\u003C\u002Foutput>\n\n\u003Caction>Set {{next_epic_exists}} = false\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"5\" goal=\"Initialize Retrospective with Rich Context\">\n\n\u003Caction>Load agent roster from {agent_roster}\u003C\u002Faction>\n\u003Caction>Identify which agents participated in Epic {{epic_number}} based on story records\u003C\u002Faction>\n\u003Caction>Ensure key roles present: Product Owner, Developer (facilitating), Testing\u002FQA, Architect\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Alright team, everyone's here. Let me set the stage for our retrospective.\"\n\n═══════════════════════════════════════════════════════════\n? TEAM RETROSPECTIVE - Epic {{epic_number}}: {{epic_title}}\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Here's what we accomplished together.\"\n\n**EPIC {{epic_number}} SUMMARY:**\n\nDelivery Metrics:\n\n- Completed: {{completed_stories}}\u002F{{total_stories}} stories ({{completion_percentage}}%)\n- Velocity: {{actual_points}} story points{{#if planned_points}} (planned: {{planned_points}}){{\u002Fif}}\n- Duration: {{actual_sprints}} sprints{{#if planned_sprints}} (planned: {{planned_sprints}}){{\u002Fif}}\n- Average velocity: {{points_per_sprint}} points\u002Fsprint\n\nQuality and Technical:\n\n- Blockers encountered: {{blocker_count}}\n- Technical debt items: {{debt_count}}\n- Test coverage: {{coverage_info}}\n- Production incidents: {{incident_count}}\n\nBusiness Outcomes:\n\n- Goals achieved: {{goals_met}}\u002F{{total_goals}}\n- Success criteria: {{criteria_status}}\n- Stakeholder feedback: {{feedback_summary}}\n\nAlice (Product Owner): \"Those numbers tell a good story. {{completion_percentage}}% completion is {{#if completion_percentage >= 90}}excellent{{else}}something we should discuss{{\u002Fif}}.\"\n\nCharlie (Senior Dev): \"I'm more interested in that technical debt number - {{debt_count}} items is {{#if debt_count > 10}}concerning{{else}}manageable{{\u002Fif}}.\"\n\nDana (QA Engineer): \"{{incident_count}} production incidents - {{#if incident_count == 0}}clean epic!{{else}}we should talk about those{{\u002Fif}}.\"\n\n{{#if next_epic_exists}}\n═══════════════════════════════════════════════════════════\n**NEXT EPIC PREVIEW:** Epic {{next_epic_num}}: {{next_epic_title}}\n═══════════════════════════════════════════════════════════\n\nDependencies on Epic {{epic_number}}:\n{{list_dependencies}}\n\nPreparation Needed:\n{{list_preparation_gaps}}\n\nTechnical Prerequisites:\n{{list_technical_prereqs}}\n\nAmelia (Developer): \"And here's what's coming next. Epic {{next_epic_num}} builds on what we just finished.\"\n\nElena (Junior Dev): \"Wow, that's a lot of dependencies on our work.\"\n\nCharlie (Senior Dev): \"Which means we better make sure Epic {{epic_number}} is actually solid before moving on.\"\n{{\u002Fif}}\n\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Team assembled for this retrospective:\"\n\n{{list_participating_agents}}\n\nAmelia (Developer): \"{user_name}, you're joining us as Project Lead. Your perspective is crucial here.\"\n\n{user_name} (Project Lead): [Participating in the retrospective]\n\nAmelia (Developer): \"Our focus today:\"\n\n1. Learning from Epic {{epic_number}} execution\n   {{#if next_epic_exists}}2. Preparing for Epic {{next_epic_num}} success{{\u002Fif}}\n\nAmelia (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.\"\n\nAlice (Product Owner): \"And everything shared here stays in this room - unless we decide together to escalate something.\"\n\nAmelia (Developer): \"Exactly. {user_name}, any questions before we dive in?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond or indicate readiness\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"6\" goal=\"Epic Review Discussion - What Went Well, What Didn't\">\n\n\u003Coutput>\nAmelia (Developer): \"Let's start with the good stuff. What went well in Epic {{epic_number}}?\"\n\nAmelia (Developer): _pauses, creating space_\n\nAlice (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.\"\n\nCharlie (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.\"\n\nDana (QA Engineer): \"From my side, testing went smoother than usual. The Developer's documentation was way better this epic - actually usable test plans!\"\n\nElena (Junior Dev): _smiling_ \"That's because Charlie made me document everything after Story 1's code review!\"\n\nCharlie (Senior Dev): _laughing_ \"Tough love pays off.\"\n\u003C\u002Foutput>\n\n\u003Caction>Amelia (Developer) naturally turns to {user_name} to engage them in the discussion\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, what stood out to you as going well in this epic?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond - this is a KEY USER INTERACTION moment\u003C\u002Faction>\n\n\u003Caction>After {user_name} responds, have 1-2 team members react to or build on what {user_name} shared\u003C\u002Faction>\n\n\u003Coutput>\nAlice (Product Owner): [Responds naturally to what {user_name} said, either agreeing, adding context, or offering a different perspective]\n\nCharlie (Senior Dev): [Builds on the discussion, perhaps adding technical details or connecting to specific stories]\n\u003C\u002Foutput>\n\n\u003Caction>Continue facilitating natural dialogue, periodically bringing {user_name} back into the conversation\u003C\u002Faction>\n\n\u003Caction>After covering successes, guide the transition to challenges with care\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Okay, we've celebrated some real wins. Now let's talk about challenges - where did we struggle? What slowed us down?\"\n\nAmelia (Developer): _creates safe space with tone and pacing_\n\nElena (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.\"\n\nCharlie (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!\"\n\nAlice (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!\"\n\nCharlie (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!\"\n\nAmelia (Developer): _intervening calmly_ \"Let's take a breath here. This is exactly the kind of thing we need to unpack.\"\n\nAmelia (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.\"\n\nAmelia (Developer): \"{user_name}, you have visibility across the whole project. What's your take on this situation?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond and help facilitate the conflict resolution\u003C\u002Faction>\n\n\u003Caction>Use {user_name}'s response to guide the discussion toward systemic understanding rather than blame\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (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.\"\n\nElena (Junior Dev): \"That makes sense. If we'd had {{preventive_measure}}, I probably could have avoided those redos.\"\n\nCharlie (Senior Dev): _softening_ \"Yeah, and I could have been clearer about assumptions in the docs. Sorry for getting defensive, Alice.\"\n\nAlice (Product Owner): \"I appreciate that. I could've been more proactive about flagging the schema additions earlier, too.\"\n\nAmelia (Developer): \"This is good. We're identifying systemic improvements, not assigning blame.\"\n\u003C\u002Foutput>\n\n\u003Caction>Continue the discussion, weaving in patterns discovered from the deep story analysis (Step 2)\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Speaking of patterns, I noticed something when reviewing all the story records...\"\n\nAmelia (Developer): \"{{pattern_1_description}} - this showed up in {{pattern_1_count}} out of {{total_stories}} stories.\"\n\nDana (QA Engineer): \"Oh wow, I didn't realize it was that widespread.\"\n\nAmelia (Developer): \"Yeah. And there's more - {{pattern_2_description}} came up in almost every code review.\"\n\nCharlie (Senior Dev): \"That's... actually embarrassing. We should've caught that pattern earlier.\"\n\nAmelia (Developer): \"No shame, Charlie. Now we know, and we can improve. {user_name}, did you notice these patterns during the epic?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to share their observations\u003C\u002Faction>\n\n\u003Caction>Continue the retrospective discussion, creating moments where:\u003C\u002Faction>\n\n- Team members ask {user_name} questions directly\n- {user_name}'s input shifts the discussion direction\n- Disagreements arise naturally and get resolved\n- Quieter team members are invited to contribute\n- Specific stories are referenced with real examples\n- Emotions are authentic (frustration, pride, concern, hope)\n\n\u003Ccheck if=\"previous retrospective exists\">\n  \u003Coutput>\nAmelia (Developer): \"Before we move on, I want to circle back to Epic {{prev_epic_num}}'s retrospective.\"\n\nAmelia (Developer): \"We made some commitments in that retro. Let's see how we did.\"\n\nAmelia (Developer): \"Action item 1: {{prev_action_1}}. Status: {{prev_action_1_status}}\"\n\nAlice (Product Owner): {{#if prev_action_1_status == \"completed\"}}\"We nailed that one!\"{{else}}\"We... didn't do that one.\"{{\u002Fif}}\n\nCharlie (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.\"{{\u002Fif}}\n\nAmelia (Developer): \"Action item 2: {{prev_action_2}}. Status: {{prev_action_2_status}}\"\n\nDana (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.\"{{\u002Fif}}\n\nAmelia (Developer): \"{user_name}, looking at what we committed to last time and what we actually did - what's your reaction?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond\u003C\u002Faction>\n\n\u003Caction>Use the previous retro follow-through as a learning moment about commitment and accountability\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Coutput>\nAmelia (Developer): \"Alright, we've covered a lot of ground. Let me summarize what I'm hearing...\"\n\nAmelia (Developer): \"**Successes:**\"\n{{list_success_themes}}\n\nAmelia (Developer): \"**Challenges:**\"\n{{list_challenge_themes}}\n\nAmelia (Developer): \"**Key Insights:**\"\n{{list_insight_themes}}\n\nAmelia (Developer): \"Does that capture it? Anyone have something important we missed?\"\n\u003C\u002Foutput>\n\n\u003Caction>Allow team members to add any final thoughts on the epic review\u003C\u002Faction>\n\u003Caction>Ensure {user_name} has opportunity to add their perspective\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"7\" goal=\"Next Epic Preparation Discussion - Interactive and Collaborative\">\n\n\u003Ccheck if=\"{{next_epic_exists}} == false\">\n  \u003Coutput>\nAmelia (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.\"\n  \u003C\u002Foutput>\n  \u003Caction>Skip to Step 8\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Coutput>\nAmelia (Developer): \"Now let's shift gears. Epic {{next_epic_num}} is coming up: '{{next_epic_title}}'\"\n\nAmelia (Developer): \"The question is: are we ready? What do we need to prepare?\"\n\nAlice (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.\"\n\nCharlie (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}}.\"\n\nDana (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}}.\"\n\nElena (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.\"\n\nAmelia (Developer): \"{user_name}, the team is surfacing some real concerns here. What's your sense of our readiness?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to share their assessment\u003C\u002Faction>\n\n\u003Caction>Use {user_name}'s input to guide deeper exploration of preparation needs\u003C\u002Faction>\n\n\u003Coutput>\nAlice (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}}.\"\n\nCharlie (Senior Dev): \"Here's what I think we need technically before Epic {{next_epic_num}} can start...\"\n\nCharlie (Senior Dev): \"1. {{tech_prep_item_1}} - estimated {{hours_1}} hours\"\nCharlie (Senior Dev): \"2. {{tech_prep_item_2}} - estimated {{hours_2}} hours\"\nCharlie (Senior Dev): \"3. {{tech_prep_item_3}} - estimated {{hours_3}} hours\"\n\nElena (Junior Dev): \"That's like {{total_hours}} hours! That's a full sprint of prep work!\"\n\nCharlie (Senior Dev): \"Exactly. We can't just jump into Epic {{next_epic_num}} on Monday.\"\n\nAlice (Product Owner): _frustrated_ \"But we have stakeholder pressure to keep shipping features. They're not going to be happy about a 'prep sprint.'\"\n\nAmelia (Developer): \"Let's think about this differently. What happens if we DON'T do this prep work?\"\n\nDana (QA Engineer): \"We'll hit blockers in the middle of Epic {{next_epic_num}}, velocity will tank, and we'll ship late anyway.\"\n\nCharlie (Senior Dev): \"Worse - we'll ship something built on top of {{technical_concern_1}}, and it'll be fragile.\"\n\nAmelia (Developer): \"{user_name}, you're balancing stakeholder pressure against technical reality. How do you want to handle this?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to provide direction on preparation approach\u003C\u002Faction>\n\n\u003Caction>Create space for debate and disagreement about priorities\u003C\u002Faction>\n\n\u003Coutput>\nAlice (Product Owner): [Potentially disagrees with {user_name}'s approach] \"I hear what you're saying, {user_name}, but from a business perspective, {{business_concern}}.\"\n\nCharlie (Senior Dev): [Potentially supports or challenges Alice's point] \"The business perspective is valid, but {{technical_counter_argument}}.\"\n\nAmelia (Developer): \"We have healthy tension here between business needs and technical reality. That's good - it means we're being honest.\"\n\nAmelia (Developer): \"Let's explore a middle ground. Charlie, which of your prep items are absolutely critical vs. nice-to-have?\"\n\nCharlie (Senior Dev): \"{{critical_prep_item_1}} and {{critical_prep_item_2}} are non-negotiable. {{nice_to_have_prep_item}} can wait.\"\n\nAlice (Product Owner): \"And can any of the critical prep happen in parallel with starting Epic {{next_epic_num}}?\"\n\nCharlie (Senior Dev): _thinking_ \"Maybe. If we tackle {{first_critical_item}} before the epic starts, we could do {{second_critical_item}} during the first sprint.\"\n\nDana (QA Engineer): \"But that means Story 1 of Epic {{next_epic_num}} can't depend on {{second_critical_item}}.\"\n\nAlice (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.\"\n\nAmelia (Developer): \"{user_name}, the team is finding a workable compromise here. Does this approach make sense to you?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to validate or adjust the preparation strategy\u003C\u002Faction>\n\n\u003Caction>Continue working through preparation needs across all dimensions:\u003C\u002Faction>\n\n- Dependencies on Epic {{epic_number}} work\n- Technical setup and infrastructure\n- Knowledge gaps and research needs\n- Documentation or specification work\n- Testing infrastructure\n- Refactoring or debt reduction\n- External dependencies (APIs, integrations, etc.)\n\n\u003Caction>For each preparation area, facilitate team discussion that:\u003C\u002Faction>\n\n- Identifies specific needs with concrete examples\n- Estimates effort realistically based on Epic {{epic_number}} experience\n- Assigns ownership to specific agents\n- Determines criticality and timing\n- Surfaces risks of NOT doing the preparation\n- Explores parallel work opportunities\n- Brings {user_name} in for key decisions\n\n\u003Coutput>\nAmelia (Developer): \"I'm hearing a clear picture of what we need before Epic {{next_epic_num}}. Let me summarize...\"\n\n**CRITICAL PREPARATION (Must complete before epic starts):**\n{{list_critical_prep_items_with_owners_and_estimates}}\n\n**PARALLEL PREPARATION (Can happen during early stories):**\n{{list_parallel_prep_items_with_owners_and_estimates}}\n\n**NICE-TO-HAVE PREPARATION (Would help but not blocking):**\n{{list_nice_to_have_prep_items}}\n\nAmelia (Developer): \"Total critical prep effort: {{critical_hours}} hours ({{critical_days}} days)\"\n\nAlice (Product Owner): \"That's manageable. We can communicate that to stakeholders.\"\n\nAmelia (Developer): \"{user_name}, does this preparation plan work for you?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} final validation of preparation plan\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"8\" goal=\"Synthesize Action Items with Significant Change Detection\">\n\n\u003Coutput>\nAmelia (Developer): \"Let's capture concrete action items from everything we've discussed.\"\n\nAmelia (Developer): \"I want specific, achievable actions with clear owners. Not vague aspirations.\"\n\u003C\u002Foutput>\n\n\u003Caction>Synthesize themes from Epic {{epic_number}} review discussion into actionable improvements\u003C\u002Faction>\n\n\u003Caction>Create specific action items with:\u003C\u002Faction>\n\n- Clear description of the action\n- Assigned owner (specific agent or role)\n- Timeline or deadline\n- Success criteria (how we'll know it's done)\n- Category (process, technical, documentation, team, etc.)\n\n\u003Caction>Ensure action items are SMART:\u003C\u002Faction>\n\n- Specific: Clear and unambiguous\n- Measurable: Can verify completion\n- Achievable: Realistic given constraints\n- Relevant: Addresses real issues from retro\n- Time-bound: Has clear deadline\n\n\u003Coutput>\nAmelia (Developer): \"Based on our discussion, here are the action items I'm proposing...\"\n\n═══════════════════════════════════════════════════════════\n? EPIC {{epic_number}} ACTION ITEMS:\n═══════════════════════════════════════════════════════════\n\n**Process Improvements:**\n\n1. {{action_item_1}}\n   Owner: {{agent_1}}\n   Deadline: {{timeline_1}}\n   Success criteria: {{criteria_1}}\n\n2. {{action_item_2}}\n   Owner: {{agent_2}}\n   Deadline: {{timeline_2}}\n   Success criteria: {{criteria_2}}\n\nCharlie (Senior Dev): \"I can own action item 1, but {{timeline_1}} is tight. Can we push it to {{alternative_timeline}}?\"\n\nAmelia (Developer): \"What do others think? Does that timing still work?\"\n\nAlice (Product Owner): \"{{alternative_timeline}} works for me, as long as it's done before Epic {{next_epic_num}} starts.\"\n\nAmelia (Developer): \"Agreed. Updated to {{alternative_timeline}}.\"\n\n**Technical Debt:**\n\n1. {{debt_item_1}}\n   Owner: {{agent_3}}\n   Priority: {{priority_1}}\n   Estimated effort: {{effort_1}}\n\n2. {{debt_item_2}}\n   Owner: {{agent_4}}\n   Priority: {{priority_2}}\n   Estimated effort: {{effort_2}}\n\nDana (QA Engineer): \"For debt item 1, can we prioritize that as high? It caused testing issues in three different stories.\"\n\nCharlie (Senior Dev): \"I marked it medium because {{reasoning}}, but I hear your point.\"\n\nAmelia (Developer): \"{user_name}, this is a priority call. Testing impact vs. {{reasoning}} - how do you want to prioritize it?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to help resolve priority discussions\u003C\u002Faction>\n\n\u003Coutput>\n**Documentation:**\n1. {{doc_need_1}}\n   Owner: {{agent_5}}\n   Deadline: {{timeline_3}}\n\n2. {{doc_need_2}}\n   Owner: {{agent_6}}\n   Deadline: {{timeline_4}}\n\n**Team Agreements:**\n\n- {{agreement_1}}\n- {{agreement_2}}\n- {{agreement_3}}\n\nAmelia (Developer): \"These agreements are how we're committing to work differently going forward.\"\n\nElena (Junior Dev): \"I like agreement 2 - that would've saved me on Story {{difficult_story_num}}.\"\n\n═══════════════════════════════════════════════════════════\n? EPIC {{next_epic_num}} PREPARATION TASKS:\n═══════════════════════════════════════════════════════════\n\n**Technical Setup:**\n[ ] {{setup_task_1}}\nOwner: {{owner_1}}\nEstimated: {{est_1}}\n\n[ ] {{setup_task_2}}\nOwner: {{owner_2}}\nEstimated: {{est_2}}\n\n**Knowledge Development:**\n[ ] {{research_task_1}}\nOwner: {{owner_3}}\nEstimated: {{est_3}}\n\n**Cleanup\u002FRefactoring:**\n[ ] {{refactor_task_1}}\nOwner: {{owner_4}}\nEstimated: {{est_4}}\n\n**Total Estimated Effort:** {{total_hours}} hours ({{total_days}} days)\n\n═══════════════════════════════════════════════════════════\n⚠️ CRITICAL PATH:\n═══════════════════════════════════════════════════════════\n\n**Blockers to Resolve Before Epic {{next_epic_num}}:**\n\n1. {{critical_item_1}}\n   Owner: {{critical_owner_1}}\n   Must complete by: {{critical_deadline_1}}\n\n2. {{critical_item_2}}\n   Owner: {{critical_owner_2}}\n   Must complete by: {{critical_deadline_2}}\n   \u003C\u002Foutput>\n\n\u003Caction>CRITICAL ANALYSIS - Detect if discoveries require epic updates\u003C\u002Faction>\n\n\u003Caction>Check if any of the following are true based on retrospective discussion:\u003C\u002Faction>\n\n- Architectural assumptions from planning proven wrong during Epic {{epic_number}}\n- Major scope changes or descoping occurred that affects next epic\n- Technical approach needs fundamental change for Epic {{next_epic_num}}\n- Dependencies discovered that Epic {{next_epic_num}} doesn't account for\n- User needs significantly different than originally understood\n- Performance\u002Fscalability concerns that affect Epic {{next_epic_num}} design\n- Security or compliance issues discovered that change approach\n- Integration assumptions proven incorrect\n- Team capacity or skill gaps more severe than planned\n- Technical debt level unsustainable without intervention\n\n\u003Ccheck if=\"significant discoveries detected\">\n  \u003Coutput>\n\n═══════════════════════════════════════════════════════════\n? SIGNIFICANT DISCOVERY ALERT ?\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"{user_name}, we need to flag something important.\"\n\nAmelia (Developer): \"During Epic {{epic_number}}, the team uncovered findings that may require updating the plan for Epic {{next_epic_num}}.\"\n\n**Significant Changes Identified:**\n\n1. {{significant_change_1}}\n   Impact: {{impact_description_1}}\n\n2. {{significant_change_2}}\n   Impact: {{impact_description_2}}\n\n{{#if significant_change_3}} 3. {{significant_change_3}}\nImpact: {{impact_description_3}}\n{{\u002Fif}}\n\nCharlie (Senior Dev): \"Yeah, when we discovered {{technical_discovery}}, it fundamentally changed our understanding of {{affected_area}}.\"\n\nAlice (Product Owner): \"And from a product perspective, {{product_discovery}} means Epic {{next_epic_num}}'s stories are based on wrong assumptions.\"\n\nDana (QA Engineer): \"If we start Epic {{next_epic_num}} as-is, we're going to hit walls fast.\"\n\n**Impact on Epic {{next_epic_num}}:**\n\nThe current plan for Epic {{next_epic_num}} assumes:\n\n- {{wrong_assumption_1}}\n- {{wrong_assumption_2}}\n\nBut Epic {{epic_number}} revealed:\n\n- {{actual_reality_1}}\n- {{actual_reality_2}}\n\nThis means Epic {{next_epic_num}} likely needs:\n{{list_likely_changes_needed}}\n\n**RECOMMENDED ACTIONS:**\n\n1. Review and update Epic {{next_epic_num}} definition based on new learnings\n2. Update affected stories in Epic {{next_epic_num}} to reflect reality\n3. Consider updating architecture or technical specifications if applicable\n4. Hold alignment session with Product Owner before starting Epic {{next_epic_num}}\n   {{#if prd_update_needed}}5. Update PRD sections affected by new understanding{{\u002Fif}}\n\nAmelia (Developer): \"**Epic Update Required**: YES - Schedule epic planning review session\"\n\nAmelia (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?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to decide on how to handle the significant changes\u003C\u002Faction>\n\n\u003Caction>Add epic review session to critical path if user agrees\u003C\u002Faction>\n\n  \u003Coutput>\nAlice (Product Owner): \"I agree with {user_name}'s approach. Better to adjust the plan now than fail mid-epic.\"\n\nCharlie (Senior Dev): \"This is why retrospectives matter. We caught this before it became a disaster.\"\n\nAmelia (Developer): \"Adding to critical path: Epic {{next_epic_num}} planning review session before epic kickoff.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"no significant discoveries\">\n  \u003Coutput>\nAmelia (Developer): \"Good news - nothing from Epic {{epic_number}} fundamentally changes our plan for Epic {{next_epic_num}}. The plan is still sound.\"\n\nAlice (Product Owner): \"We learned a lot, but the direction is right.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Coutput>\nAmelia (Developer): \"Let me show you the complete action plan...\"\n\nAmelia (Developer): \"That's {{total_action_count}} action items, {{prep_task_count}} preparation tasks, and {{critical_count}} critical path items.\"\n\nAmelia (Developer): \"Everyone clear on what they own?\"\n\u003C\u002Foutput>\n\n\u003Caction>Give each agent with assignments a moment to acknowledge their ownership\u003C\u002Faction>\n\n\u003Caction>Ensure {user_name} approves the complete action plan\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"9\" goal=\"Critical Readiness Exploration - Interactive Deep Dive\">\n\n\u003Coutput>\nAmelia (Developer): \"Before we close, I want to do a final readiness check.\"\n\nAmelia (Developer): \"Epic {{epic_number}} is marked complete in sprint-status, but is it REALLY done?\"\n\nAlice (Product Owner): \"What do you mean, Amelia?\"\n\nAmelia (Developer): \"I mean truly production-ready, stakeholders happy, no loose ends that'll bite us later.\"\n\nAmelia (Developer): \"{user_name}, let's walk through this together.\"\n\u003C\u002Foutput>\n\n\u003Caction>Explore testing and quality state through natural conversation\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, tell me about the testing for Epic {{epic_number}}. What verification has been done?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to describe testing status\u003C\u002Faction>\n\n\u003Coutput>\nDana (QA Engineer): [Responds to what {user_name} shared] \"I can add to that - {{additional_testing_context}}.\"\n\nDana (QA Engineer): \"But honestly, {{testing_concern_if_any}}.\"\n\nAmelia (Developer): \"{user_name}, are you confident Epic {{epic_number}} is production-ready from a quality perspective?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to assess quality readiness\u003C\u002Faction>\n\n\u003Ccheck if=\"{user_name} expresses concerns\">\n  \u003Coutput>\nAmelia (Developer): \"Okay, let's capture that. What specific testing is still needed?\"\n\nDana (QA Engineer): \"I can handle {{testing_work_needed}}, estimated {{testing_hours}} hours.\"\n\nAmelia (Developer): \"Adding to critical path: Complete {{testing_work_needed}} before Epic {{next_epic_num}}.\"\n\u003C\u002Foutput>\n\u003Caction>Add testing completion to critical path\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore deployment and release status\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, what's the deployment status for Epic {{epic_number}}? Is it live in production, scheduled for deployment, or still pending?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to provide deployment status\u003C\u002Faction>\n\n\u003Ccheck if=\"not yet deployed\">\n  \u003Coutput>\nCharlie (Senior Dev): \"If it's not deployed yet, we need to factor that into Epic {{next_epic_num}} timing.\"\n\nAmelia (Developer): \"{user_name}, when is deployment planned? Does that timing work for starting Epic {{next_epic_num}}?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to clarify deployment timeline\u003C\u002Faction>\n\n\u003Caction>Add deployment milestone to critical path with agreed timeline\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore stakeholder acceptance\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, have stakeholders seen and accepted the Epic {{epic_number}} deliverables?\"\n\nAlice (Product Owner): \"This is important - I've seen 'done' epics get rejected by stakeholders and force rework.\"\n\nAmelia (Developer): \"{user_name}, any feedback from stakeholders still pending?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to describe stakeholder acceptance status\u003C\u002Faction>\n\n\u003Ccheck if=\"acceptance incomplete or feedback pending\">\n  \u003Coutput>\nAlice (Product Owner): \"We should get formal acceptance before moving on. Otherwise Epic {{next_epic_num}} might get interrupted by rework.\"\n\nAmelia (Developer): \"{user_name}, how do you want to handle stakeholder acceptance? Should we make it a critical path item?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} decision\u003C\u002Faction>\n\n\u003Caction>Add stakeholder acceptance to critical path if user agrees\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore technical health and stability\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, this is a gut-check question: How does the codebase feel after Epic {{epic_number}}?\"\n\nAmelia (Developer): \"Stable and maintainable? Or are there concerns lurking?\"\n\nCharlie (Senior Dev): \"Be honest, {user_name}. We've all shipped epics that felt... fragile.\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to assess codebase health\u003C\u002Faction>\n\n\u003Ccheck if=\"{user_name} expresses stability concerns\">\n  \u003Coutput>\nCharlie (Senior Dev): \"Okay, let's dig into that. What's causing those concerns?\"\n\nCharlie (Senior Dev): [Helps {user_name} articulate technical concerns]\n\nAmelia (Developer): \"What would it take to address these concerns and feel confident about stability?\"\n\nCharlie (Senior Dev): \"I'd say we need {{stability_work_needed}}, roughly {{stability_hours}} hours.\"\n\nAmelia (Developer): \"{user_name}, is addressing this stability work worth doing before Epic {{next_epic_num}}?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} decision\u003C\u002Faction>\n\n\u003Caction>Add stability work to preparation sprint if user agrees\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore unresolved blockers\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, are there any unresolved blockers or technical issues from Epic {{epic_number}} that we're carrying forward?\"\n\nDana (QA Engineer): \"Things that might create problems for Epic {{next_epic_num}} if we don't deal with them?\"\n\nAmelia (Developer): \"Nothing is off limits here. If there's a problem, we need to know.\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to surface any blockers\u003C\u002Faction>\n\n\u003Ccheck if=\"blockers identified\">\n  \u003Coutput>\nAmelia (Developer): \"Let's capture those blockers and figure out how they affect Epic {{next_epic_num}}.\"\n\nCharlie (Senior Dev): \"For {{blocker_1}}, if we leave it unresolved, it'll {{impact_description_1}}.\"\n\nAlice (Product Owner): \"That sounds critical. We need to address that before moving forward.\"\n\nAmelia (Developer): \"Agreed. Adding to critical path: Resolve {{blocker_1}} before Epic {{next_epic_num}} kickoff.\"\n\nAmelia (Developer): \"Who owns that work?\"\n\u003C\u002Foutput>\n\n\u003Caction>Assign blocker resolution to appropriate agent\u003C\u002Faction>\n\u003Caction>Add to critical path with priority and deadline\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Synthesize the readiness assessment\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Okay {user_name}, let me synthesize what we just uncovered...\"\n\n**EPIC {{epic_number}} READINESS ASSESSMENT:**\n\nTesting & Quality: {{quality_status}}\n{{#if quality_concerns}}⚠️ Action needed: {{quality_action_needed}}{{\u002Fif}}\n\nDeployment: {{deployment_status}}\n{{#if deployment_pending}}⚠️ Scheduled for: {{deployment_date}}{{\u002Fif}}\n\nStakeholder Acceptance: {{acceptance_status}}\n{{#if acceptance_incomplete}}⚠️ Action needed: {{acceptance_action_needed}}{{\u002Fif}}\n\nTechnical Health: {{stability_status}}\n{{#if stability_concerns}}⚠️ Action needed: {{stability_action_needed}}{{\u002Fif}}\n\nUnresolved Blockers: {{blocker_status}}\n{{#if blockers_exist}}⚠️ Must resolve: {{blocker_list}}{{\u002Fif}}\n\nAmelia (Developer): \"{user_name}, does this assessment match your understanding?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to confirm or correct the assessment\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (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}}{{\u002Fif}}.\"\n\nAlice (Product Owner): \"This level of thoroughness is why retrospectives are valuable.\"\n\nCharlie (Senior Dev): \"Better to catch this now than three stories into the next epic.\"\n\u003C\u002Foutput>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"10\" goal=\"Retrospective Closure with Celebration and Commitment\">\n\n\u003Coutput>\nAmelia (Developer): \"We've covered a lot of ground today. Let me bring this retrospective to a close.\"\n\n═══════════════════════════════════════════════════════════\n✅ RETROSPECTIVE COMPLETE\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Epic {{epic_number}}: {{epic_title}} - REVIEWED\"\n\n**Key Takeaways:**\n\n1. {{key_lesson_1}}\n2. {{key_lesson_2}}\n3. {{key_lesson_3}}\n   {{#if key_lesson_4}}4. {{key_lesson_4}}{{\u002Fif}}\n\nAlice (Product Owner): \"That first takeaway is huge - {{impact_of_lesson_1}}.\"\n\nCharlie (Senior Dev): \"And lesson 2 is something we can apply immediately.\"\n\nAmelia (Developer): \"Commitments made today:\"\n\n- Action Items: {{action_count}}\n- Preparation Tasks: {{prep_task_count}}\n- Critical Path Items: {{critical_count}}\n\nDana (QA Engineer): \"That's a lot of commitments. We need to actually follow through this time.\"\n\nAmelia (Developer): \"Agreed. Which is why we'll review these action items in our next standup.\"\n\n═══════════════════════════════════════════════════════════\n? NEXT STEPS:\n═══════════════════════════════════════════════════════════\n\n1. Execute Preparation Sprint (Est: {{prep_days}} days)\n2. Complete Critical Path items before Epic {{next_epic_num}}\n3. Review action items in next standup\n   {{#if epic_update_needed}}4. Hold Epic {{next_epic_num}} planning review session{{else}}4. Begin Epic {{next_epic_num}} planning when preparation complete{{\u002Fif}}\n\nElena (Junior Dev): \"{{prep_days}} days of prep work is significant, but necessary.\"\n\nAlice (Product Owner): \"I'll communicate the timeline to stakeholders. They'll understand if we frame it as 'ensuring Epic {{next_epic_num}} success.'\"\n\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Before we wrap, I want to take a moment to acknowledge the team.\"\n\nAmelia (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.\"\n\nCharlie (Senior Dev): \"Hear, hear.\"\n\nAlice (Product Owner): \"I'm proud of what we shipped.\"\n\nDana (QA Engineer): \"And I'm excited about Epic {{next_epic_num}} - especially now that we're prepared for it.\"\n\nAmelia (Developer): \"{user_name}, any final thoughts before we close?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to share final reflections\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): [Acknowledges what {user_name} shared] \"Thank you for that, {user_name}.\"\n\nAmelia (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.\"\n\nAmelia (Developer): \"See you all when prep work is done. Meeting adjourned!\"\n\n═══════════════════════════════════════════════════════════\n\u003C\u002Foutput>\n\n\u003Caction>Prepare to save retrospective summary document\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"11\" goal=\"Save Retrospective and Update Sprint Status\">\n\n\u003Caction>Ensure retrospectives folder exists: {implementation_artifacts}\u003C\u002Faction>\n\u003Caction>Create folder if it doesn't exist\u003C\u002Faction>\n\n\u003Caction>Generate comprehensive retrospective summary document including:\u003C\u002Faction>\n\n- Epic summary and metrics\n- Team participants\n- Successes and strengths identified\n- Challenges and growth areas\n- Key insights and learnings\n- Previous retro follow-through analysis (if applicable)\n- Next epic preview and dependencies\n- Action items with owners and timelines\n- Preparation tasks for next epic\n- Critical path items\n- Significant discoveries and epic update recommendations (if any)\n- Readiness assessment\n- Commitments and next steps\n\n\u003Caction>Format retrospective document as readable markdown with clear sections\u003C\u002Faction>\n\u003Caction>Set filename: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\u003C\u002Faction>\n\u003Caction>Save retrospective document\u003C\u002Faction>\n\n\u003Coutput>\n✅ Retrospective document saved: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\n\u003C\u002Foutput>\n\n\u003Caction>Update {sprint_status_file} to mark retrospective as completed\u003C\u002Faction>\n\n\u003Caction>Load the FULL file: {sprint_status_file}\u003C\u002Faction>\n\u003Caction>Find development_status key \"epic-{{epic_number}}-retrospective\"\u003C\u002Faction>\n\u003Caction>Verify current status (typically \"optional\" or \"pending\")\u003C\u002Faction>\n\u003Caction>Update development_status[\"epic-{{epic_number}}-retrospective\"] = \"done\"\u003C\u002Faction>\n\u003Caction>Update last_updated field to current date\u003C\u002Faction>\n\u003Caction>Save file, preserving ALL comments and structure including STATUS DEFINITIONS\u003C\u002Faction>\n\n\u003Ccheck if=\"update successful\">\n  \u003Coutput>\n✅ Retrospective marked as completed in {sprint_status_file}\n\nRetrospective key: epic-{{epic_number}}-retrospective\nStatus: {{previous_status}} → done\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"retrospective key not found\">\n  \u003Coutput>\n⚠️ Could not update retrospective status: epic-{{epic_number}}-retrospective not found in {sprint_status_file}\n\nRetrospective document was saved successfully, but {sprint_status_file} may need manual update.\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"12\" goal=\"Final Summary and Handoff\">\n\n\u003Coutput>\n**✅ Retrospective Complete, {user_name}!**\n\n**Epic Review:**\n\n- Epic {{epic_number}}: {{epic_title}} reviewed\n- Retrospective Status: completed\n- Retrospective saved: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\n\n**Commitments Made:**\n\n- Action Items: {{action_count}}\n- Preparation Tasks: {{prep_task_count}}\n- Critical Path Items: {{critical_count}}\n\n**Next Steps:**\n\n1. **Review retrospective summary**: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\n\n2. **Execute preparation sprint** (Est: {{prep_days}} days)\n   - Complete {{critical_count}} critical path items\n   - Execute {{prep_task_count}} preparation tasks\n   - Verify all action items are in progress\n\n3. **Review action items in next standup**\n   - Ensure ownership is clear\n   - Track progress on commitments\n   - Adjust timelines if needed\n\n{{#if epic_update_needed}} 4. **IMPORTANT: Schedule Epic {{next_epic_num}} planning review session**\n\n- Significant discoveries from Epic {{epic_number}} require epic updates\n- Review and update affected stories\n- Align team on revised approach\n- Do NOT start Epic {{next_epic_num}} until review is complete\n  {{else}}\n\n4. **Begin Epic {{next_epic_num}} when ready**\n   - Start creating stories with Developer agent's `create-story`\n   - Epic will be marked as `in-progress` automatically when first story is created\n   - Ensure all critical path items are done first\n     {{\u002Fif}}\n\n**Team Performance:**\nEpic {{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.\n\n{{#if significant_discovery_count > 0}}\n⚠️ **REMINDER**: Epic update required before starting Epic {{next_epic_num}}\n{{\u002Fif}}\n\n---\n\nAmelia (Developer): \"Great session today, {user_name}. The team did excellent work.\"\n\nAlice (Product Owner): \"See you at epic planning!\"\n\nCharlie (Senior Dev): \"Time to knock out that prep work.\"\n\n\u003C\u002Foutput>\n\u003Caction>Run: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_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.\u003C\u002Faction>\n\u003C\u002Fstep>\n\n\u003C\u002Fworkflow>\n\n\u003Cfacilitation-guidelines>\n\u003Cguideline>PARTY MODE REQUIRED: All agent dialogue uses \"Name (Role): dialogue\" format\u003C\u002Fguideline>\n\u003Cguideline>Amelia (Developer) maintains psychological safety throughout - no blame or judgment\u003C\u002Fguideline>\n\u003Cguideline>Focus on systems and processes, not individual performance\u003C\u002Fguideline>\n\u003Cguideline>Create authentic team dynamics: disagreements, diverse perspectives, emotions\u003C\u002Fguideline>\n\u003Cguideline>User ({user_name}) is active participant, not passive observer\u003C\u002Fguideline>\n\u003Cguideline>Encourage specific examples over general statements\u003C\u002Fguideline>\n\u003Cguideline>Balance celebration of wins with honest assessment of challenges\u003C\u002Fguideline>\n\u003Cguideline>Ensure every voice is heard - all agents contribute\u003C\u002Fguideline>\n\u003Cguideline>Action items must be specific, achievable, and owned\u003C\u002Fguideline>\n\u003Cguideline>Forward-looking mindset - how do we improve for next epic?\u003C\u002Fguideline>\n\u003Cguideline>Intent-based facilitation, not scripted phrases\u003C\u002Fguideline>\n\u003Cguideline>Deep story analysis provides rich material for discussion\u003C\u002Fguideline>\n\u003Cguideline>Previous retro integration creates accountability and continuity\u003C\u002Fguideline>\n\u003Cguideline>Significant change detection prevents epic misalignment\u003C\u002Fguideline>\n\u003Cguideline>Critical verification prevents starting next epic prematurely\u003C\u002Fguideline>\n\u003Cguideline>Document everything - retrospective insights are valuable for future reference\u003C\u002Fguideline>\n\u003Cguideline>Two-part structure ensures both reflection AND preparation\u003C\u002Fguideline>\n\u003C\u002Ffacilitation-guidelines>\n","# Retrospective Workflow\n\n**Goal:** Post-epic review to extract lessons and assess success.\n\n**Your Role:** Developer facilitating retrospective.\n- No time estimates — NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed.\n- Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}\n- Generate all documents in {document_output_language}\n- Document output: Retrospective analysis. Concise insights, lessons learned, action items. User skill level ({user_skill_level}) affects conversation style ONLY, not retrospective content.\n- Facilitation notes:\n  - Psychological safety is paramount - NO BLAME\n  - Focus on systems, processes, and learning\n  - Everyone contributes with specific examples preferred\n  - Action items must be achievable with clear ownership\n  - Two-part format: (1) Epic Review + (2) Next Epic Preparation\n- Party mode protocol:\n  - ALL agent dialogue MUST use format: \"Name (Role): dialogue\"\n  - Example: Amelia (Developer): \"Let's begin...\"\n  - Example: {user_name} (Project Lead): [User responds]\n  - Create natural back-and-forth with user actively participating\n  - Show disagreements, diverse perspectives, authentic team dynamics\n\n## Conventions\n\n- Bare paths resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**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:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny 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.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat 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.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n\n- `project_name`, `user_name`\n- `communication_language`, `document_output_language`\n- `user_skill_level`\n- `planning_artifacts`, `implementation_artifacts`\n- `date` as system-generated current datetime\n- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`\n\n### Step 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.\n\n## Paths\n\n- `sprint_status_file` = `{implementation_artifacts}\u002Fsprint-status.yaml`\n\n## Input Files\n\n| Input | Description | Path Pattern(s) | Load Strategy |\n|-------|-------------|------------------|---------------|\n| epics | The completed epic for retrospective | whole: `{planning_artifacts}\u002F*epic*.md`, sharded_index: `{planning_artifacts}\u002F*epic*\u002Findex.md`, sharded_single: `{planning_artifacts}\u002F*epic*\u002Fepic-{{epic_num}}.md` | SELECTIVE_LOAD |\n| previous_retrospective | Previous epic's retrospective (optional) | `{implementation_artifacts}\u002F**\u002Fepic-{{prev_epic_num}}-retro-*.md` | SELECTIVE_LOAD |\n| architecture | System architecture for context | whole: `{planning_artifacts}\u002F*architecture*.md`, sharded: `{planning_artifacts}\u002F*architecture*\u002F*.md` | FULL_LOAD |\n| prd | Product requirements for context | whole: `{planning_artifacts}\u002F*prd*.md`, sharded: `{planning_artifacts}\u002F*prd*\u002F*.md` | FULL_LOAD |\n| document_project | Brownfield project documentation (optional) | sharded: `{planning_artifacts}\u002F*.md` | INDEX_GUIDED |\n\n## Required Inputs\n\n- `agent_roster` = resolved via `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_config.py --project-root {project-root} --key agents` (merges four layers in order: `_bmad\u002Fconfig.toml`, `_bmad\u002Fconfig.user.toml`, `_bmad\u002Fcustom\u002Fconfig.toml`, `_bmad\u002Fcustom\u002Fconfig.user.toml`)\n\n## Execution\n\n\u003Cworkflow>\n\n\u003Cstep n=\"1\" goal=\"Epic Discovery - Find Completed Epic with Priority Logic\">\n\n\u003Caction>Explain to {user_name} the epic discovery process using natural dialogue\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (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.\"\n\u003C\u002Foutput>\n\n\u003Caction>PRIORITY 1: Check {sprint_status_file} first\u003C\u002Faction>\n\n\u003Caction>Load the FULL file: {sprint_status_file}\u003C\u002Faction>\n\u003Caction>Read ALL development_status entries\u003C\u002Faction>\n\u003Caction>Find the highest epic number with at least one story marked \"done\"\u003C\u002Faction>\n\u003Caction>Extract epic number from keys like \"epic-X-retrospective\" or story keys like \"X-Y-story-name\"\u003C\u002Faction>\n\u003Caction>Set {{detected_epic}} = highest epic number found with completed stories\u003C\u002Faction>\n\n\u003Ccheck if=\"{{detected_epic}} found\">\n  \u003Caction>Present finding to user with context\u003C\u002Faction>\n\n  \u003Coutput>\nAmelia (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}?\"\n  \u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to confirm or correct\u003C\u002Faction>\n\n  \u003Ccheck if=\"{user_name} confirms\">\n    \u003Caction>Set {{epic_number}} = {{detected_epic}}\u003C\u002Faction>\n  \u003C\u002Fcheck>\n\n  \u003Ccheck if=\"{user_name} provides different epic number\">\n    \u003Caction>Set {{epic_number}} = user-provided number\u003C\u002Faction>\n    \u003Coutput>\nAmelia (Developer): \"Got it, we're reviewing Epic {{epic_number}}. Let me gather that information.\"\n    \u003C\u002Foutput>\n  \u003C\u002Fcheck>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"{{detected_epic}} NOT found in sprint-status\">\n  \u003Caction>PRIORITY 2: Ask user directly\u003C\u002Faction>\n\n  \u003Coutput>\nAmelia (Developer): \"I'm having trouble detecting the completed epic from {sprint_status_file}. {user_name}, which epic number did you just complete?\"\n  \u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to provide epic number\u003C\u002Faction>\n\u003Caction>Set {{epic_number}} = user-provided number\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"{{epic_number}} still not determined\">\n  \u003Caction>PRIORITY 3: Fallback to stories folder\u003C\u002Faction>\n\n\u003Caction>Scan {implementation_artifacts} for highest numbered story files\u003C\u002Faction>\n\u003Caction>Extract epic numbers from story filenames (pattern: epic-X-Y-story-name.md)\u003C\u002Faction>\n\u003Caction>Set {{detected_epic}} = highest epic number found\u003C\u002Faction>\n\n  \u003Coutput>\nAmelia (Developer): \"I found stories for Epic {{detected_epic}} in the stories folder. Is that the epic we're reviewing, {user_name}?\"\n  \u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to confirm or correct\u003C\u002Faction>\n\u003Caction>Set {{epic_number}} = confirmed number\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Once {{epic_number}} is determined, verify epic completion status\u003C\u002Faction>\n\n\u003Caction>Find all stories for epic {{epic_number}} in {sprint_status_file}:\n\n- Look for keys starting with \"{{epic_number}}-\" (e.g., \"1-1-\", \"1-2-\", etc.)\n- Exclude epic key itself (\"epic-{{epic_number}}\")\n- Exclude retrospective key (\"epic-{{epic_number}}-retrospective\")\n  \u003C\u002Faction>\n\n\u003Caction>Count total stories found for this epic\u003C\u002Faction>\n\u003Caction>Count stories with status = \"done\"\u003C\u002Faction>\n\u003Caction>Collect list of pending story keys (status != \"done\")\u003C\u002Faction>\n\u003Caction>Determine if complete: true if all stories are done, false otherwise\u003C\u002Faction>\n\n\u003Ccheck if=\"epic is not complete\">\n  \u003Coutput>\nAlice (Product Owner): \"Wait, Amelia - I'm seeing that Epic {{epic_number}} isn't actually complete yet.\"\n\nAmelia (Developer): \"Let me check... you're right, Alice.\"\n\n**Epic Status:**\n\n- Total Stories: {{total_stories}}\n- Completed (Done): {{done_stories}}\n- Pending: {{pending_count}}\n\n**Pending Stories:**\n{{pending_story_list}}\n\nAmelia (Developer): \"{user_name}, we typically run retrospectives after all stories are done. What would you like to do?\"\n\n**Options:**\n\n1. Complete remaining stories before running retrospective (recommended)\n2. Continue with partial retrospective (not ideal, but possible)\n3. Run sprint-planning to refresh story tracking\n   \u003C\u002Foutput>\n\n\u003Cask if=\"{{non_interactive}} == false\">Continue with incomplete epic? (yes\u002Fno)\u003C\u002Fask>\n\n  \u003Ccheck if=\"user says no\">\n    \u003Coutput>\nAmelia (Developer): \"Smart call, {user_name}. Let's finish those stories first and then have a proper retrospective.\"\n    \u003C\u002Foutput>\n    \u003Caction>HALT\u003C\u002Faction>\n  \u003C\u002Fcheck>\n\n\u003Caction if=\"user says yes\">Set {{partial_retrospective}} = true\u003C\u002Faction>\n\u003Coutput>\nCharlie (Senior Dev): \"Just so everyone knows, this partial retro might miss some important lessons from those pending stories.\"\n\nAmelia (Developer): \"Good point, Charlie. {user_name}, we'll document what we can now, but we may want to revisit after everything's done.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"epic is complete\">\n  \u003Coutput>\nAlice (Product Owner): \"Excellent! All {{done_stories}} stories are marked done.\"\n\nAmelia (Developer): \"Perfect. Epic {{epic_number}} is complete and ready for retrospective, {user_name}.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"0.5\" goal=\"Discover and load project documents\">\n  \u003Caction>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}\u003C\u002Faction>\n  \u003Cnote>After discovery, these content variables are available: {epics_content} (selective load for this epic), {architecture_content}, {prd_content}, {document_project_content}\u003C\u002Fnote>\n\u003C\u002Fstep>\n\n\u003Cstep n=\"2\" goal=\"Deep Story Analysis - Extract Lessons from Implementation\">\n\n\u003Coutput>\nAmelia (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.\"\n\nCharlie (Senior Dev): \"Good idea - those dev notes always have gold in them.\"\n\u003C\u002Foutput>\n\n\u003Caction>For each story in epic {{epic_number}}, read the complete story file from {implementation_artifacts}\u002F{{epic_number}}-{{story_num}}-*.md\u003C\u002Faction>\n\n\u003Caction>Extract and analyze from each story:\u003C\u002Faction>\n\n**Dev Notes and Struggles:**\n\n- Look for sections like \"## Dev Notes\", \"## Implementation Notes\", \"## Challenges\", \"## Development Log\"\n- Identify where developers struggled or made mistakes\n- Note unexpected complexity or gotchas discovered\n- Record technical decisions that didn't work out as planned\n- Track where estimates were way off (too high or too low)\n\n**Review Feedback Patterns:**\n\n- Look for \"## Review\", \"## Code Review\", \"## Dev Review\" sections\n- Identify recurring feedback themes across stories\n- Note which types of issues came up repeatedly\n- Track quality concerns or architectural misalignments\n- Document praise or exemplary work called out in reviews\n\n**Lessons Learned:**\n\n- Look for \"## Lessons Learned\", \"## Retrospective Notes\", \"## Takeaways\" sections within stories\n- Extract explicit lessons documented during development\n- Identify \"aha moments\" or breakthroughs\n- Note what would be done differently\n- Track successful experiments or approaches\n\n**Technical Debt Incurred:**\n\n- Look for \"## Technical Debt\", \"## TODO\", \"## Known Issues\", \"## Future Work\" sections\n- Document shortcuts taken and why\n- Track debt items that affect next epic\n- Note severity and priority of debt items\n\n**Testing and Quality Insights:**\n\n- Look for \"## Testing\", \"## QA Notes\", \"## Test Results\" sections\n- Note testing challenges or surprises\n- Track bug patterns or regression issues\n- Document test coverage gaps\n\n\u003Caction>Synthesize patterns across all stories:\u003C\u002Faction>\n\n**Common Struggles:**\n\n- Identify issues that appeared in 2+ stories (e.g., \"3 out of 5 stories had API authentication issues\")\n- Note areas where team consistently struggled\n- Track where complexity was underestimated\n\n**Recurring Review Feedback:**\n\n- Identify feedback themes (e.g., \"Error handling was flagged in every review\")\n- Note quality patterns (positive and negative)\n- Track areas where team improved over the course of epic\n\n**Breakthrough Moments:**\n\n- Document key discoveries (e.g., \"Story 3 discovered the caching pattern we used for rest of epic\")\n- Note when team velocity improved dramatically\n- Track innovative solutions worth repeating\n\n**Velocity Patterns:**\n\n- Calculate average completion time per story\n- Note velocity trends (e.g., \"First 2 stories took 3x longer than estimated\")\n- Identify which types of stories went faster\u002Fslower\n\n**Team Collaboration Highlights:**\n\n- Note moments of excellent collaboration mentioned in stories\n- Track where pair programming or mob programming was effective\n- Document effective problem-solving sessions\n\n\u003Caction>Store this synthesis - these patterns will drive the retrospective discussion\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Okay, I've reviewed all {{total_stories}} story records. I found some really interesting patterns we should discuss.\"\n\nDana (QA Engineer): \"I'm curious what you found, Amelia. I noticed some things in my testing too.\"\n\nAmelia (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.\"\n\u003C\u002Foutput>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"3\" goal=\"Load and Integrate Previous Epic Retrospective\">\n\n\u003Caction>Calculate previous epic number: {{prev_epic_num}} = {{epic_number}} - 1\u003C\u002Faction>\n\n\u003Ccheck if=\"{{prev_epic_num}} >= 1\">\n  \u003Caction>Search for previous retrospectives using pattern: {implementation_artifacts}\u002Fepic-{{prev_epic_num}}-retro-*.md\u003C\u002Faction>\n\n  \u003Ccheck if=\"previous retrospectives found\">\n    \u003Coutput>\nAmelia (Developer): \"I found our retrospectives from Epic {{prev_epic_num}}. Let me see what we committed to back then...\"\n    \u003C\u002Foutput>\n\n    \u003Caction>Read the previous retrospectives\u003C\u002Faction>\n\n    \u003Caction>Extract key elements:\u003C\u002Faction>\n    - **Action items committed**: What did the team agree to improve?\n    - **Lessons learned**: What insights were captured?\n    - **Process improvements**: What changes were agreed upon?\n    - **Technical debt flagged**: What debt was documented?\n    - **Team agreements**: What commitments were made?\n    - **Preparation tasks**: What was needed for this epic?\n\n    \u003Caction>Cross-reference with current epic execution:\u003C\u002Faction>\n\n    **Action Item Follow-Through:**\n    - For each action item from Epic {{prev_epic_num}} retro, check if it was completed\n    - Look for evidence in current epic's story records\n    - Mark each action item: ✅ Completed, ⏳ In Progress, ❌ Not Addressed\n\n    **Lessons Applied:**\n    - For each lesson from Epic {{prev_epic_num}}, check if team applied it in Epic {{epic_number}}\n    - Look for evidence in dev notes, review feedback, or outcomes\n    - Document successes and missed opportunities\n\n    **Process Improvements Effectiveness:**\n    - For each process change agreed to in Epic {{prev_epic_num}}, assess if it helped\n    - Did the change improve velocity, quality, or team satisfaction?\n    - Should we keep, modify, or abandon the change?\n\n    **Technical Debt Status:**\n    - For each debt item from Epic {{prev_epic_num}}, check if it was addressed\n    - Did unaddressed debt cause problems in Epic {{epic_number}}?\n    - Did the debt grow or shrink?\n\n    \u003Caction>Prepare \"continuity insights\" for the retrospective discussion\u003C\u002Faction>\n\n    \u003Caction>Identify wins where previous lessons were applied successfully:\u003C\u002Faction>\n    - Document specific examples of applied learnings\n    - Note positive impact on Epic {{epic_number}} outcomes\n    - Celebrate team growth and improvement\n\n    \u003Caction>Identify missed opportunities where previous lessons were ignored:\u003C\u002Faction>\n    - Document where team repeated previous mistakes\n    - Note impact of not applying lessons (without blame)\n    - Explore barriers that prevented application\n\n    \u003Coutput>\n\nAmelia (Developer): \"Interesting... in Epic {{prev_epic_num}}'s retro, we committed to {{action_count}} action items.\"\n\nAlice (Product Owner): \"How'd we do on those, Amelia?\"\n\nAmelia (Developer): \"We completed {{completed_count}}, made progress on {{in_progress_count}}, but didn't address {{not_addressed_count}}.\"\n\nCharlie (Senior Dev): _looking concerned_ \"Which ones didn't we address?\"\n\nAmelia (Developer): \"We'll discuss that in the retro. Some of them might explain challenges we had this epic.\"\n\nElena (Junior Dev): \"That's... actually pretty insightful.\"\n\nAmelia (Developer): \"That's why we track this stuff. Pattern recognition helps us improve.\"\n\u003C\u002Foutput>\n\n  \u003C\u002Fcheck>\n\n  \u003Ccheck if=\"no previous retro found\">\n    \u003Coutput>\nAmelia (Developer): \"I don't see a retrospective for Epic {{prev_epic_num}}. Either we skipped it, or this is your first retro.\"\n\nAlice (Product Owner): \"Probably our first one. Good time to start the habit!\"\n\u003C\u002Foutput>\n\u003Caction>Set {{first_retrospective}} = true\u003C\u002Faction>\n\u003C\u002Fcheck>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"{{prev_epic_num}} \u003C 1\">\n  \u003Coutput>\nAmelia (Developer): \"This is Epic 1, so naturally there's no previous retro to reference. We're starting fresh!\"\n\nCharlie (Senior Dev): \"First epic, first retro. Let's make it count.\"\n\u003C\u002Foutput>\n\u003Caction>Set {{first_retrospective}} = true\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"4\" goal=\"Preview Next Epic with Change Detection\">\n\n\u003Caction>Calculate next epic number: {{next_epic_num}} = {{epic_number}} + 1\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Before we dive into the discussion, let me take a quick look at Epic {{next_epic_num}} to understand what's coming.\"\n\nAlice (Product Owner): \"Good thinking - helps us connect what we learned to what we're about to do.\"\n\u003C\u002Foutput>\n\n\u003Caction>Attempt to load next epic using selective loading strategy:\u003C\u002Faction>\n\n**Try sharded first (more specific):**\n\u003Caction>Check if file exists: {planning_artifacts}\u002Fepic*\u002Fepic-{{next_epic_num}}.md\u003C\u002Faction>\n\n\u003Ccheck if=\"sharded epic file found\">\n  \u003Caction>Load {planning_artifacts}\u002F*epic*\u002Fepic-{{next_epic_num}}.md\u003C\u002Faction>\n  \u003Caction>Set {{next_epic_source}} = \"sharded\"\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n**Fallback to whole document:**\n\u003Ccheck if=\"sharded epic not found\">\n\u003Caction>Check if file exists: {planning_artifacts}\u002Fepic*.md\u003C\u002Faction>\n\n  \u003Ccheck if=\"whole epic file found\">\n    \u003Caction>Load entire epics document\u003C\u002Faction>\n    \u003Caction>Extract Epic {{next_epic_num}} section\u003C\u002Faction>\n    \u003Caction>Set {{next_epic_source}} = \"whole\"\u003C\u002Faction>\n  \u003C\u002Fcheck>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"next epic found\">\n  \u003Caction>Analyze next epic for:\u003C\u002Faction>\n  - Epic title and objectives\n  - Planned stories and complexity estimates\n  - Dependencies on Epic {{epic_number}} work\n  - New technical requirements or capabilities needed\n  - Potential risks or unknowns\n  - Business goals and success criteria\n\n\u003Caction>Identify dependencies on completed work:\u003C\u002Faction>\n\n- What components from Epic {{epic_number}} does Epic {{next_epic_num}} rely on?\n- Are all prerequisites complete and stable?\n- Any incomplete work that creates blocking dependencies?\n\n\u003Caction>Note potential gaps or preparation needed:\u003C\u002Faction>\n\n- Technical setup required (infrastructure, tools, libraries)\n- Knowledge gaps to fill (research, training, spikes)\n- Refactoring needed before starting next epic\n- Documentation or specifications to create\n\n\u003Caction>Check for technical prerequisites:\u003C\u002Faction>\n\n- APIs or integrations that must be ready\n- Data migrations or schema changes needed\n- Testing infrastructure requirements\n- Deployment or environment setup\n\n  \u003Coutput>\nAmelia (Developer): \"Alright, I've reviewed Epic {{next_epic_num}}: '{{next_epic_title}}'\"\n\nAlice (Product Owner): \"What are we looking at?\"\n\nAmelia (Developer): \"{{next_epic_num}} stories planned, building on the {{dependency_description}} from Epic {{epic_number}}.\"\n\nCharlie (Senior Dev): \"Dependencies concern me. Did we finish everything we need for that?\"\n\nAmelia (Developer): \"Good question - that's exactly what we need to explore in this retro.\"\n\u003C\u002Foutput>\n\n\u003Caction>Set {{next_epic_exists}} = true\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"next epic NOT found\">\n  \u003Coutput>\nAmelia (Developer): \"Hmm, I don't see Epic {{next_epic_num}} defined yet.\"\n\nAlice (Product Owner): \"We might be at the end of the roadmap, or we haven't planned that far ahead yet.\"\n\nAmelia (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.\"\n\u003C\u002Foutput>\n\n\u003Caction>Set {{next_epic_exists}} = false\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"5\" goal=\"Initialize Retrospective with Rich Context\">\n\n\u003Caction>Load agent roster from {agent_roster}\u003C\u002Faction>\n\u003Caction>Identify which agents participated in Epic {{epic_number}} based on story records\u003C\u002Faction>\n\u003Caction>Ensure key roles present: Product Owner, Developer (facilitating), Testing\u002FQA, Architect\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Alright team, everyone's here. Let me set the stage for our retrospective.\"\n\n═══════════════════════════════════════════════════════════\n? TEAM RETROSPECTIVE - Epic {{epic_number}}: {{epic_title}}\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Here's what we accomplished together.\"\n\n**EPIC {{epic_number}} SUMMARY:**\n\nDelivery Metrics:\n\n- Completed: {{completed_stories}}\u002F{{total_stories}} stories ({{completion_percentage}}%)\n- Velocity: {{actual_points}} story points{{#if planned_points}} (planned: {{planned_points}}){{\u002Fif}}\n- Duration: {{actual_sprints}} sprints{{#if planned_sprints}} (planned: {{planned_sprints}}){{\u002Fif}}\n- Average velocity: {{points_per_sprint}} points\u002Fsprint\n\nQuality and Technical:\n\n- Blockers encountered: {{blocker_count}}\n- Technical debt items: {{debt_count}}\n- Test coverage: {{coverage_info}}\n- Production incidents: {{incident_count}}\n\nBusiness Outcomes:\n\n- Goals achieved: {{goals_met}}\u002F{{total_goals}}\n- Success criteria: {{criteria_status}}\n- Stakeholder feedback: {{feedback_summary}}\n\nAlice (Product Owner): \"Those numbers tell a good story. {{completion_percentage}}% completion is {{#if completion_percentage >= 90}}excellent{{else}}something we should discuss{{\u002Fif}}.\"\n\nCharlie (Senior Dev): \"I'm more interested in that technical debt number - {{debt_count}} items is {{#if debt_count > 10}}concerning{{else}}manageable{{\u002Fif}}.\"\n\nDana (QA Engineer): \"{{incident_count}} production incidents - {{#if incident_count == 0}}clean epic!{{else}}we should talk about those{{\u002Fif}}.\"\n\n{{#if next_epic_exists}}\n═══════════════════════════════════════════════════════════\n**NEXT EPIC PREVIEW:** Epic {{next_epic_num}}: {{next_epic_title}}\n═══════════════════════════════════════════════════════════\n\nDependencies on Epic {{epic_number}}:\n{{list_dependencies}}\n\nPreparation Needed:\n{{list_preparation_gaps}}\n\nTechnical Prerequisites:\n{{list_technical_prereqs}}\n\nAmelia (Developer): \"And here's what's coming next. Epic {{next_epic_num}} builds on what we just finished.\"\n\nElena (Junior Dev): \"Wow, that's a lot of dependencies on our work.\"\n\nCharlie (Senior Dev): \"Which means we better make sure Epic {{epic_number}} is actually solid before moving on.\"\n{{\u002Fif}}\n\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Team assembled for this retrospective:\"\n\n{{list_participating_agents}}\n\nAmelia (Developer): \"{user_name}, you're joining us as Project Lead. Your perspective is crucial here.\"\n\n{user_name} (Project Lead): [Participating in the retrospective]\n\nAmelia (Developer): \"Our focus today:\"\n\n1. Learning from Epic {{epic_number}} execution\n   {{#if next_epic_exists}}2. Preparing for Epic {{next_epic_num}} success{{\u002Fif}}\n\nAmelia (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.\"\n\nAlice (Product Owner): \"And everything shared here stays in this room - unless we decide together to escalate something.\"\n\nAmelia (Developer): \"Exactly. {user_name}, any questions before we dive in?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond or indicate readiness\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"6\" goal=\"Epic Review Discussion - What Went Well, What Didn't\">\n\n\u003Coutput>\nAmelia (Developer): \"Let's start with the good stuff. What went well in Epic {{epic_number}}?\"\n\nAmelia (Developer): _pauses, creating space_\n\nAlice (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.\"\n\nCharlie (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.\"\n\nDana (QA Engineer): \"From my side, testing went smoother than usual. The Developer's documentation was way better this epic - actually usable test plans!\"\n\nElena (Junior Dev): _smiling_ \"That's because Charlie made me document everything after Story 1's code review!\"\n\nCharlie (Senior Dev): _laughing_ \"Tough love pays off.\"\n\u003C\u002Foutput>\n\n\u003Caction>Amelia (Developer) naturally turns to {user_name} to engage them in the discussion\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, what stood out to you as going well in this epic?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond - this is a KEY USER INTERACTION moment\u003C\u002Faction>\n\n\u003Caction>After {user_name} responds, have 1-2 team members react to or build on what {user_name} shared\u003C\u002Faction>\n\n\u003Coutput>\nAlice (Product Owner): [Responds naturally to what {user_name} said, either agreeing, adding context, or offering a different perspective]\n\nCharlie (Senior Dev): [Builds on the discussion, perhaps adding technical details or connecting to specific stories]\n\u003C\u002Foutput>\n\n\u003Caction>Continue facilitating natural dialogue, periodically bringing {user_name} back into the conversation\u003C\u002Faction>\n\n\u003Caction>After covering successes, guide the transition to challenges with care\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Okay, we've celebrated some real wins. Now let's talk about challenges - where did we struggle? What slowed us down?\"\n\nAmelia (Developer): _creates safe space with tone and pacing_\n\nElena (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.\"\n\nCharlie (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!\"\n\nAlice (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!\"\n\nCharlie (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!\"\n\nAmelia (Developer): _intervening calmly_ \"Let's take a breath here. This is exactly the kind of thing we need to unpack.\"\n\nAmelia (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.\"\n\nAmelia (Developer): \"{user_name}, you have visibility across the whole project. What's your take on this situation?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond and help facilitate the conflict resolution\u003C\u002Faction>\n\n\u003Caction>Use {user_name}'s response to guide the discussion toward systemic understanding rather than blame\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (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.\"\n\nElena (Junior Dev): \"That makes sense. If we'd had {{preventive_measure}}, I probably could have avoided those redos.\"\n\nCharlie (Senior Dev): _softening_ \"Yeah, and I could have been clearer about assumptions in the docs. Sorry for getting defensive, Alice.\"\n\nAlice (Product Owner): \"I appreciate that. I could've been more proactive about flagging the schema additions earlier, too.\"\n\nAmelia (Developer): \"This is good. We're identifying systemic improvements, not assigning blame.\"\n\u003C\u002Foutput>\n\n\u003Caction>Continue the discussion, weaving in patterns discovered from the deep story analysis (Step 2)\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Speaking of patterns, I noticed something when reviewing all the story records...\"\n\nAmelia (Developer): \"{{pattern_1_description}} - this showed up in {{pattern_1_count}} out of {{total_stories}} stories.\"\n\nDana (QA Engineer): \"Oh wow, I didn't realize it was that widespread.\"\n\nAmelia (Developer): \"Yeah. And there's more - {{pattern_2_description}} came up in almost every code review.\"\n\nCharlie (Senior Dev): \"That's... actually embarrassing. We should've caught that pattern earlier.\"\n\nAmelia (Developer): \"No shame, Charlie. Now we know, and we can improve. {user_name}, did you notice these patterns during the epic?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to share their observations\u003C\u002Faction>\n\n\u003Caction>Continue the retrospective discussion, creating moments where:\u003C\u002Faction>\n\n- Team members ask {user_name} questions directly\n- {user_name}'s input shifts the discussion direction\n- Disagreements arise naturally and get resolved\n- Quieter team members are invited to contribute\n- Specific stories are referenced with real examples\n- Emotions are authentic (frustration, pride, concern, hope)\n\n\u003Ccheck if=\"previous retrospective exists\">\n  \u003Coutput>\nAmelia (Developer): \"Before we move on, I want to circle back to Epic {{prev_epic_num}}'s retrospective.\"\n\nAmelia (Developer): \"We made some commitments in that retro. Let's see how we did.\"\n\nAmelia (Developer): \"Action item 1: {{prev_action_1}}. Status: {{prev_action_1_status}}\"\n\nAlice (Product Owner): {{#if prev_action_1_status == \"completed\"}}\"We nailed that one!\"{{else}}\"We... didn't do that one.\"{{\u002Fif}}\n\nCharlie (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.\"{{\u002Fif}}\n\nAmelia (Developer): \"Action item 2: {{prev_action_2}}. Status: {{prev_action_2_status}}\"\n\nDana (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.\"{{\u002Fif}}\n\nAmelia (Developer): \"{user_name}, looking at what we committed to last time and what we actually did - what's your reaction?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to respond\u003C\u002Faction>\n\n\u003Caction>Use the previous retro follow-through as a learning moment about commitment and accountability\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Coutput>\nAmelia (Developer): \"Alright, we've covered a lot of ground. Let me summarize what I'm hearing...\"\n\nAmelia (Developer): \"**Successes:**\"\n{{list_success_themes}}\n\nAmelia (Developer): \"**Challenges:**\"\n{{list_challenge_themes}}\n\nAmelia (Developer): \"**Key Insights:**\"\n{{list_insight_themes}}\n\nAmelia (Developer): \"Does that capture it? Anyone have something important we missed?\"\n\u003C\u002Foutput>\n\n\u003Caction>Allow team members to add any final thoughts on the epic review\u003C\u002Faction>\n\u003Caction>Ensure {user_name} has opportunity to add their perspective\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"7\" goal=\"Next Epic Preparation Discussion - Interactive and Collaborative\">\n\n\u003Ccheck if=\"{{next_epic_exists}} == false\">\n  \u003Coutput>\nAmelia (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.\"\n  \u003C\u002Foutput>\n  \u003Caction>Skip to Step 8\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Coutput>\nAmelia (Developer): \"Now let's shift gears. Epic {{next_epic_num}} is coming up: '{{next_epic_title}}'\"\n\nAmelia (Developer): \"The question is: are we ready? What do we need to prepare?\"\n\nAlice (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.\"\n\nCharlie (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}}.\"\n\nDana (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}}.\"\n\nElena (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.\"\n\nAmelia (Developer): \"{user_name}, the team is surfacing some real concerns here. What's your sense of our readiness?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to share their assessment\u003C\u002Faction>\n\n\u003Caction>Use {user_name}'s input to guide deeper exploration of preparation needs\u003C\u002Faction>\n\n\u003Coutput>\nAlice (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}}.\"\n\nCharlie (Senior Dev): \"Here's what I think we need technically before Epic {{next_epic_num}} can start...\"\n\nCharlie (Senior Dev): \"1. {{tech_prep_item_1}} - estimated {{hours_1}} hours\"\nCharlie (Senior Dev): \"2. {{tech_prep_item_2}} - estimated {{hours_2}} hours\"\nCharlie (Senior Dev): \"3. {{tech_prep_item_3}} - estimated {{hours_3}} hours\"\n\nElena (Junior Dev): \"That's like {{total_hours}} hours! That's a full sprint of prep work!\"\n\nCharlie (Senior Dev): \"Exactly. We can't just jump into Epic {{next_epic_num}} on Monday.\"\n\nAlice (Product Owner): _frustrated_ \"But we have stakeholder pressure to keep shipping features. They're not going to be happy about a 'prep sprint.'\"\n\nAmelia (Developer): \"Let's think about this differently. What happens if we DON'T do this prep work?\"\n\nDana (QA Engineer): \"We'll hit blockers in the middle of Epic {{next_epic_num}}, velocity will tank, and we'll ship late anyway.\"\n\nCharlie (Senior Dev): \"Worse - we'll ship something built on top of {{technical_concern_1}}, and it'll be fragile.\"\n\nAmelia (Developer): \"{user_name}, you're balancing stakeholder pressure against technical reality. How do you want to handle this?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to provide direction on preparation approach\u003C\u002Faction>\n\n\u003Caction>Create space for debate and disagreement about priorities\u003C\u002Faction>\n\n\u003Coutput>\nAlice (Product Owner): [Potentially disagrees with {user_name}'s approach] \"I hear what you're saying, {user_name}, but from a business perspective, {{business_concern}}.\"\n\nCharlie (Senior Dev): [Potentially supports or challenges Alice's point] \"The business perspective is valid, but {{technical_counter_argument}}.\"\n\nAmelia (Developer): \"We have healthy tension here between business needs and technical reality. That's good - it means we're being honest.\"\n\nAmelia (Developer): \"Let's explore a middle ground. Charlie, which of your prep items are absolutely critical vs. nice-to-have?\"\n\nCharlie (Senior Dev): \"{{critical_prep_item_1}} and {{critical_prep_item_2}} are non-negotiable. {{nice_to_have_prep_item}} can wait.\"\n\nAlice (Product Owner): \"And can any of the critical prep happen in parallel with starting Epic {{next_epic_num}}?\"\n\nCharlie (Senior Dev): _thinking_ \"Maybe. If we tackle {{first_critical_item}} before the epic starts, we could do {{second_critical_item}} during the first sprint.\"\n\nDana (QA Engineer): \"But that means Story 1 of Epic {{next_epic_num}} can't depend on {{second_critical_item}}.\"\n\nAlice (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.\"\n\nAmelia (Developer): \"{user_name}, the team is finding a workable compromise here. Does this approach make sense to you?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to validate or adjust the preparation strategy\u003C\u002Faction>\n\n\u003Caction>Continue working through preparation needs across all dimensions:\u003C\u002Faction>\n\n- Dependencies on Epic {{epic_number}} work\n- Technical setup and infrastructure\n- Knowledge gaps and research needs\n- Documentation or specification work\n- Testing infrastructure\n- Refactoring or debt reduction\n- External dependencies (APIs, integrations, etc.)\n\n\u003Caction>For each preparation area, facilitate team discussion that:\u003C\u002Faction>\n\n- Identifies specific needs with concrete examples\n- Estimates effort realistically based on Epic {{epic_number}} experience\n- Assigns ownership to specific agents\n- Determines criticality and timing\n- Surfaces risks of NOT doing the preparation\n- Explores parallel work opportunities\n- Brings {user_name} in for key decisions\n\n\u003Coutput>\nAmelia (Developer): \"I'm hearing a clear picture of what we need before Epic {{next_epic_num}}. Let me summarize...\"\n\n**CRITICAL PREPARATION (Must complete before epic starts):**\n{{list_critical_prep_items_with_owners_and_estimates}}\n\n**PARALLEL PREPARATION (Can happen during early stories):**\n{{list_parallel_prep_items_with_owners_and_estimates}}\n\n**NICE-TO-HAVE PREPARATION (Would help but not blocking):**\n{{list_nice_to_have_prep_items}}\n\nAmelia (Developer): \"Total critical prep effort: {{critical_hours}} hours ({{critical_days}} days)\"\n\nAlice (Product Owner): \"That's manageable. We can communicate that to stakeholders.\"\n\nAmelia (Developer): \"{user_name}, does this preparation plan work for you?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} final validation of preparation plan\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"8\" goal=\"Synthesize Action Items with Significant Change Detection\">\n\n\u003Coutput>\nAmelia (Developer): \"Let's capture concrete action items from everything we've discussed.\"\n\nAmelia (Developer): \"I want specific, achievable actions with clear owners. Not vague aspirations.\"\n\u003C\u002Foutput>\n\n\u003Caction>Synthesize themes from Epic {{epic_number}} review discussion into actionable improvements\u003C\u002Faction>\n\n\u003Caction>Create specific action items with:\u003C\u002Faction>\n\n- Clear description of the action\n- Assigned owner (specific agent or role)\n- Timeline or deadline\n- Success criteria (how we'll know it's done)\n- Category (process, technical, documentation, team, etc.)\n\n\u003Caction>Ensure action items are SMART:\u003C\u002Faction>\n\n- Specific: Clear and unambiguous\n- Measurable: Can verify completion\n- Achievable: Realistic given constraints\n- Relevant: Addresses real issues from retro\n- Time-bound: Has clear deadline\n\n\u003Coutput>\nAmelia (Developer): \"Based on our discussion, here are the action items I'm proposing...\"\n\n═══════════════════════════════════════════════════════════\n? EPIC {{epic_number}} ACTION ITEMS:\n═══════════════════════════════════════════════════════════\n\n**Process Improvements:**\n\n1. {{action_item_1}}\n   Owner: {{agent_1}}\n   Deadline: {{timeline_1}}\n   Success criteria: {{criteria_1}}\n\n2. {{action_item_2}}\n   Owner: {{agent_2}}\n   Deadline: {{timeline_2}}\n   Success criteria: {{criteria_2}}\n\nCharlie (Senior Dev): \"I can own action item 1, but {{timeline_1}} is tight. Can we push it to {{alternative_timeline}}?\"\n\nAmelia (Developer): \"What do others think? Does that timing still work?\"\n\nAlice (Product Owner): \"{{alternative_timeline}} works for me, as long as it's done before Epic {{next_epic_num}} starts.\"\n\nAmelia (Developer): \"Agreed. Updated to {{alternative_timeline}}.\"\n\n**Technical Debt:**\n\n1. {{debt_item_1}}\n   Owner: {{agent_3}}\n   Priority: {{priority_1}}\n   Estimated effort: {{effort_1}}\n\n2. {{debt_item_2}}\n   Owner: {{agent_4}}\n   Priority: {{priority_2}}\n   Estimated effort: {{effort_2}}\n\nDana (QA Engineer): \"For debt item 1, can we prioritize that as high? It caused testing issues in three different stories.\"\n\nCharlie (Senior Dev): \"I marked it medium because {{reasoning}}, but I hear your point.\"\n\nAmelia (Developer): \"{user_name}, this is a priority call. Testing impact vs. {{reasoning}} - how do you want to prioritize it?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to help resolve priority discussions\u003C\u002Faction>\n\n\u003Coutput>\n**Documentation:**\n1. {{doc_need_1}}\n   Owner: {{agent_5}}\n   Deadline: {{timeline_3}}\n\n2. {{doc_need_2}}\n   Owner: {{agent_6}}\n   Deadline: {{timeline_4}}\n\n**Team Agreements:**\n\n- {{agreement_1}}\n- {{agreement_2}}\n- {{agreement_3}}\n\nAmelia (Developer): \"These agreements are how we're committing to work differently going forward.\"\n\nElena (Junior Dev): \"I like agreement 2 - that would've saved me on Story {{difficult_story_num}}.\"\n\n═══════════════════════════════════════════════════════════\n? EPIC {{next_epic_num}} PREPARATION TASKS:\n═══════════════════════════════════════════════════════════\n\n**Technical Setup:**\n[ ] {{setup_task_1}}\nOwner: {{owner_1}}\nEstimated: {{est_1}}\n\n[ ] {{setup_task_2}}\nOwner: {{owner_2}}\nEstimated: {{est_2}}\n\n**Knowledge Development:**\n[ ] {{research_task_1}}\nOwner: {{owner_3}}\nEstimated: {{est_3}}\n\n**Cleanup\u002FRefactoring:**\n[ ] {{refactor_task_1}}\nOwner: {{owner_4}}\nEstimated: {{est_4}}\n\n**Total Estimated Effort:** {{total_hours}} hours ({{total_days}} days)\n\n═══════════════════════════════════════════════════════════\n⚠️ CRITICAL PATH:\n═══════════════════════════════════════════════════════════\n\n**Blockers to Resolve Before Epic {{next_epic_num}}:**\n\n1. {{critical_item_1}}\n   Owner: {{critical_owner_1}}\n   Must complete by: {{critical_deadline_1}}\n\n2. {{critical_item_2}}\n   Owner: {{critical_owner_2}}\n   Must complete by: {{critical_deadline_2}}\n   \u003C\u002Foutput>\n\n\u003Caction>CRITICAL ANALYSIS - Detect if discoveries require epic updates\u003C\u002Faction>\n\n\u003Caction>Check if any of the following are true based on retrospective discussion:\u003C\u002Faction>\n\n- Architectural assumptions from planning proven wrong during Epic {{epic_number}}\n- Major scope changes or descoping occurred that affects next epic\n- Technical approach needs fundamental change for Epic {{next_epic_num}}\n- Dependencies discovered that Epic {{next_epic_num}} doesn't account for\n- User needs significantly different than originally understood\n- Performance\u002Fscalability concerns that affect Epic {{next_epic_num}} design\n- Security or compliance issues discovered that change approach\n- Integration assumptions proven incorrect\n- Team capacity or skill gaps more severe than planned\n- Technical debt level unsustainable without intervention\n\n\u003Ccheck if=\"significant discoveries detected\">\n  \u003Coutput>\n\n═══════════════════════════════════════════════════════════\n? SIGNIFICANT DISCOVERY ALERT ?\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"{user_name}, we need to flag something important.\"\n\nAmelia (Developer): \"During Epic {{epic_number}}, the team uncovered findings that may require updating the plan for Epic {{next_epic_num}}.\"\n\n**Significant Changes Identified:**\n\n1. {{significant_change_1}}\n   Impact: {{impact_description_1}}\n\n2. {{significant_change_2}}\n   Impact: {{impact_description_2}}\n\n{{#if significant_change_3}} 3. {{significant_change_3}}\nImpact: {{impact_description_3}}\n{{\u002Fif}}\n\nCharlie (Senior Dev): \"Yeah, when we discovered {{technical_discovery}}, it fundamentally changed our understanding of {{affected_area}}.\"\n\nAlice (Product Owner): \"And from a product perspective, {{product_discovery}} means Epic {{next_epic_num}}'s stories are based on wrong assumptions.\"\n\nDana (QA Engineer): \"If we start Epic {{next_epic_num}} as-is, we're going to hit walls fast.\"\n\n**Impact on Epic {{next_epic_num}}:**\n\nThe current plan for Epic {{next_epic_num}} assumes:\n\n- {{wrong_assumption_1}}\n- {{wrong_assumption_2}}\n\nBut Epic {{epic_number}} revealed:\n\n- {{actual_reality_1}}\n- {{actual_reality_2}}\n\nThis means Epic {{next_epic_num}} likely needs:\n{{list_likely_changes_needed}}\n\n**RECOMMENDED ACTIONS:**\n\n1. Review and update Epic {{next_epic_num}} definition based on new learnings\n2. Update affected stories in Epic {{next_epic_num}} to reflect reality\n3. Consider updating architecture or technical specifications if applicable\n4. Hold alignment session with Product Owner before starting Epic {{next_epic_num}}\n   {{#if prd_update_needed}}5. Update PRD sections affected by new understanding{{\u002Fif}}\n\nAmelia (Developer): \"**Epic Update Required**: YES - Schedule epic planning review session\"\n\nAmelia (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?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to decide on how to handle the significant changes\u003C\u002Faction>\n\n\u003Caction>Add epic review session to critical path if user agrees\u003C\u002Faction>\n\n  \u003Coutput>\nAlice (Product Owner): \"I agree with {user_name}'s approach. Better to adjust the plan now than fail mid-epic.\"\n\nCharlie (Senior Dev): \"This is why retrospectives matter. We caught this before it became a disaster.\"\n\nAmelia (Developer): \"Adding to critical path: Epic {{next_epic_num}} planning review session before epic kickoff.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"no significant discoveries\">\n  \u003Coutput>\nAmelia (Developer): \"Good news - nothing from Epic {{epic_number}} fundamentally changes our plan for Epic {{next_epic_num}}. The plan is still sound.\"\n\nAlice (Product Owner): \"We learned a lot, but the direction is right.\"\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Coutput>\nAmelia (Developer): \"Let me show you the complete action plan...\"\n\nAmelia (Developer): \"That's {{total_action_count}} action items, {{prep_task_count}} preparation tasks, and {{critical_count}} critical path items.\"\n\nAmelia (Developer): \"Everyone clear on what they own?\"\n\u003C\u002Foutput>\n\n\u003Caction>Give each agent with assignments a moment to acknowledge their ownership\u003C\u002Faction>\n\n\u003Caction>Ensure {user_name} approves the complete action plan\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"9\" goal=\"Critical Readiness Exploration - Interactive Deep Dive\">\n\n\u003Coutput>\nAmelia (Developer): \"Before we close, I want to do a final readiness check.\"\n\nAmelia (Developer): \"Epic {{epic_number}} is marked complete in sprint-status, but is it REALLY done?\"\n\nAlice (Product Owner): \"What do you mean, Amelia?\"\n\nAmelia (Developer): \"I mean truly production-ready, stakeholders happy, no loose ends that'll bite us later.\"\n\nAmelia (Developer): \"{user_name}, let's walk through this together.\"\n\u003C\u002Foutput>\n\n\u003Caction>Explore testing and quality state through natural conversation\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, tell me about the testing for Epic {{epic_number}}. What verification has been done?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to describe testing status\u003C\u002Faction>\n\n\u003Coutput>\nDana (QA Engineer): [Responds to what {user_name} shared] \"I can add to that - {{additional_testing_context}}.\"\n\nDana (QA Engineer): \"But honestly, {{testing_concern_if_any}}.\"\n\nAmelia (Developer): \"{user_name}, are you confident Epic {{epic_number}} is production-ready from a quality perspective?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to assess quality readiness\u003C\u002Faction>\n\n\u003Ccheck if=\"{user_name} expresses concerns\">\n  \u003Coutput>\nAmelia (Developer): \"Okay, let's capture that. What specific testing is still needed?\"\n\nDana (QA Engineer): \"I can handle {{testing_work_needed}}, estimated {{testing_hours}} hours.\"\n\nAmelia (Developer): \"Adding to critical path: Complete {{testing_work_needed}} before Epic {{next_epic_num}}.\"\n\u003C\u002Foutput>\n\u003Caction>Add testing completion to critical path\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore deployment and release status\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, what's the deployment status for Epic {{epic_number}}? Is it live in production, scheduled for deployment, or still pending?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to provide deployment status\u003C\u002Faction>\n\n\u003Ccheck if=\"not yet deployed\">\n  \u003Coutput>\nCharlie (Senior Dev): \"If it's not deployed yet, we need to factor that into Epic {{next_epic_num}} timing.\"\n\nAmelia (Developer): \"{user_name}, when is deployment planned? Does that timing work for starting Epic {{next_epic_num}}?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to clarify deployment timeline\u003C\u002Faction>\n\n\u003Caction>Add deployment milestone to critical path with agreed timeline\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore stakeholder acceptance\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, have stakeholders seen and accepted the Epic {{epic_number}} deliverables?\"\n\nAlice (Product Owner): \"This is important - I've seen 'done' epics get rejected by stakeholders and force rework.\"\n\nAmelia (Developer): \"{user_name}, any feedback from stakeholders still pending?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to describe stakeholder acceptance status\u003C\u002Faction>\n\n\u003Ccheck if=\"acceptance incomplete or feedback pending\">\n  \u003Coutput>\nAlice (Product Owner): \"We should get formal acceptance before moving on. Otherwise Epic {{next_epic_num}} might get interrupted by rework.\"\n\nAmelia (Developer): \"{user_name}, how do you want to handle stakeholder acceptance? Should we make it a critical path item?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} decision\u003C\u002Faction>\n\n\u003Caction>Add stakeholder acceptance to critical path if user agrees\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore technical health and stability\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, this is a gut-check question: How does the codebase feel after Epic {{epic_number}}?\"\n\nAmelia (Developer): \"Stable and maintainable? Or are there concerns lurking?\"\n\nCharlie (Senior Dev): \"Be honest, {user_name}. We've all shipped epics that felt... fragile.\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to assess codebase health\u003C\u002Faction>\n\n\u003Ccheck if=\"{user_name} expresses stability concerns\">\n  \u003Coutput>\nCharlie (Senior Dev): \"Okay, let's dig into that. What's causing those concerns?\"\n\nCharlie (Senior Dev): [Helps {user_name} articulate technical concerns]\n\nAmelia (Developer): \"What would it take to address these concerns and feel confident about stability?\"\n\nCharlie (Senior Dev): \"I'd say we need {{stability_work_needed}}, roughly {{stability_hours}} hours.\"\n\nAmelia (Developer): \"{user_name}, is addressing this stability work worth doing before Epic {{next_epic_num}}?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} decision\u003C\u002Faction>\n\n\u003Caction>Add stability work to preparation sprint if user agrees\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Explore unresolved blockers\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"{user_name}, are there any unresolved blockers or technical issues from Epic {{epic_number}} that we're carrying forward?\"\n\nDana (QA Engineer): \"Things that might create problems for Epic {{next_epic_num}} if we don't deal with them?\"\n\nAmelia (Developer): \"Nothing is off limits here. If there's a problem, we need to know.\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to surface any blockers\u003C\u002Faction>\n\n\u003Ccheck if=\"blockers identified\">\n  \u003Coutput>\nAmelia (Developer): \"Let's capture those blockers and figure out how they affect Epic {{next_epic_num}}.\"\n\nCharlie (Senior Dev): \"For {{blocker_1}}, if we leave it unresolved, it'll {{impact_description_1}}.\"\n\nAlice (Product Owner): \"That sounds critical. We need to address that before moving forward.\"\n\nAmelia (Developer): \"Agreed. Adding to critical path: Resolve {{blocker_1}} before Epic {{next_epic_num}} kickoff.\"\n\nAmelia (Developer): \"Who owns that work?\"\n\u003C\u002Foutput>\n\n\u003Caction>Assign blocker resolution to appropriate agent\u003C\u002Faction>\n\u003Caction>Add to critical path with priority and deadline\u003C\u002Faction>\n\u003C\u002Fcheck>\n\n\u003Caction>Synthesize the readiness assessment\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): \"Okay {user_name}, let me synthesize what we just uncovered...\"\n\n**EPIC {{epic_number}} READINESS ASSESSMENT:**\n\nTesting & Quality: {{quality_status}}\n{{#if quality_concerns}}⚠️ Action needed: {{quality_action_needed}}{{\u002Fif}}\n\nDeployment: {{deployment_status}}\n{{#if deployment_pending}}⚠️ Scheduled for: {{deployment_date}}{{\u002Fif}}\n\nStakeholder Acceptance: {{acceptance_status}}\n{{#if acceptance_incomplete}}⚠️ Action needed: {{acceptance_action_needed}}{{\u002Fif}}\n\nTechnical Health: {{stability_status}}\n{{#if stability_concerns}}⚠️ Action needed: {{stability_action_needed}}{{\u002Fif}}\n\nUnresolved Blockers: {{blocker_status}}\n{{#if blockers_exist}}⚠️ Must resolve: {{blocker_list}}{{\u002Fif}}\n\nAmelia (Developer): \"{user_name}, does this assessment match your understanding?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to confirm or correct the assessment\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (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}}{{\u002Fif}}.\"\n\nAlice (Product Owner): \"This level of thoroughness is why retrospectives are valuable.\"\n\nCharlie (Senior Dev): \"Better to catch this now than three stories into the next epic.\"\n\u003C\u002Foutput>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"10\" goal=\"Retrospective Closure with Celebration and Commitment\">\n\n\u003Coutput>\nAmelia (Developer): \"We've covered a lot of ground today. Let me bring this retrospective to a close.\"\n\n═══════════════════════════════════════════════════════════\n✅ RETROSPECTIVE COMPLETE\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Epic {{epic_number}}: {{epic_title}} - REVIEWED\"\n\n**Key Takeaways:**\n\n1. {{key_lesson_1}}\n2. {{key_lesson_2}}\n3. {{key_lesson_3}}\n   {{#if key_lesson_4}}4. {{key_lesson_4}}{{\u002Fif}}\n\nAlice (Product Owner): \"That first takeaway is huge - {{impact_of_lesson_1}}.\"\n\nCharlie (Senior Dev): \"And lesson 2 is something we can apply immediately.\"\n\nAmelia (Developer): \"Commitments made today:\"\n\n- Action Items: {{action_count}}\n- Preparation Tasks: {{prep_task_count}}\n- Critical Path Items: {{critical_count}}\n\nDana (QA Engineer): \"That's a lot of commitments. We need to actually follow through this time.\"\n\nAmelia (Developer): \"Agreed. Which is why we'll review these action items in our next standup.\"\n\n═══════════════════════════════════════════════════════════\n? NEXT STEPS:\n═══════════════════════════════════════════════════════════\n\n1. Execute Preparation Sprint (Est: {{prep_days}} days)\n2. Complete Critical Path items before Epic {{next_epic_num}}\n3. Review action items in next standup\n   {{#if epic_update_needed}}4. Hold Epic {{next_epic_num}} planning review session{{else}}4. Begin Epic {{next_epic_num}} planning when preparation complete{{\u002Fif}}\n\nElena (Junior Dev): \"{{prep_days}} days of prep work is significant, but necessary.\"\n\nAlice (Product Owner): \"I'll communicate the timeline to stakeholders. They'll understand if we frame it as 'ensuring Epic {{next_epic_num}} success.'\"\n\n═══════════════════════════════════════════════════════════\n\nAmelia (Developer): \"Before we wrap, I want to take a moment to acknowledge the team.\"\n\nAmelia (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.\"\n\nCharlie (Senior Dev): \"Hear, hear.\"\n\nAlice (Product Owner): \"I'm proud of what we shipped.\"\n\nDana (QA Engineer): \"And I'm excited about Epic {{next_epic_num}} - especially now that we're prepared for it.\"\n\nAmelia (Developer): \"{user_name}, any final thoughts before we close?\"\n\u003C\u002Foutput>\n\n\u003Caction>WAIT for {user_name} to share final reflections\u003C\u002Faction>\n\n\u003Coutput>\nAmelia (Developer): [Acknowledges what {user_name} shared] \"Thank you for that, {user_name}.\"\n\nAmelia (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.\"\n\nAmelia (Developer): \"See you all when prep work is done. Meeting adjourned!\"\n\n═══════════════════════════════════════════════════════════\n\u003C\u002Foutput>\n\n\u003Caction>Prepare to save retrospective summary document\u003C\u002Faction>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"11\" goal=\"Save Retrospective and Update Sprint Status\">\n\n\u003Caction>Ensure retrospectives folder exists: {implementation_artifacts}\u003C\u002Faction>\n\u003Caction>Create folder if it doesn't exist\u003C\u002Faction>\n\n\u003Caction>Generate comprehensive retrospective summary document including:\u003C\u002Faction>\n\n- Epic summary and metrics\n- Team participants\n- Successes and strengths identified\n- Challenges and growth areas\n- Key insights and learnings\n- Previous retro follow-through analysis (if applicable)\n- Next epic preview and dependencies\n- Action items with owners and timelines\n- Preparation tasks for next epic\n- Critical path items\n- Significant discoveries and epic update recommendations (if any)\n- Readiness assessment\n- Commitments and next steps\n\n\u003Caction>Format retrospective document as readable markdown with clear sections\u003C\u002Faction>\n\u003Caction>Set filename: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\u003C\u002Faction>\n\u003Caction>Save retrospective document\u003C\u002Faction>\n\n\u003Coutput>\n✅ Retrospective document saved: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\n\u003C\u002Foutput>\n\n\u003Caction>Update {sprint_status_file} to mark retrospective as completed\u003C\u002Faction>\n\n\u003Caction>Load the FULL file: {sprint_status_file}\u003C\u002Faction>\n\u003Caction>Find development_status key \"epic-{{epic_number}}-retrospective\"\u003C\u002Faction>\n\u003Caction>Verify current status (typically \"optional\" or \"pending\")\u003C\u002Faction>\n\u003Caction>Update development_status[\"epic-{{epic_number}}-retrospective\"] = \"done\"\u003C\u002Faction>\n\u003Caction>Update last_updated field to current date\u003C\u002Faction>\n\u003Caction>Save file, preserving ALL comments and structure including STATUS DEFINITIONS\u003C\u002Faction>\n\n\u003Ccheck if=\"update successful\">\n  \u003Coutput>\n✅ Retrospective marked as completed in {sprint_status_file}\n\nRetrospective key: epic-{{epic_number}}-retrospective\nStatus: {{previous_status}} → done\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003Ccheck if=\"retrospective key not found\">\n  \u003Coutput>\n⚠️ Could not update retrospective status: epic-{{epic_number}}-retrospective not found in {sprint_status_file}\n\nRetrospective document was saved successfully, but {sprint_status_file} may need manual update.\n\u003C\u002Foutput>\n\u003C\u002Fcheck>\n\n\u003C\u002Fstep>\n\n\u003Cstep n=\"12\" goal=\"Final Summary and Handoff\">\n\n\u003Coutput>\n**✅ Retrospective Complete, {user_name}!**\n\n**Epic Review:**\n\n- Epic {{epic_number}}: {{epic_title}} reviewed\n- Retrospective Status: completed\n- Retrospective saved: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\n\n**Commitments Made:**\n\n- Action Items: {{action_count}}\n- Preparation Tasks: {{prep_task_count}}\n- Critical Path Items: {{critical_count}}\n\n**Next Steps:**\n\n1. **Review retrospective summary**: {implementation_artifacts}\u002Fepic-{{epic_number}}-retro-{date}.md\n\n2. **Execute preparation sprint** (Est: {{prep_days}} days)\n   - Complete {{critical_count}} critical path items\n   - Execute {{prep_task_count}} preparation tasks\n   - Verify all action items are in progress\n\n3. **Review action items in next standup**\n   - Ensure ownership is clear\n   - Track progress on commitments\n   - Adjust timelines if needed\n\n{{#if epic_update_needed}} 4. **IMPORTANT: Schedule Epic {{next_epic_num}} planning review session**\n\n- Significant discoveries from Epic {{epic_number}} require epic updates\n- Review and update affected stories\n- Align team on revised approach\n- Do NOT start Epic {{next_epic_num}} until review is complete\n  {{else}}\n\n4. **Begin Epic {{next_epic_num}} when ready**\n   - Start creating stories with Developer agent's `create-story`\n   - Epic will be marked as `in-progress` automatically when first story is created\n   - Ensure all critical path items are done first\n     {{\u002Fif}}\n\n**Team Performance:**\nEpic {{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.\n\n{{#if significant_discovery_count > 0}}\n⚠️ **REMINDER**: Epic update required before starting Epic {{next_epic_num}}\n{{\u002Fif}}\n\n---\n\nAmelia (Developer): \"Great session today, {user_name}. The team did excellent work.\"\n\nAlice (Product Owner): \"See you at epic planning!\"\n\nCharlie (Senior Dev): \"Time to knock out that prep work.\"\n\n\u003C\u002Foutput>\n\u003Caction>Run: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_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.\u003C\u002Faction>\n\u003C\u002Fstep>\n\n\u003C\u002Fworkflow>\n\n\u003Cfacilitation-guidelines>\n\u003Cguideline>PARTY MODE REQUIRED: All agent dialogue uses \"Name (Role): dialogue\" format\u003C\u002Fguideline>\n\u003Cguideline>Amelia (Developer) maintains psychological safety throughout - no blame or judgment\u003C\u002Fguideline>\n\u003Cguideline>Focus on systems and processes, not individual performance\u003C\u002Fguideline>\n\u003Cguideline>Create authentic team dynamics: disagreements, diverse perspectives, emotions\u003C\u002Fguideline>\n\u003Cguideline>User ({user_name}) is active participant, not passive observer\u003C\u002Fguideline>\n\u003Cguideline>Encourage specific examples over general statements\u003C\u002Fguideline>\n\u003Cguideline>Balance celebration of wins with honest assessment of challenges\u003C\u002Fguideline>\n\u003Cguideline>Ensure every voice is heard - all agents contribute\u003C\u002Fguideline>\n\u003Cguideline>Action items must be specific, achievable, and owned\u003C\u002Fguideline>\n\u003Cguideline>Forward-looking mindset - how do we improve for next epic?\u003C\u002Fguideline>\n\u003Cguideline>Intent-based facilitation, not scripted phrases\u003C\u002Fguideline>\n\u003Cguideline>Deep story analysis provides rich material for discussion\u003C\u002Fguideline>\n\u003Cguideline>Previous retro integration creates accountability and continuity\u003C\u002Fguideline>\n\u003Cguideline>Significant change detection prevents epic misalignment\u003C\u002Fguideline>\n\u003Cguideline>Critical verification prevents starting next epic prematurely\u003C\u002Fguideline>\n\u003Cguideline>Document everything - retrospective insights are valuable for future reference\u003C\u002Fguideline>\n\u003Cguideline>Two-part structure ensures both reflection AND preparation\u003C\u002Fguideline>\n\u003C\u002Ffacilitation-guidelines>\n",{"name":5,"description":7},"main","46520352938752d2973ade5f7a84b01205f7aac6","frameworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-retrospective",1,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private","https:\u002F\u002Fgithub.com\u002Fcombsmith","https:\u002F\u002Fcombsmith.com","Open-source tools and experiments spanning agent orchestration, AI agent interfaces, AI content tooling, beekeeping tech, personal finance, and consumer apps.","2026-11-13 03:58:39",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add combsmith\u002F.github-private --skill bmad-retrospective",{"tool":52,"command":53},"bunx","bunx skills add combsmith\u002F.github-private --skill bmad-retrospective",{"tool":55,"command":56},"pnpm","pnpm dlx skills add combsmith\u002F.github-private --skill bmad-retrospective","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-retrospective\u002FSKILL.md",true,[60],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"customize.toml","OTHER","其他",1659,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F4-implementation\u002Fbmad-retrospective\u002Fcustomize.toml",[67,94,108,134,152,170],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":78,"publishedAt":32},"01M6P9K2GYFR9RBTH96ADYZXEW","bmad-testarch-trace","Generate traceability matrix and quality gate decision. Use when the user says \"lets create traceability matrix\" or \"I want to analyze test coverage\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-trace\u002FSKILL.md",[73],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[79,80,21,81,82,83,84,85,86,27,87,25,88,89,90,91,92,93],"trace","bmad testarch trace","bmad testarch","analyze","matrix","traceability","gate","test coverage","coverage","decision","quality","generate","create","quality gate","test",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":101,"publishedAt":32},"01M6P9JB7TD978DGCMEWWJ88GR","bmad-testarch-test-review","Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-review\u002FSKILL.md",[100],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[21,81,102,103,22,93,104,105,106,107,27,25,89],"test review","bmad testarch test review","best practices","tests","validation","evaluate",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":123,"publishedAt":32},"01M6P9J2FJH9X93F027N9XKP8G","bmad-testarch-test-design","Create system-level or epic-level test plans. Use when the user says \"lets design test plan\" or \"I want to create test strategy\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-design\u002FSKILL.md",[114,115,118],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},{"categoryNo":116,"categoryName":117,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[81,21,124,125,93,126,127,30,128,129,27,25,130,131,132,91,133],"bmad testarch test design","design","test design","create test","plans","test strategy","strategy","plan","test plan","system",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":32},"01M6P9HNE1J104G3EYV50FET7Q","bmad-testarch-nfr","Audit NFR evidence for performance, security, reliability, and scalability. Use when implementation evidence exists and the user says \"audit NFR evidence\", \"audit NFRs\", or \"evaluate non-functional requirements\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-nfr\u002FSKILL.md",[],[141,21,81,107,142,143,144,145,146,147,148,27,25,149,150,151],"bmad testarch nfr","reliability","for","functional","requirements","scalability","implementation","evidence","audit","performance","security",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":32},"01M6P9HD6HCAFVSRQWT2Z62NEM","bmad-testarch-framework","Initialize test framework with Playwright or Cypress. Use when the user says \"lets setup test framework\" or \"I want to initialize testing framework\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-framework\u002FSKILL.md",[158],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[160,161,21,81,162,163,164,93,165,166,167,168,169,27,25],"bmad testarch framework","framework","testing framework","setup","test framework","playwright","testing","initialize","with","cypress",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":180,"publishedAt":32},"01M6P9GVNB0SW4HPA4VR9VNN2V","bmad-testarch-ci","Scaffold CI\u002FCD quality pipeline with test execution. Use when the user says \"lets setup CI pipeline\" or \"I want to create quality gates\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-ci\u002FSKILL.md",[176,177],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},{"categoryNo":178,"categoryName":179,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000011","运维与部署",[21,81,181,182,183,168,184,185,186,27,25,89,187,188,91,189,163,190,93],"bmad testarch ci","ci","gates","CI\u002FCD","test execution","cd","execution","pipeline","quality gates","scaffold"]