Compare commits
6 Commits
7025327263
...
a308ae28c8
| Author | SHA1 | Date |
|---|---|---|
|
|
a308ae28c8 | |
|
|
7ef45d472c | |
|
|
2ea917ef5c | |
|
|
1b776f565b | |
|
|
1aa0903e79 | |
|
|
84a3aa57de |
|
|
@ -61,7 +61,6 @@
|
||||||
"./src/bmm-skills/4-implementation/bmad-agent-dev",
|
"./src/bmm-skills/4-implementation/bmad-agent-dev",
|
||||||
"./src/bmm-skills/4-implementation/bmad-agent-sm",
|
"./src/bmm-skills/4-implementation/bmad-agent-sm",
|
||||||
"./src/bmm-skills/4-implementation/bmad-agent-qa",
|
"./src/bmm-skills/4-implementation/bmad-agent-qa",
|
||||||
"./src/bmm-skills/4-implementation/bmad-agent-quick-flow-solo-dev",
|
|
||||||
"./src/bmm-skills/4-implementation/bmad-dev-story",
|
"./src/bmm-skills/4-implementation/bmad-dev-story",
|
||||||
"./src/bmm-skills/4-implementation/bmad-quick-dev",
|
"./src/bmm-skills/4-implementation/bmad-quick-dev",
|
||||||
"./src/bmm-skills/4-implementation/bmad-sprint-planning",
|
"./src/bmm-skills/4-implementation/bmad-sprint-planning",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
---
|
||||||
|
title: "Checkpoint Preview"
|
||||||
|
description: LLM-assisted human-in-the-loop review that guides you through a change from purpose to details
|
||||||
|
sidebar:
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
`bmad-checkpoint-preview` is an interactive, LLM-assisted human-in-the-loop review workflow. It walks you through a code change — from purpose and context into details — so you can make an informed decision about whether to ship, rework, or dig deeper.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## The Typical Flow
|
||||||
|
|
||||||
|
You run `bmad-quick-dev`. It clarifies your intent, builds a spec, implements the change, and when it's done it appends a review trail to the spec file and opens it in your editor. You look at the spec and see the change touched 20 files across several modules.
|
||||||
|
|
||||||
|
You could eyeball the diff. But 20 files is where eyeballing starts to fail — you lose the thread, miss a connection between two distant changes, or approve something you didn't fully understand. So instead, you say "checkpoint" and the LLM walks you through it.
|
||||||
|
|
||||||
|
That handoff — from autonomous implementation back to human judgment — is the primary use case. Quick-dev runs long with minimal supervision. Checkpoint Preview is where you take back the wheel.
|
||||||
|
|
||||||
|
## Why It Exists
|
||||||
|
|
||||||
|
Code review has two failure modes. In one, the reviewer skims the diff, nothing jumps out, and they approve. In the other, they methodically read every file but lose the thread — they see the trees and miss the forest. Both result in the same outcome: the review didn't catch the thing that mattered.
|
||||||
|
|
||||||
|
The underlying issue is sequencing. A raw diff presents changes in file order, which is almost never the order that builds understanding. You see a helper function before you know why it exists. You see a schema change before you understand what feature it supports. The reviewer has to reconstruct the author's intent from scattered clues, and that reconstruction is where attention fails.
|
||||||
|
|
||||||
|
Checkpoint Preview solves this by making the LLM do the reconstruction work. It reads the diff, the spec (if one exists), and the surrounding codebase, then presents the change in an order designed for comprehension — not for `git diff`.
|
||||||
|
|
||||||
|
## How It Works
|
||||||
|
|
||||||
|
The workflow has five steps. Each step builds on the previous one, progressively shifting from "what is this?" toward "should we ship it?"
|
||||||
|
|
||||||
|
### 1. Orientation
|
||||||
|
|
||||||
|
The workflow identifies the change (from a PR, commit, branch, spec file, or the current git state) and produces a one-line intent summary plus surface area stats: files changed, modules touched, lines of logic, boundary crossings, and new public interfaces.
|
||||||
|
|
||||||
|
This is the "is this what I think it is?" moment. Before reading any code, the reviewer confirms they're looking at the right thing and calibrates their expectations for scope.
|
||||||
|
|
||||||
|
### 2. Walkthrough
|
||||||
|
|
||||||
|
The change is organized by **concern** — cohesive design intents like "input validation" or "API contract" — not by file. Each concern gets a short explanation of *why* this approach was chosen, followed by clickable `path:line` stops that the reviewer can follow through the code.
|
||||||
|
|
||||||
|
This is the design judgment step. The reviewer evaluates whether the approach is right for the system, not whether the code is correct. Concerns are sequenced top-down: the highest-level intent first, then supporting implementation. The reviewer never encounters a reference to something they haven't seen yet.
|
||||||
|
|
||||||
|
### 3. Detail Pass
|
||||||
|
|
||||||
|
After the reviewer understands the design, the workflow surfaces 2-5 spots where a mistake would have the highest blast radius. These are tagged by risk category — `[auth]`, `[schema]`, `[billing]`, `[public API]`, `[security]`, and others — and ordered by how much breaks if they're wrong.
|
||||||
|
|
||||||
|
This is not a bug hunt. Automated tests and CI handle correctness. The detail pass activates risk awareness: "here are the places where being wrong costs the most." If the reviewer wants to go deeper on a specific area, they can say "dig into [area]" for a targeted correctness-focused re-review.
|
||||||
|
|
||||||
|
If the spec went through adversarial review loops (machine hardening), those findings are surfaced here too — not the bugs that were fixed, but the decisions that the review loop flagged that the reviewer should be aware of.
|
||||||
|
|
||||||
|
### 4. Testing
|
||||||
|
|
||||||
|
Suggests 2-5 ways to manually observe the change working. Not automated test commands — manual observations that build confidence no test suite provides. A UI interaction to try, a CLI command to run, an API request to send, with expected results for each.
|
||||||
|
|
||||||
|
If the change has no user-visible behavior, it says so. No invented busywork.
|
||||||
|
|
||||||
|
### 5. Wrap-Up
|
||||||
|
|
||||||
|
The reviewer makes the call: approve, rework, or keep discussing. If approving a PR, the workflow can help with `gh pr review --approve`. If reworking, it helps diagnose whether the problem was the approach, the spec, or the implementation, and helps draft actionable feedback tied to specific code locations.
|
||||||
|
|
||||||
|
## It's a Conversation, Not a Report
|
||||||
|
|
||||||
|
The workflow presents each step as a starting point, not a final word. Between steps — or in the middle of one — you can talk to the LLM, ask questions, challenge its framing, or pull in other skills to get a different perspective:
|
||||||
|
|
||||||
|
- **"run advanced elicitation on the error handling"** — push the LLM to reconsider and refine its analysis of a specific area
|
||||||
|
- **"party mode on whether this schema migration is safe"** — bring multiple agent perspectives into a focused debate
|
||||||
|
- **"run code review"** — generate structured agentic findings with adversarial and edge-case analysis
|
||||||
|
|
||||||
|
The checkpoint workflow doesn't lock you into a linear path. It gives you structure when you want it and gets out of the way when you want to explore. The five steps are there to make sure you see the whole picture, but how deep you go at each step — and what tools you bring in — is entirely up to you.
|
||||||
|
|
||||||
|
## The Review Trail
|
||||||
|
|
||||||
|
The walkthrough step works best when it has a **Suggested Review Order** — a list of stops the spec author wrote to guide reviewers through the change. When a spec includes this, the workflow uses it directly.
|
||||||
|
|
||||||
|
When no author-produced trail exists, the workflow generates one from the diff and codebase context. A generated trail is lower quality than an author-produced one, but far better than reading changes in file order.
|
||||||
|
|
||||||
|
## When to Use It
|
||||||
|
|
||||||
|
The primary scenario is the handoff from `bmad-quick-dev`: the implementation is done, the spec file is open in your editor with a review trail appended, and you need to decide whether to ship. Say "checkpoint" and go.
|
||||||
|
|
||||||
|
It also works standalone:
|
||||||
|
|
||||||
|
- **Reviewing a PR** — especially one with more than a handful of files or cross-cutting changes
|
||||||
|
- **Onboarding to a change** — when you need to understand what happened on a branch you didn't write
|
||||||
|
- **Sprint review** — the workflow can pick up stories marked `review` in your sprint status file
|
||||||
|
|
||||||
|
Invoke it by saying "checkpoint" or "walk me through this change." It works in any terminal, but you'll get more out of it inside an IDE — VS Code, Cursor, or similar — because the workflow produces `path:line` references at every step. In an IDE-embedded terminal those are clickable, so you can jump from file to file as you follow the review trail.
|
||||||
|
|
||||||
|
## What It Is Not
|
||||||
|
|
||||||
|
Checkpoint Preview is not a substitute for automated review. It does not run linters, type checkers, or test suites. It does not assign severity scores or produce pass/fail verdicts. It is a reading guide that helps a human apply their judgment where it matters most.
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
---
|
---
|
||||||
title: Agents
|
title: Agents
|
||||||
description: Agents BMM par défaut avec leurs identifiants de skill, déclencheurs de menu et workflows principaux (Analyst, Architect, UX Designer, Technical Writer)
|
description: Agents BMM par défaut avec leurs identifiants de skill, déclencheurs de menu et workflows principaux (Analyst, Developer, Architect, UX Designer, Technical Writer)
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 2
|
order: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
## Agents par défaut
|
## Agents par défaut
|
||||||
|
|
||||||
Cette page liste les quatre agents BMM (suite Agile) par défaut installés avec la méthode BMad, ainsi que leurs identifiants de skill, déclencheurs de menu et workflows principaux. Chaque agent est invoqué en tant que skill.
|
Cette page liste les cinq agents BMM (suite Agile) par défaut installés avec la méthode BMad, ainsi que leurs identifiants de skill, déclencheurs de menu et workflows principaux. Chaque agent est invoqué en tant que skill.
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
|
|
@ -19,6 +19,7 @@ Cette page liste les quatre agents BMM (suite Agile) par défaut installés avec
|
||||||
|------------------------|----------------------|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|------------------------|----------------------|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| Analyste (Mary) | `bmad-analyst` | `BP`, `MR`, `DR`, `TR`, `CB`, `DP` | Brainstorming du projet, Recherche marché/domaine/technique, Création du brief[^1], Documentation du projet |
|
| Analyste (Mary) | `bmad-analyst` | `BP`, `MR`, `DR`, `TR`, `CB`, `DP` | Brainstorming du projet, Recherche marché/domaine/technique, Création du brief[^1], Documentation du projet |
|
||||||
| Architecte (Winston) | `bmad-architect` | `CA`, `IR` | Créer l’architecture, Préparation à l’implémentation |
|
| Architecte (Winston) | `bmad-architect` | `CA`, `IR` | Créer l’architecture, Préparation à l’implémentation |
|
||||||
|
| Développeur (Amelia) | `bmad-dev` | `DS`, `QD`, `CR` | Dev Story, Quick Dev, Code Review |
|
||||||
| Designer UX (Sally) | `bmad-ux-designer` | `CU` | Création du design UX[^2] |
|
| Designer UX (Sally) | `bmad-ux-designer` | `CU` | Création du design UX[^2] |
|
||||||
| Rédacteur Technique (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Documentation du projet, Rédaction de documents, Mise à jour des standards, Génération de diagrammes Mermaid, Validation de documents, Explication de concepts |
|
| Rédacteur Technique (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Documentation du projet, Rédaction de documents, Mise à jour des standards, Génération de diagrammes Mermaid, Validation de documents, Explication de concepts |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,8 @@ This page lists the default BMM (Agile suite) agents that install with BMad Meth
|
||||||
| Product Manager (John) | `bmad-pm` | `CP`, `VP`, `EP`, `CE`, `IR`, `CC` | Create/Validate/Edit PRD, Create Epics and Stories, Implementation Readiness, Correct Course |
|
| Product Manager (John) | `bmad-pm` | `CP`, `VP`, `EP`, `CE`, `IR`, `CC` | Create/Validate/Edit PRD, Create Epics and Stories, Implementation Readiness, Correct Course |
|
||||||
| Architect (Winston) | `bmad-architect` | `CA`, `IR` | Create Architecture, Implementation Readiness |
|
| Architect (Winston) | `bmad-architect` | `CA`, `IR` | Create Architecture, Implementation Readiness |
|
||||||
| Scrum Master (Bob) | `bmad-sm` | `SP`, `CS`, `ER`, `CC` | Sprint Planning, Create Story, Epic Retrospective, Correct Course |
|
| Scrum Master (Bob) | `bmad-sm` | `SP`, `CS`, `ER`, `CC` | Sprint Planning, Create Story, Epic Retrospective, Correct Course |
|
||||||
| Developer (Amelia) | `bmad-dev` | `DS`, `CR` | Dev Story, Code Review |
|
| Developer (Amelia) | `bmad-dev` | `DS`, `QD`, `CR` | Dev Story, Quick Dev, Code Review |
|
||||||
| QA Engineer (Quinn) | `bmad-qa` | `QA` | Automate (generate tests for existing features) |
|
| QA Engineer (Quinn) | `bmad-qa` | `QA` | Automate (generate tests for existing features) |
|
||||||
| Quick Flow Solo Dev (Barry) | `bmad-master` | `QD`, `CR` | Quick Dev, Code Review |
|
|
||||||
| UX Designer (Sally) | `bmad-ux-designer` | `CU` | Create UX Design |
|
| UX Designer (Sally) | `bmad-ux-designer` | `CU` | Create UX Design |
|
||||||
| Technical Writer (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Document Project, Write Document, Update Standards, Mermaid Generate, Validate Doc, Explain Concept |
|
| Technical Writer (Paige) | `bmad-tech-writer` | `DP`, `WD`, `US`, `MG`, `VD`, `EC` | Document Project, Write Document, Update Standards, Mermaid Generate, Validate Doc, Explain Concept |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,3 +291,14 @@ Run both `bmad-review-adversarial-general` and `bmad-review-edge-case-hunter` to
|
||||||
**Input:** Target folder path
|
**Input:** Target folder path
|
||||||
|
|
||||||
**Output:** `index.md` with organized file listings, relative links, and brief descriptions
|
**Output:** `index.md` with organized file listings, relative links, and brief descriptions
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 3rd Party Tools Integration: Pencil
|
||||||
|
|
||||||
|
If you are using **Pencil** within BMAD workflows for creating mockups or UI designs, it is critical that the LLM is fully aware of its existence early in the process rather than treating it merely as a nice-to-have MCP (Model Context Protocol).
|
||||||
|
|
||||||
|
**Important Guidelines for Pencil:**
|
||||||
|
- **Introduce Early:** The sooner you bring Pencil into your planning process, the better. You must specify Pencil in your tooling **before** generating the `_bmad-output/planning-artifacts/architecture.md` document.
|
||||||
|
- **Enforce Context:** Explicitly enforce the inclusion of your `.pen` (Pencil) files in the `_bmad-output/project-context.md` file.
|
||||||
|
- **Why this matters:** If you bring Pencil in after the PRD, UX, and Architecture docs are already drafted without establishing these guardrails, the AI will not integrate it smoothly and will cause avoidable course corrections during sprints.
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,8 @@ sidebar:
|
||||||
| Product Manager (John) | `bmad-pm` | `CP`、`VP`、`EP`、`CE`、`IR`、`CC` | Create/Validate/Edit PRD、Create Epics and Stories、Implementation Readiness、Correct Course |
|
| Product Manager (John) | `bmad-pm` | `CP`、`VP`、`EP`、`CE`、`IR`、`CC` | Create/Validate/Edit PRD、Create Epics and Stories、Implementation Readiness、Correct Course |
|
||||||
| Architect (Winston) | `bmad-architect` | `CA`、`IR` | Create Architecture、Implementation Readiness |
|
| Architect (Winston) | `bmad-architect` | `CA`、`IR` | Create Architecture、Implementation Readiness |
|
||||||
| Scrum Master (Bob) | `bmad-sm` | `SP`、`CS`、`ER`、`CC` | Sprint Planning、Create Story、Epic Retrospective、Correct Course |
|
| Scrum Master (Bob) | `bmad-sm` | `SP`、`CS`、`ER`、`CC` | Sprint Planning、Create Story、Epic Retrospective、Correct Course |
|
||||||
| Developer (Amelia) | `bmad-dev` | `DS`、`CR` | Dev Story、Code Review |
|
| Developer (Amelia) | `bmad-dev` | `DS`、`QD`、`CR` | Dev Story、Quick Dev、Code Review |
|
||||||
| QA Engineer (Quinn) | `bmad-qa` | `QA` | Automate(为既有功能生成测试) |
|
| QA Engineer (Quinn) | `bmad-qa` | `QA` | Automate(为既有功能生成测试) |
|
||||||
| Quick Flow Solo Dev (Barry) | `bmad-master` | `QD`、`CR` | Quick Dev、Code Review |
|
|
||||||
| UX Designer (Sally) | `bmad-ux-designer` | `CU` | Create UX Design |
|
| UX Designer (Sally) | `bmad-ux-designer` | `CU` | Create UX Design |
|
||||||
| Technical Writer (Paige) | `bmad-tech-writer` | `DP`、`WD`、`US`、`MG`、`VD`、`EC` | Document Project、Write Document、Update Standards、Mermaid Generate、Validate Doc、Explain Concept |
|
| Technical Writer (Paige) | `bmad-tech-writer` | `DP`、`WD`、`US`、`MG`、`VD`、`EC` | Document Project、Write Document、Update Standards、Mermaid Generate、Validate Doc、Explain Concept |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ When you are in this persona and the user calls a skill, this persona must carry
|
||||||
| Code | Description | Skill |
|
| Code | Description | Skill |
|
||||||
|------|-------------|-------|
|
|------|-------------|-------|
|
||||||
| DS | Write the next or specified story's tests and code | bmad-dev-story |
|
| DS | Write the next or specified story's tests and code | bmad-dev-story |
|
||||||
|
| QD | Unified quick flow — clarify intent, plan, implement, review, present | bmad-quick-dev |
|
||||||
| CR | Initiate a comprehensive code review across multiple quality facets | bmad-code-review |
|
| CR | Initiate a comprehensive code review across multiple quality facets | bmad-code-review |
|
||||||
|
|
||||||
## On Activation
|
## On Activation
|
||||||
|
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
---
|
|
||||||
name: bmad-agent-quick-flow-solo-dev
|
|
||||||
description: Elite full-stack developer for rapid spec and implementation. Use when the user asks to talk to Barry or requests the quick flow solo dev.
|
|
||||||
---
|
|
||||||
|
|
||||||
# Barry
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
This skill provides an Elite Full-Stack Developer who handles Quick Flow — from tech spec creation through implementation. Act as Barry — direct, confident, and implementation-focused. Minimum ceremony, lean artifacts, ruthless efficiency.
|
|
||||||
|
|
||||||
## Identity
|
|
||||||
|
|
||||||
Barry handles Quick Flow — from tech spec creation through implementation. Minimum ceremony, lean artifacts, ruthless efficiency.
|
|
||||||
|
|
||||||
## Communication Style
|
|
||||||
|
|
||||||
Direct, confident, and implementation-focused. Uses tech slang (e.g., refactor, patch, extract, spike) and gets straight to the point. No fluff, just results. Stays focused on the task at hand.
|
|
||||||
|
|
||||||
## Principles
|
|
||||||
|
|
||||||
- Planning and execution are two sides of the same coin.
|
|
||||||
- Specs are for building, not bureaucracy. Code that ships is better than perfect code that doesn't.
|
|
||||||
|
|
||||||
You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
|
|
||||||
|
|
||||||
When you are in this persona and the user calls a skill, this persona must carry through and remain active.
|
|
||||||
|
|
||||||
## Capabilities
|
|
||||||
|
|
||||||
| Code | Description | Skill |
|
|
||||||
|------|-------------|-------|
|
|
||||||
| QD | Unified quick flow — clarify intent, plan, implement, review, present | bmad-quick-dev |
|
|
||||||
| CR | Initiate a comprehensive code review across multiple quality facets | bmad-code-review |
|
|
||||||
|
|
||||||
## On Activation
|
|
||||||
|
|
||||||
1. Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
|
||||||
- Use `{user_name}` for greeting
|
|
||||||
- Use `{communication_language}` for all communications
|
|
||||||
- Use `{document_output_language}` for output documents
|
|
||||||
- Use `{planning_artifacts}` for output location and artifact scanning
|
|
||||||
- Use `{project_knowledge}` for additional context scanning
|
|
||||||
|
|
||||||
2. **Continue with steps below:**
|
|
||||||
- **Load project context** — Search for `**/project-context.md`. If found, load as foundational reference for project standards and conventions. If not found, continue without it.
|
|
||||||
- **Greet and present capabilities** — Greet `{user_name}` warmly by name, always speaking in `{communication_language}` and applying your persona throughout the session.
|
|
||||||
|
|
||||||
3. Remind the user they can invoke the `bmad-help` skill at any time for advice and then present the capabilities table from the Capabilities section above.
|
|
||||||
|
|
||||||
**STOP and WAIT for user input** — Do NOT execute menu items automatically. Accept number, menu code, or fuzzy command match.
|
|
||||||
|
|
||||||
**CRITICAL Handling:** When user responds with a code, line number or skill, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly.
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
type: agent
|
|
||||||
name: bmad-agent-quick-flow-solo-dev
|
|
||||||
displayName: Barry
|
|
||||||
title: Quick Flow Solo Dev
|
|
||||||
icon: "🚀"
|
|
||||||
capabilities: "rapid spec creation, lean implementation, minimum ceremony"
|
|
||||||
role: Elite Full-Stack Developer + Quick Flow Specialist
|
|
||||||
identity: "Barry handles Quick Flow - from tech spec creation through implementation. Minimum ceremony, lean artifacts, ruthless efficiency."
|
|
||||||
communicationStyle: "Direct, confident, and implementation-focused. Uses tech slang (e.g., refactor, patch, extract, spike) and gets straight to the point. No fluff, just results. Stays focused on the task at hand."
|
|
||||||
principles: "Planning and execution are two sides of the same coin. Specs are for building, not bureaucracy. Code that ships is better than perfect code that doesn't."
|
|
||||||
module: bmm
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
name: bmad-checkpoint-preview
|
||||||
|
description: 'LLM-assisted human-in-the-loop review. Make sense of a change, focus attention where it matters, test. Use when the user says "checkpoint", "human review", or "walk me through this change".'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Checkpoint Review Workflow
|
||||||
|
|
||||||
|
**Goal:** Guide a human through reviewing a change — from purpose and context into details.
|
||||||
|
|
||||||
|
You are assisting the user in reviewing a change.
|
||||||
|
|
||||||
|
## Global Step Rules (apply to every step)
|
||||||
|
|
||||||
|
- **Path:line format** — Every code reference must use CWD-relative `path:line` format (no leading `/`) so it is clickable in IDE-embedded terminals (e.g., `src/auth/middleware.ts:42`).
|
||||||
|
- **Front-load then shut up** — Present the entire output for the current step in a single coherent message. Do not ask questions mid-step, do not drip-feed, do not pause between sections.
|
||||||
|
- **Language** — Speak in `{communication_language}`. Write any file output in `{document_output_language}`.
|
||||||
|
|
||||||
|
## INITIALIZATION
|
||||||
|
|
||||||
|
Load and read full config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
||||||
|
|
||||||
|
- `implementation_artifacts`
|
||||||
|
- `planning_artifacts`
|
||||||
|
- `communication_language`
|
||||||
|
- `document_output_language`
|
||||||
|
|
||||||
|
## FIRST STEP
|
||||||
|
|
||||||
|
Read fully and follow `./step-01-orientation.md` to begin.
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
# Generate Review Trail
|
||||||
|
|
||||||
|
Generate a review trail from the diff and codebase context. A generated trail is lower quality than an author-produced one, but far better than none.
|
||||||
|
|
||||||
|
## Follow Global Step Rules in SKILL.md
|
||||||
|
|
||||||
|
## INSTRUCTIONS
|
||||||
|
|
||||||
|
1. Get the full diff against the appropriate baseline (same rules as Surface Area Stats in step-01).
|
||||||
|
2. Read changed files in full — not just diff hunks. Surrounding code reveals intent that hunks alone miss. If total file content exceeds ~50k tokens, read only the files with the largest diff hunks in full and use hunks for the rest.
|
||||||
|
3. If a spec exists, use its Intent section to anchor concern identification.
|
||||||
|
4. Identify 2–5 concerns: cohesive design intents that each explain *why* behind a cluster of changes. Prefer functional groupings and architectural boundaries over file-level splits. A single-concern change is fine — don't invent groupings.
|
||||||
|
5. For each concern, select 1–4 `path:line` stops — locations where the concern is most visible. Prefer entry points, decision points, and boundary crossings over mechanical changes.
|
||||||
|
6. Lead with the entry point — the highest-leverage stop a reviewer should see first. Inside each concern, order stops so each builds on the previous. End with peripherals (tests, config, types).
|
||||||
|
7. Format each stop using `path:line` per the global step rules:
|
||||||
|
|
||||||
|
```
|
||||||
|
**{Concern name}**
|
||||||
|
|
||||||
|
- {one-line framing, ≤15 words}
|
||||||
|
`src/path/to/file.ts:42`
|
||||||
|
```
|
||||||
|
|
||||||
|
When there is only one concern, omit the bold label — just list the stops directly.
|
||||||
|
|
||||||
|
## PRESENT
|
||||||
|
|
||||||
|
Output after the orientation:
|
||||||
|
|
||||||
|
```
|
||||||
|
I built a review trail for this {change_type} (no author-produced trail was found):
|
||||||
|
|
||||||
|
{generated trail}
|
||||||
|
```
|
||||||
|
|
||||||
|
The generated trail serves as the Suggested Review Order for subsequent steps. Set `review_mode` to `full-trail` — a trail now exists, so all downstream steps should treat it as one.
|
||||||
|
|
||||||
|
If git is unavailable or the diff cannot be retrieved, return to step-01 with: "Could not generate trail — git unavailable."
|
||||||
|
|
@ -0,0 +1,105 @@
|
||||||
|
# Step 1: Orientation
|
||||||
|
|
||||||
|
Display: `[Orientation] → Walkthrough → Detail Pass → Testing`
|
||||||
|
|
||||||
|
## Follow Global Step Rules in SKILL.md
|
||||||
|
|
||||||
|
## FIND THE CHANGE
|
||||||
|
|
||||||
|
The conversation context before this skill was triggered IS your starting point — not a blank slate. Check in this order — stop as soon as the change is identified:
|
||||||
|
|
||||||
|
1. **Explicit argument**
|
||||||
|
Did the user pass a PR, commit SHA, branch, or spec file this message?
|
||||||
|
- PR reference → resolve to branch/commit via `gh pr view`. If resolution fails, ask for a SHA or branch.
|
||||||
|
- Spec file, commit, or branch → use directly.
|
||||||
|
|
||||||
|
2. **Recent conversation**
|
||||||
|
Do the last few messages reveal what change the user wants reviewed? Look for spec paths, commit refs, branches, PRs, or descriptions of a change. Use the same routing as above.
|
||||||
|
|
||||||
|
3. **Sprint tracking**
|
||||||
|
Check for a sprint status file (`*sprint-status*`) in `{implementation_artifacts}` or `{planning_artifacts}`. If found, scan for stories with status `review`:
|
||||||
|
- Exactly one → suggest it and confirm with the user.
|
||||||
|
- Multiple → present as numbered options.
|
||||||
|
- None → fall through.
|
||||||
|
|
||||||
|
4. **Current git state**
|
||||||
|
Check current branch and HEAD. Confirm: "I see HEAD is `<short-sha>` on `<branch>` — is this the change you want to review?"
|
||||||
|
|
||||||
|
5. **Ask**
|
||||||
|
If none of the above identified a change, ask:
|
||||||
|
- What changed and why?
|
||||||
|
- Which commit, branch, or PR should I look at?
|
||||||
|
- Do you have a spec, bug report, or anything else that explains what this change is supposed to do?
|
||||||
|
|
||||||
|
If after 3 exchanges you still can't identify a change, HALT.
|
||||||
|
|
||||||
|
Never ask extra questions beyond what the cascade prescribes. If a step above already identified the change, skip the remaining steps.
|
||||||
|
|
||||||
|
## ENRICH
|
||||||
|
|
||||||
|
Once a change is identified from any source above, fill in the complementary artifact:
|
||||||
|
|
||||||
|
- If you have a spec, look for `baseline_commit` in its frontmatter to determine the diff baseline.
|
||||||
|
- If you have a commit or branch, check `{implementation_artifacts}` for a spec whose `baseline_commit` is an ancestor of that commit/branch (i.e., the spec describes work done on top of that baseline).
|
||||||
|
- If you found both a spec and a commit/branch, use both.
|
||||||
|
|
||||||
|
## DETERMINE WHAT YOU HAVE
|
||||||
|
|
||||||
|
Set `change_type` to match how the user referred to the change — `PR`, `commit`, `branch`, or their own words (e.g. `auth refactor`). Default to `change` if ambiguous.
|
||||||
|
|
||||||
|
Set `review_mode` — pick the first match:
|
||||||
|
|
||||||
|
1. **`full-trail`** — ENRICH found a spec with a `## Suggested Review Order` section. Intent source: spec's Intent section.
|
||||||
|
2. **`spec-only`** — ENRICH found a spec but it has no Suggested Review Order. Intent source: spec's Intent section.
|
||||||
|
3. **`bare-commit`** — no spec found. Intent source: commit message. If the commit message is terse (under 10 words), scan the diff for the primary change pattern and draft a one-sentence intent. Flag it as `[inferred]` in the output so the user can correct it.
|
||||||
|
|
||||||
|
## PRODUCE ORIENTATION
|
||||||
|
|
||||||
|
### Intent Summary
|
||||||
|
|
||||||
|
- If intent comes from a spec's Intent section, display it verbatim regardless of length — it's already written to be concise.
|
||||||
|
- For other sources (commit messages, bug reports, user description): if ≤200 tokens, display verbatim. If longer, distill to ≤200 tokens. Link to the full source when one exists (e.g. a file path or URL).
|
||||||
|
- Format: `> **Intent:** {summary}`
|
||||||
|
|
||||||
|
### Surface Area Stats
|
||||||
|
|
||||||
|
Best-effort stats derived from the diff. Try these baselines in order:
|
||||||
|
|
||||||
|
1. `baseline_commit` from the spec's frontmatter.
|
||||||
|
2. Branch merge-base against `main` (or the default branch).
|
||||||
|
3. `HEAD~1..HEAD` (latest commit only — tell the user).
|
||||||
|
4. If git is unavailable or all of the above fail, skip stats and note: "Could not compute stats."
|
||||||
|
|
||||||
|
Use `git diff --stat` and `git diff --numstat` for file-level counts, and scan the full diff content for the richer metrics.
|
||||||
|
|
||||||
|
Display as:
|
||||||
|
|
||||||
|
```
|
||||||
|
N files changed · M modules touched · ~L lines of logic · B boundary crossings · P new public interfaces
|
||||||
|
```
|
||||||
|
|
||||||
|
- **Files changed**: count from `git diff --stat`.
|
||||||
|
- **Modules touched**: distinct top-level directories with changes (from `--stat` file paths).
|
||||||
|
- **Lines of logic**: added/modified lines excluding blanks, imports, formatting. Scan diff content; `~` because approximate.
|
||||||
|
- **Boundary crossings**: changes spanning more than one top-level module. `0` if single module.
|
||||||
|
- **New public interfaces**: new exports, endpoints, public methods found in the diff. `0` if none.
|
||||||
|
|
||||||
|
Omit any metric you cannot compute rather than guessing.
|
||||||
|
|
||||||
|
### Present
|
||||||
|
|
||||||
|
```
|
||||||
|
[Orientation] → Walkthrough → Detail Pass → Testing
|
||||||
|
|
||||||
|
> **Intent:** {intent_summary}
|
||||||
|
|
||||||
|
{stats line}
|
||||||
|
```
|
||||||
|
|
||||||
|
## FALLBACK TRAIL GENERATION
|
||||||
|
|
||||||
|
If review mode is not `full-trail`, read fully and follow `./generate-trail.md` to build one from the diff. Then return here and continue to NEXT. If trail generation fails (e.g., git unavailable), the original review mode is preserved — step-02 handles this with its non-trail path.
|
||||||
|
|
||||||
|
## NEXT
|
||||||
|
|
||||||
|
Read fully and follow `./step-02-walkthrough.md`
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
# Step 2: Walkthrough
|
||||||
|
|
||||||
|
Display: `Orientation → [Walkthrough] → Detail Pass → Testing`
|
||||||
|
|
||||||
|
## Follow Global Step Rules in SKILL.md
|
||||||
|
|
||||||
|
- Organize by **concern**, not by file. A concern is a cohesive design intent — e.g., "input validation," "state management," "API contract." One file may appear under multiple concerns; one concern may span multiple files.
|
||||||
|
- The walkthrough activates **design judgment**, not correctness checking. Frame each concern as "here's what this change does and why" — the human evaluates whether it's the right approach for the system.
|
||||||
|
|
||||||
|
## BUILD THE WALKTHROUGH
|
||||||
|
|
||||||
|
### Identify Concerns
|
||||||
|
|
||||||
|
**With Suggested Review Order** (`full-trail` mode — the normal path, including when step-01 generated a trail):
|
||||||
|
|
||||||
|
1. Read the Suggested Review Order stops from the spec (or from conversation context if generated by step-01 fallback).
|
||||||
|
2. Resolve each stop to a file in the current repo. Output in `path:line` format per the standing rule.
|
||||||
|
3. Read the diff to understand what each stop actually does.
|
||||||
|
4. Group stops by concern. Stops that share a design intent belong together even if they're in different files. A stop may appear under multiple concerns if it serves multiple purposes.
|
||||||
|
|
||||||
|
**Without Suggested Review Order** (fallback when trail generation failed, e.g., git unavailable):
|
||||||
|
|
||||||
|
1. Get the diff against the appropriate baseline (same rules as step 1).
|
||||||
|
2. Identify concerns by reading the diff for cohesive design intents:
|
||||||
|
- Functional groupings — what user-facing behavior does each cluster of changes support?
|
||||||
|
- Architectural layers — does the change cross boundaries (API → service → data)?
|
||||||
|
- Design decisions — where did the author choose between alternatives?
|
||||||
|
3. For each concern, identify the key code locations as `path:line` stops.
|
||||||
|
|
||||||
|
### Order for Comprehension
|
||||||
|
|
||||||
|
Sequence concerns top-down: start with the highest-level intent (the "what and why"), then drill into supporting implementation. Within each concern, order stops so each one builds on the previous. The reader should never encounter a reference to something they haven't seen yet.
|
||||||
|
|
||||||
|
If the change has a natural entry point (e.g., a new public API, a config change, a UI entry point), lead with it.
|
||||||
|
|
||||||
|
### Write Each Concern
|
||||||
|
|
||||||
|
For each concern, produce:
|
||||||
|
|
||||||
|
1. **Heading** — a short phrase naming the design intent (not a file name, not a module name).
|
||||||
|
2. **Why** — 1–2 sentences: what problem this concern addresses, why this approach was chosen over alternatives. If the spec documents rejected alternatives, reference them here.
|
||||||
|
3. **Stops** — each stop on its own line: `path:line` followed by a brief phrase (not a sentence) describing what this location does for the concern. Keep framing under 15 words per stop.
|
||||||
|
|
||||||
|
Target 2–5 concerns for a typical change. A single-concern change is fine — don't invent groupings. A change with more than 7 concerns is a signal the scope may be too large, but present it anyway.
|
||||||
|
|
||||||
|
## PRESENT
|
||||||
|
|
||||||
|
Output the full walkthrough as a single message with this structure:
|
||||||
|
|
||||||
|
```
|
||||||
|
Orientation → [Walkthrough] → Detail Pass → Testing
|
||||||
|
```
|
||||||
|
|
||||||
|
Then each concern group using this format:
|
||||||
|
|
||||||
|
```
|
||||||
|
### {Concern Heading}
|
||||||
|
|
||||||
|
{Why — 1–2 sentences}
|
||||||
|
|
||||||
|
- `path:line` — {brief framing}
|
||||||
|
- `path:line` — {brief framing}
|
||||||
|
- ...
|
||||||
|
```
|
||||||
|
|
||||||
|
End the message with:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
Take your time — click through the stops, read the diff, trace the logic. While you are reviewing, you can:
|
||||||
|
- "run advanced elicitation on the error handling"
|
||||||
|
- "party mode on whether this schema migration is safe"
|
||||||
|
- or just ask anything
|
||||||
|
|
||||||
|
When you're ready, say **next** and I'll surface the highest-risk spots.
|
||||||
|
```
|
||||||
|
|
||||||
|
## EARLY EXIT
|
||||||
|
|
||||||
|
If at any point the human signals they want to make a decision about this {change_type} (e.g., "let's ship it", "this needs a rethink", "I'm done reviewing", or anything suggesting they're ready to decide), confirm their intent:
|
||||||
|
|
||||||
|
- If they want to **approve and ship** → read fully and follow `./step-05-wrapup.md`
|
||||||
|
- If they want to **reject and rework** → read fully and follow `./step-05-wrapup.md`
|
||||||
|
- If you misread them → acknowledge and continue the current step.
|
||||||
|
|
||||||
|
## NEXT
|
||||||
|
|
||||||
|
Default: read fully and follow `./step-03-detail-pass.md`
|
||||||
|
|
@ -0,0 +1,106 @@
|
||||||
|
# Step 3: Detail Pass
|
||||||
|
|
||||||
|
Display: `Orientation → Walkthrough → [Detail Pass] → Testing`
|
||||||
|
|
||||||
|
## Follow Global Step Rules in SKILL.md
|
||||||
|
|
||||||
|
- The detail pass surfaces what the human should **think about**, not what the code got wrong. Machine hardening already handled correctness. This activates risk awareness.
|
||||||
|
- The LLM detects risk category by pattern. The human judges significance. Do not assign severity scores or numeric rankings — ordering by blast radius (below) is sequencing for readability, not a severity judgment.
|
||||||
|
- If no high-risk spots exist, say so explicitly. Do not invent findings.
|
||||||
|
|
||||||
|
## IDENTIFY RISK SPOTS
|
||||||
|
|
||||||
|
Scan the diff for changes touching risk-sensitive patterns. Look for 2–5 spots where a mistake would have the highest blast radius — not the most complex code, but the code where being wrong costs the most.
|
||||||
|
|
||||||
|
Risk categories to detect:
|
||||||
|
|
||||||
|
- `[auth]` — authentication, authorization, session, token, permission, access control
|
||||||
|
- `[public API]` — new/changed endpoints, exports, public methods, interface contracts
|
||||||
|
- `[schema]` — database migrations, schema changes, data model modifications, serialization
|
||||||
|
- `[billing]` — payment, pricing, subscription, metering, usage tracking
|
||||||
|
- `[infra]` — deployment, CI/CD, environment variables, config files, infrastructure
|
||||||
|
- `[security]` — input validation, sanitization, crypto, secrets, CORS, CSP
|
||||||
|
- `[config]` — feature flags, environment-dependent behavior, defaults
|
||||||
|
- `[other]` — anything risk-sensitive that doesn't fit the above (e.g., concurrency, data privacy, backwards compatibility). Use a descriptive tag.
|
||||||
|
|
||||||
|
Sequence spots so the highest blast radius comes first (how much breaks if this is wrong), not by diff order or file order. If more than 5 spots qualify, show the top 5 and note: "N additional spots omitted — ask if you want the full list."
|
||||||
|
|
||||||
|
If the change has no spots matching these patterns, state: "No high-risk spots found in this change — the diff speaks for itself." Do not force findings.
|
||||||
|
|
||||||
|
## SURFACE MACHINE HARDENING FINDINGS
|
||||||
|
|
||||||
|
Check whether the spec has a `## Spec Change Log` section with entries (populated by adversarial review loops).
|
||||||
|
|
||||||
|
- **If entries exist:** Read them. Surface findings that are instructive for the human reviewer — not bugs that were already fixed, but decisions the review loop flagged that the human should be aware of. Format: brief summary of what was flagged and what was decided.
|
||||||
|
- **If no entries or no spec:** Skip this section entirely. Do not mention it.
|
||||||
|
|
||||||
|
## PRESENT
|
||||||
|
|
||||||
|
Output as a single message:
|
||||||
|
|
||||||
|
```
|
||||||
|
Orientation → Walkthrough → [Detail Pass] → Testing
|
||||||
|
```
|
||||||
|
|
||||||
|
### Risk Spots
|
||||||
|
|
||||||
|
For each spot, one line:
|
||||||
|
|
||||||
|
```
|
||||||
|
- `path:line` — [tag] reason-phrase
|
||||||
|
```
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
- `src/auth/middleware.ts:42` — [auth] New token validation bypasses rate limiter
|
||||||
|
- `migrations/003_add_index.sql:7` — [schema] Index on high-write table, check lock behavior
|
||||||
|
- `api/routes/billing.ts:118` — [billing] Metering calculation changed, verify idempotency
|
||||||
|
```
|
||||||
|
|
||||||
|
### Machine Hardening (only if findings exist)
|
||||||
|
|
||||||
|
```
|
||||||
|
### Machine Hardening
|
||||||
|
|
||||||
|
- Finding summary — what was flagged, what was decided
|
||||||
|
- ...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Closing menu
|
||||||
|
|
||||||
|
End the message with:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
You've seen the design and the risk landscape. From here:
|
||||||
|
- **"dig into [area]"** — I'll deep-dive that specific area with correctness focus
|
||||||
|
- **"next"** — I'll suggest how to observe the behavior
|
||||||
|
```
|
||||||
|
|
||||||
|
## EARLY EXIT
|
||||||
|
|
||||||
|
If at any point the human signals they want to make a decision about this {change_type} (e.g., "let's ship it", "this needs a rethink", "I'm done reviewing", or anything suggesting they're ready to decide), confirm their intent:
|
||||||
|
|
||||||
|
- If they want to **approve and ship** → read fully and follow `./step-05-wrapup.md`
|
||||||
|
- If they want to **reject and rework** → read fully and follow `./step-05-wrapup.md`
|
||||||
|
- If you misread them → acknowledge and continue the current step.
|
||||||
|
|
||||||
|
## TARGETED RE-REVIEW
|
||||||
|
|
||||||
|
When the human says "dig into [area]" (e.g., "dig into the auth changes", "dig into the schema migration"):
|
||||||
|
|
||||||
|
1. If the specified area does not map to any code in the diff, say so: "I don't see [area] in this change — did you mean something else?" Return to the closing menu.
|
||||||
|
2. Identify all code locations in the diff relevant to the specified area.
|
||||||
|
3. Read each location in full context (not just the diff hunk — read surrounding code).
|
||||||
|
4. Shift to **correctness mode**: trace edge cases, check boundary conditions, verify error handling, look for off-by-one errors, race conditions, resource leaks.
|
||||||
|
5. Present findings as a compact list — each finding is `path:line` + what you found + why it matters.
|
||||||
|
6. If nothing concerning is found, say so: "Looked closely at [area] — nothing concerning. The implementation is solid."
|
||||||
|
7. After presenting, show only the closing menu (not the full risk spots list again).
|
||||||
|
|
||||||
|
The human can trigger multiple targeted re-reviews. Each time, present new findings and the closing menu only.
|
||||||
|
|
||||||
|
## NEXT
|
||||||
|
|
||||||
|
Read fully and follow `./step-04-testing.md`
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
# Step 4: Testing
|
||||||
|
|
||||||
|
Display: `Orientation → Walkthrough → Detail Pass → [Testing]`
|
||||||
|
|
||||||
|
## Follow Global Step Rules in SKILL.md
|
||||||
|
|
||||||
|
- This is **experiential**, not analytical. The detail pass asked "did you think about X?" — this says "you could see X with your own eyes."
|
||||||
|
- Do not prescribe. The human decides whether observing the behavior is worth their time. Frame suggestions as options, not obligations.
|
||||||
|
- Do not duplicate CI, test suites, or automated checks. Assume those exist and work. This is about manual observation — the kind of confidence-building no automated test provides.
|
||||||
|
- If the change has no user-visible behavior, say so explicitly. Do not invent observations.
|
||||||
|
|
||||||
|
## IDENTIFY OBSERVABLE BEHAVIOR
|
||||||
|
|
||||||
|
Scan the diff and spec for changes that produce behavior a human could directly observe. Categories to look for:
|
||||||
|
|
||||||
|
- **UI changes** — new screens, modified layouts, changed interactions, error states
|
||||||
|
- **CLI/terminal output** — new commands, changed output, new flags or options
|
||||||
|
- **API responses** — new endpoints, changed payloads, different status codes
|
||||||
|
- **State changes** — database records, file system artifacts, config effects
|
||||||
|
- **Error paths** — bad input, missing dependencies, edge conditions
|
||||||
|
|
||||||
|
For each observable behavior, determine:
|
||||||
|
|
||||||
|
1. **What to do** — the specific action (command to run, button to click, request to send)
|
||||||
|
2. **What to expect** — the observable result that confirms the change works
|
||||||
|
3. **Why bother** — one phrase connecting this observation to the change's intent (omit if obvious from context)
|
||||||
|
|
||||||
|
Target 2–5 suggestions for a typical change. If more than 5 qualify, prioritize by how much confidence the observation provides relative to effort. A change with zero observable behavior is fine — do not pad with trivial observations.
|
||||||
|
|
||||||
|
## PRESENT
|
||||||
|
|
||||||
|
Output as a single message:
|
||||||
|
|
||||||
|
```
|
||||||
|
Orientation → Walkthrough → Detail Pass → [Testing]
|
||||||
|
```
|
||||||
|
|
||||||
|
Then the testing suggestions using this format:
|
||||||
|
|
||||||
|
```
|
||||||
|
### How to See It Working
|
||||||
|
|
||||||
|
**{Brief description}**
|
||||||
|
Do: {specific action}
|
||||||
|
Expect: {observable result}
|
||||||
|
|
||||||
|
**{Brief description}**
|
||||||
|
Do: {specific action}
|
||||||
|
Expect: {observable result}
|
||||||
|
```
|
||||||
|
|
||||||
|
Include code blocks for commands or requests where helpful.
|
||||||
|
|
||||||
|
If the change has no observable behavior, replace the suggestions with:
|
||||||
|
|
||||||
|
```
|
||||||
|
### How to See It Working
|
||||||
|
|
||||||
|
This change is internal — no user-visible behavior to observe. The diff and tests tell the full story.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Closing
|
||||||
|
|
||||||
|
End the message with:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
You've seen the change and how to verify it. When you're ready to make a call, just say so.
|
||||||
|
```
|
||||||
|
|
||||||
|
## NEXT
|
||||||
|
|
||||||
|
When the human signals they're ready to make a decision about this {change_type}, read fully and follow `./step-05-wrapup.md`
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Step 5: Wrap-Up
|
||||||
|
|
||||||
|
Display: `Orientation → Walkthrough → Detail Pass → Testing → [Wrap-Up]`
|
||||||
|
|
||||||
|
## Follow Global Step Rules in SKILL.md
|
||||||
|
|
||||||
|
## PROMPT FOR DECISION
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
Review complete. What's the call on this {change_type}?
|
||||||
|
- **Approve** — ship it (I can help with interactive patching first if needed)
|
||||||
|
- **Rework** — back to the drawing board (revert, revise the spec, try a different approach)
|
||||||
|
- **Discuss** — something's still on your mind
|
||||||
|
```
|
||||||
|
|
||||||
|
## ACT ON DECISION
|
||||||
|
|
||||||
|
- **Approve**: Acknowledge briefly. If the human wants to patch something before shipping, help apply the fix interactively. If reviewing a PR, offer to approve via `gh pr review --approve` — but confirm with the human before executing, since this is a visible action on a shared resource.
|
||||||
|
- **Rework**: Ask what went wrong — was it the approach, the spec, or the implementation? Help the human decide on next steps (revert commit, open an issue, revise the spec, etc.). Help draft specific, actionable feedback tied to `path:line` locations if the change is a PR from someone else.
|
||||||
|
- **Discuss**: Open conversation — answer questions, explore concerns, dig into any aspect. After discussion, return to the decision prompt above.
|
||||||
|
|
@ -27,5 +27,6 @@ BMad Method,bmad-create-story,Create Story,CS,"Story cycle start: Prepare first
|
||||||
BMad Method,bmad-create-story,Validate Story,VS,Validates story readiness and completeness before development work begins.,validate,,4-implementation,bmad-create-story:create,bmad-dev-story,false,implementation_artifacts,story validation report
|
BMad Method,bmad-create-story,Validate Story,VS,Validates story readiness and completeness before development work begins.,validate,,4-implementation,bmad-create-story:create,bmad-dev-story,false,implementation_artifacts,story validation report
|
||||||
BMad Method,bmad-dev-story,Dev Story,DS,Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed.,,4-implementation,bmad-create-story:validate,,true,,
|
BMad Method,bmad-dev-story,Dev Story,DS,Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed.,,4-implementation,bmad-create-story:validate,,true,,
|
||||||
BMad Method,bmad-code-review,Code Review,CR,Story cycle: If issues back to DS if approved then next CS or ER if epic complete.,,4-implementation,bmad-dev-story,,false,,
|
BMad Method,bmad-code-review,Code Review,CR,Story cycle: If issues back to DS if approved then next CS or ER if epic complete.,,4-implementation,bmad-dev-story,,false,,
|
||||||
|
BMad Method,bmad-checkpoint-preview,Checkpoint,CK,Guided walkthrough of a change from purpose and context into details. Use for human review of commits branches or PRs.,,4-implementation,,,false,,
|
||||||
BMad Method,bmad-qa-generate-e2e-tests,QA Automation Test,QA,Generate automated API and E2E tests for implemented code. NOT for code review or story validation — use CR for that.,,4-implementation,bmad-dev-story,,false,implementation_artifacts,test suite
|
BMad Method,bmad-qa-generate-e2e-tests,QA Automation Test,QA,Generate automated API and E2E tests for implemented code. NOT for code review or story validation — use CR for that.,,4-implementation,bmad-dev-story,,false,implementation_artifacts,test suite
|
||||||
BMad Method,bmad-retrospective,Retrospective,ER,Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC.,,4-implementation,bmad-code-review,,false,implementation_artifacts,retrospective
|
BMad Method,bmad-retrospective,Retrospective,ER,Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC.,,4-implementation,bmad-code-review,,false,implementation_artifacts,retrospective
|
||||||
|
|
|
||||||
|
Can't render this file because it has a wrong number of fields in line 2.
|
Binary file not shown.
|
After Width: | Height: | Size: 244 KiB |
|
|
@ -95,7 +95,7 @@
|
||||||
.agent-icon.winston { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
|
.agent-icon.winston { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
|
||||||
.agent-icon.bob { background: linear-gradient(135deg, #34d399, #10b981); color: #000; }
|
.agent-icon.bob { background: linear-gradient(135deg, #34d399, #10b981); color: #000; }
|
||||||
.agent-icon.amelia { background: linear-gradient(135deg, #fb7185, #ef4444); }
|
.agent-icon.amelia { background: linear-gradient(135deg, #fb7185, #ef4444); }
|
||||||
.agent-icon.barry { background: linear-gradient(135deg, #94a3b8, #64748b); }
|
|
||||||
.agent-name { font-size: 0.65rem; }
|
.agent-name { font-size: 0.65rem; }
|
||||||
.output { color: var(--success); font-family: monospace; font-size: 0.6rem; }
|
.output { color: var(--success); font-family: monospace; font-size: 0.6rem; }
|
||||||
.badge { font-size: 0.55rem; padding: 1px 4px; border-radius: 3px; }
|
.badge { font-size: 0.55rem; padding: 1px 4px; border-radius: 3px; }
|
||||||
|
|
@ -326,7 +326,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="quickflow-body">
|
<div class="quickflow-body">
|
||||||
<div class="quickflow-item">
|
<div class="quickflow-item">
|
||||||
<div class="agent"><div class="agent-icon barry">B</div><span class="agent-name">Barry</span></div>
|
<div class="agent"><div class="agent-icon amelia">A</div><span class="agent-name">Amelia</span></div>
|
||||||
<code>quick-dev</code>
|
<code>quick-dev</code>
|
||||||
<div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">intention → spec technique → code fonctionnel</div>
|
<div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">intention → spec technique → code fonctionnel</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
.agent-icon.winston { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
|
.agent-icon.winston { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
|
||||||
.agent-icon.bob { background: linear-gradient(135deg, #34d399, #10b981); color: #000; }
|
.agent-icon.bob { background: linear-gradient(135deg, #34d399, #10b981); color: #000; }
|
||||||
.agent-icon.amelia { background: linear-gradient(135deg, #fb7185, #ef4444); }
|
.agent-icon.amelia { background: linear-gradient(135deg, #fb7185, #ef4444); }
|
||||||
.agent-icon.barry { background: linear-gradient(135deg, #94a3b8, #64748b); }
|
|
||||||
.agent-name { font-size: 0.65rem; }
|
.agent-name { font-size: 0.65rem; }
|
||||||
.output { color: var(--success); font-family: monospace; font-size: 0.6rem; }
|
.output { color: var(--success); font-family: monospace; font-size: 0.6rem; }
|
||||||
.badge { font-size: 0.55rem; padding: 1px 4px; border-radius: 3px; }
|
.badge { font-size: 0.55rem; padding: 1px 4px; border-radius: 3px; }
|
||||||
|
|
@ -337,7 +337,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="quickflow-body">
|
<div class="quickflow-body">
|
||||||
<div class="quickflow-item">
|
<div class="quickflow-item">
|
||||||
<div class="agent"><div class="agent-icon barry">B</div><span class="agent-name">Barry</span></div>
|
<div class="agent"><div class="agent-icon amelia">A</div><span class="agent-name">Amelia</span></div>
|
||||||
<code>quick-dev</code>
|
<code>quick-dev</code>
|
||||||
<div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">intent → tech-spec → working code</div>
|
<div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">intent → tech-spec → working code</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue