src/bmm-skills/4-implementation/bmad-checkpoint-preview/step-01-orientation.md
Display: [Orientation] → Walkthrough → Detail Pass → Testing
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:
Explicit argument Did the user pass a PR, commit SHA, branch, or spec file this message?
gh pr view. If resolution fails, ask for a SHA or branch.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.
Sprint tracking
Check for a sprint status file (*sprint-status*) in {implementation_artifacts} or {planning_artifacts}. If found, scan for stories with status review:
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?"
Ask If none of the above identified a change, ask:
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.
Once a change is identified from any source above, fill in the complementary artifact:
baseline_commit in its frontmatter to determine the diff baseline.{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).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:
full-trail — ENRICH found a spec with a ## Suggested Review Order section. Intent source: spec's Intent section.spec-only — ENRICH found a spec but it has no Suggested Review Order. Intent source: spec's Intent section.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.> **Intent:** {summary}Best-effort stats derived from the diff. Try these baselines in order:
baseline_commit from the spec's frontmatter.main (or the default branch).HEAD~1..HEAD (latest commit only — tell the user).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
git diff --stat.--stat file paths).~ because approximate.0 if single module.0 if none.Omit any metric you cannot compute rather than guessing.
[Orientation] → Walkthrough → Detail Pass → Testing
> **Intent:** {intent_summary}
{stats line}
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.
Read fully and follow ./step-02-walkthrough.md