Skip to content

Sync/upstream bmad method v6.3.0#21

Merged
sjennings merged 13 commits intomainfrom
sync/upstream-bmad-method-v6.3.0
Apr 15, 2026
Merged

Sync/upstream bmad method v6.3.0#21
sjennings merged 13 commits intomainfrom
sync/upstream-bmad-method-v6.3.0

Conversation

@sjennings
Copy link
Copy Markdown
Collaborator

@sjennings sjennings commented Apr 15, 2026

Merge latest changes

Summary by CodeRabbit

Release Notes

  • New Features

    • Added structured PRD and GDD workflows with separate create, edit, and validate skills.
    • Enhanced code review with multi-layer adversarial review and automated triage.
    • Improved quick-dev workflow with hardened clarify→plan→implement→review→present flow.
  • Changes

    • Consolidated separate QA and Scrum Master capabilities into the primary developer agent.
    • Removed experimental quick-dev preview and quick-spec workflows.
    • Updated production-phase workflows with refined execution models.
  • Version

    • Bumped to v0.3.0.

sjennings and others added 10 commits April 14, 2026 18:06
Captures decisions, phased execution plan, and verification checkpoints
for syncing bmad-module-game-dev-studio against BMAD-METHOD@main (6b964acd).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…new-preview

Replaces divergent gds-quick-dev (mode-detection/context-gathering/execute
style) with a 1:1 port of upstream bmad-quick-dev — the hardened
clarify/plan/implement/review/present flow plus step-oneshot variant.

Removes gds-quick-spec (absorbed into step-02-plan of the new quick-dev)
and gds-quick-dev-new-preview (superseded by the ported implementation).

Adaptations to upstream:
- main_config uses game-dev {module_config} variable (vs upstream's
  hardcoded _bmad/bmm path)
- step-02 editor note references gds-code-review (game-dev's local skill)
  instead of bmad-code-review
- bmad-advanced-elicitation, bmad-party-mode, bmad-review-adversarial-general,
  and bmad-review-edge-case-hunter remain unchanged (core skills installed
  alongside via bmad core)

Also updates gds-agent-game-solo-dev capability table and module-help.csv
to drop TS/QQ entries and point QD at the new unified workflow.

Part of SYNC-PLAN.md Phase 1.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Splits the consolidated create-prd/ directory (containing
workflow-create-prd.md, workflow-edit-prd.md, workflow-validate-prd.md
with shared data/, steps-c/, steps-e/, steps-v/) into three independent
skill directories mirroring upstream bmad-create-prd, bmad-edit-prd,
and bmad-validate-prd:

  src/workflows/2-design/gds-create-prd/
  src/workflows/2-design/gds-edit-prd/
  src/workflows/2-design/gds-validate-prd/

Each new directory has its own SKILL.md (with gds-* name), a minimal
bmad-skill-manifest.yaml (type: skill), and a renamed workflow.md.

Cross-skill references updated to use skill-invocation syntax:
- steps-c/step-12-complete.md validationWorkflow -> skill:gds-validate-prd
- steps-e/step-e-04-complete.md validationWorkflow -> skill:gds-validate-prd

data/ distributed per upstream pattern (create + validate need all
three reference files; edit only needs prd-purpose.md). templates/
goes to create-prd only.

Part of SYNC-PLAN.md Phase 2a.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mirrors the PRD split from the prior commit: GDD now lives in three
parallel skill directories.

- gds-create-gdd/ (existing): rename steps/ to steps-c/ for consistency
  with gds-create-prd; update workflow.md nextStep reference; fix name
  frontmatter from "create-gdd" to "gds-create-gdd"
- gds-edit-gdd/ (new): structural placeholder that delegates to gds-edit-prd
  until GDD-specific edit flow is authored
- gds-validate-gdd/ (new): structural placeholder that delegates to
  gds-validate-prd until GDD-specific 13-check validation flow is authored

The delegation approach keeps game-dev's "GDD as PRD by default" pattern
working end-to-end while the split is in place. A TODO.md entry tracks
the GDD-specific step body work required to complete Phase 2b.

module-help.csv registers gds-validate-gdd (code VG) and gds-edit-gdd
(code EG) under the 2-design phase.

Part of SYNC-PLAN.md Phase 2b.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ports substantive content changes from upstream BMAD-METHOD@6b964acd
into the PRD skill family, while preserving game-dev frontmatter and
variable-indirection conventions.

step-08-scoping (gds-create-prd/steps-c/):
- Reframe from MVP/Growth/Vision phasing-by-default to user-chosen
  delivery mode (phased OR single-release)
- Add SCOPE CHANGE CONFIRMATION GATE — block silent de-scoping of
  user-specified requirements
- Add explicit rules against inventing phasing when user didn't request it
- Add dual content templates (phased vs single-release) to the output
- Expand FAILURE MODES with the four CRITICAL scope-confirmation gates
- Add releaseMode frontmatter tag (phased | single-release)

step-11-polish (gds-create-prd/steps-c/):
- Update scope-decisions capture to reflect phased-or-single-release
  framing with consent-critical evidence (confirmations + rationales)

step-e-01, step-e-02, step-e-03 (gds-edit-prd/steps-e/):
- Add `document_output_language` rule: artifacts written in configured
  document output language (vs agent communication language, which is
  separate)

Not ported: upstream's convention drift from variable-indirected
file refs ({nextStepFile}) to direct paths (./file.md), and from
{advancedElicitationTask} vars to "Invoke the ... skill" prose.
Game-dev uses variable indirection throughout — staying consistent
within game-dev outweighs matching upstream style.

Part of SYNC-PLAN.md Phase 2c.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…locate gametest

Mirrors upstream BMAD-METHOD's consolidation of QA and SM agents into
the single Developer agent (commits 48c2324b, 003c979d). Game-dev Phase 4
now runs through one agent — Link Freeman — instead of three.

Agent consolidation:
- Delete src/agents/gds-agent-game-qa/ (GLaDOS)
- Delete src/agents/gds-agent-game-scrum-master/ (Max)
- gds-agent-game-dev/SKILL.md expanded to own all three roles:
  - Kept: DS, CR, QD, QP (core dev)
  - Absorbed from QA: TF, TD, TA, ES, PP, PT, TR (seven gds-test-* skills)
  - Absorbed from SM: SP, SS, CS, ER, CC (sprint + story ceremony)
  - Kept: AE (advanced elicitation)
- Persona stays Link Freeman; Principles + Critical Actions merged from
  all three source agents. Overview explicitly flags the consolidation.

gametest relocation:
- Move src/gametest/ (17 knowledge fragments + qa-index.csv) into
  src/agents/gds-agent-game-dev/gametest/
- Reason: _bmad-output/ is being deprecated as a runtime location; the
  QA knowledge the dev agent uses should live with the dev agent.
- Path refs updated: {module_root}/gametest/* -> {skill_root}/gametest/*
- src/workflows/gametest/gds-test-design/test-design-template.md
  references qa-index.csv — annotated to clarify it's loaded via the
  dev agent from the new location.

Earlier phase 1 commit already cleaned up gds-agent-game-solo-dev's
capability table and module-help.csv — no stale refs remain.

Part of SYNC-PLAN.md Phase 2.5.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ports seven production-phase skills from upstream BMAD-METHOD@6b964acd
to fulfill the "mirror BMAD for Phase 4" directive:

- gds-code-review (adopts upstream's step-file architecture: steps/step-01..04)
- gds-correct-course (upstream workflow + checklist updates)
- gds-create-story (upstream workflow + checklist updates)
- gds-dev-story (upstream workflow updates)
- gds-retrospective (full rewrite from upstream — substantial)
- gds-sprint-planning (upstream workflow updates)
- gds-sprint-status (upstream workflow updates)

Adaptations applied uniformly:
- {project-root}/_bmad/bmm/config.yaml -> {module_config}
- bmad-agent-dev -> gds-agent-game-dev (all story execution refs)
- Phase 4 skill names bmad-* -> gds-* (code-review, sprint-*, etc.)
- Game-dev-specific files (backlog-template.md, sprint-status-template.yaml)
  and language/skill-level tailoring preserved where upstream lacks them.

Part of SYNC-PLAN.md Phase 3.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Captures the four major changes landed in this sync under a single
"Unreleased" section pending a release cut:

- Phase 4 agent consolidation (QA + SM -> dev agent; gametest relocation)
- Quick-dev overhaul (delete old + quick-spec; port upstream bmad-quick-dev)
- PRD + GDD 3-skill split (consolidated create-prd/ -> gds-create-prd,
  gds-edit-prd, gds-validate-prd; GDD gains edit + validate placeholders
  that delegate to PRD counterparts pending GDD-specific step bodies)
- Phase 4 workflow mirror (all seven production-phase skills ported from
  upstream; gds-code-review adopts step-file architecture)

Completes SYNC-PLAN.md Phase 4. No functional code changes in this commit
beyond CHANGELOG — manifests were verified clean, no stale refs to
removed agents or skills remain, and `npm test` passes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- package.json version: 0.2.4 -> 0.3.0 (minor bump reflecting removed
  agents, new skills, and Phase 4 workflow rearchitecture)
- marketplace.json plugin version: 0.2.4 -> 0.3.0
- marketplace.json skills list synced:
  - Removed: gds-agent-game-qa, gds-agent-game-scrum-master,
    gds-quick-dev-new-preview, gds-quick-spec
  - Added: gds-create-prd, gds-edit-prd, gds-validate-prd,
    gds-edit-gdd, gds-validate-gdd
- CHANGELOG "Unreleased" section promoted to "v0.3.0 - Apr 14, 2026"

Completes the upstream BMAD-METHOD v6.3.0 sync.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
User edits softening framing — "Quick-dev update" instead of
"overhaul", collapse the delete/replace narrative into a single
update bullet, note that PRD creation in GDS is optional (external
tool compatibility), and drop the step-08-scoping porting detail
that's already covered by the mirror bullet.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Apr 15, 2026

This pull request is abnormally large and would use a significant amount of tokens to review. If you still wish to review it, comment augment review and we will review it.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 15, 2026

Warning

Rate limit exceeded

@sjennings has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 11 minutes and 54 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 11 minutes and 54 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9d9ed4c9-2865-4eea-9c68-2a0c09dc96e7

📥 Commits

Reviewing files that changed from the base of the PR and between 191eebc and 3982400.

⛔ Files ignored due to path filters (2)
  • src/module-help.csv is excluded by !**/*.csv
  • src/workflows/2-design/gds-validate-gdd/data/genre-complexity.csv is excluded by !**/*.csv
📒 Files selected for processing (36)
  • README.md
  • TODO.md
  • docs/reference/agents.md
  • src/agents/gds-agent-game-dev/SKILL.md
  • src/module.yaml
  • src/workflows/2-design/gds-create-prd/data/prd-purpose.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-12-complete.md
  • src/workflows/2-design/gds-edit-gdd/data/gdd-purpose.md
  • src/workflows/2-design/gds-edit-gdd/steps-e/step-e-01-discovery.md
  • src/workflows/2-design/gds-edit-gdd/steps-e/step-e-01b-legacy-conversion.md
  • src/workflows/2-design/gds-edit-gdd/steps-e/step-e-02-review.md
  • src/workflows/2-design/gds-edit-gdd/steps-e/step-e-03-edit.md
  • src/workflows/2-design/gds-edit-gdd/steps-e/step-e-04-complete.md
  • src/workflows/2-design/gds-edit-gdd/workflow.md
  • src/workflows/2-design/gds-edit-prd/data/prd-purpose.md
  • src/workflows/2-design/gds-validate-gdd/data/gdd-purpose.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-01-discovery.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-02-format-detection.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-02b-parity-check.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-03-density-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-04-brief-coverage-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-05-measurability-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-06-traceability-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-07-implementation-leakage-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-08-genre-compliance-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-09-game-type-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-10-smart-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-11-holistic-quality-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-12-completeness-validation.md
  • src/workflows/2-design/gds-validate-gdd/steps-v/step-v-13-report-complete.md
  • src/workflows/2-design/gds-validate-gdd/workflow.md
  • src/workflows/2-design/gds-validate-prd/data/prd-purpose.md
  • src/workflows/4-production/gds-code-review/steps/step-04-present.md
  • src/workflows/4-production/gds-retrospective/workflow.md
  • src/workflows/4-production/gds-sprint-status/workflow.md
  • src/workflows/gds-quick-flow/gds-quick-dev/workflow.md

Walkthrough

This PR synchronizes bmad-module-game-dev-studio to BMAD-METHOD v6.3.0 by consolidating agents, restructuring workflows into distinct skills, and adopting a hardened step-file architecture. The version is bumped from 0.2.4 to 0.3.0.

Changes

Cohort / File(s) Summary
Version & Manifest
package.json, .claude-plugin/marketplace.json
Version bumped to 0.3.0; plugin skills list updated to remove gds-agent-game-qa and gds-agent-game-scrum-master, add new PRD/GDD workflow skills and update gds-quick-dev.
Agent Consolidation
src/agents/gds-agent-game-dev/SKILL.md, src/agents/gds-agent-game-qa/*, src/agents/gds-agent-game-scrum-master/*, src/agents/gds-agent-game-solo-dev/SKILL.md
QA and Scrum Master agents fully deleted; gds-agent-game-dev expanded to cover story execution, code review, QA/test authorship, and sprint orchestration; solo-dev capabilities refactored.
PRD/GDD Workflow Split
src/workflows/2-design/gds-create-prd/*, src/workflows/2-design/gds-edit-prd/*, src/workflows/2-design/gds-validate-prd/*, src/workflows/2-design/gds-edit-gdd/*, src/workflows/2-design/gds-validate-gdd/*, src/workflows/2-design/gds-create-gdd/*
PRD/GDD workflows refactored into separate skill directories with individual SKILL.md and workflow.md files; GDD edit/validate workflows delegate to PRD counterparts; new prd-purpose.md documentation added; step naming changed to steps-c/, steps-e/, steps-v/.
Quick Dev Restructuring
src/workflows/gds-quick-flow/gds-quick-dev/*, src/workflows/gds-quick-flow/gds-quick-dev-new-preview/*, src/workflows/gds-quick-flow/gds-quick-spec/*
New hardened clarify→plan→implement→review→present architecture with single-step files replacing monolithic steps; old preview and spec workflows deleted; new helper files compile-epic-context.md and sync-sprint-status.md added; includes step-oneshot.md variant.
Production Workflow Updates
src/workflows/4-production/gds-code-review/*, src/workflows/4-production/gds-correct-course/*, src/workflows/4-production/gds-create-story/*, src/workflows/4-production/gds-dev-story/*, src/workflows/4-production/gds-retrospective/*, src/workflows/4-production/gds-sprint-planning/*, src/workflows/4-production/gds-sprint-status/*
Code review refactored with steps/step-01..04 architecture (gather-context, review, triage, present); role references updated from Scrum Master to Developer; workflow configs simplified via {module_config}; sprint workflows streamlined with reference updates.
Documentation & Planning
CHANGELOG.md, SYNC-PLAN.md, TODO.md
New comprehensive SYNC-PLAN defining Phase 4 synchronization strategy; CHANGELOG updated with v0.3.0 entry; TODO updated with GDD-specific step and workflow structure assessment tasks.
Gametest References
src/workflows/gametest/gds-test-design/test-design-template.md
Knowledge base reference path updated to include skill root context ({skill_root}/gametest/qa-index.csv).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

  • feat: add .claude-plugin metadata #9: Updates the same .claude-plugin/marketplace.json manifest by changing plugin version and modifying the skills list, directly related agent and workflow consolidation.

Poem

🐰 Agents unite into one mighty hare,
Workflows now split with methodical care.
Quick-dev steps brightened with hardened design,
PRD and GDD: synchronized shine!
v0.3.0 hops forth to BMAD's new way.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and specifically summarizes the main change: synchronizing the module with upstream BMAD-METHOD v6.3.0, which is the primary objective documented in the PR description and commit messages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sync/upstream-bmad-method-v6.3.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sjennings
Copy link
Copy Markdown
Collaborator Author

This pull request is abnormally large and would use a significant amount of tokens to review. If you still wish to review it, comment augment review and we will review it.

augment review

@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Apr 15, 2026

🤖 Augment PR Summary

Summary: This PR syncs the game-dev-studio module with BMAD-METHOD v6.3.0, bringing major structural and content changes across agents, workflows, and skill definitions.

Changes:

  • Agent consolidation: Merged gds-agent-game-qa (GLaDOS) and gds-agent-game-scrum-master (Max) into gds-agent-game-dev (Link Freeman), now owning QA, sprint, and dev capabilities
  • Gametest relocation: Moved 17 knowledge fragments + qa-index.csv from src/gametest/ to src/agents/gds-agent-game-dev/gametest/
  • Quick-dev overhaul: Replaced old gds-quick-dev and deleted gds-quick-spec + gds-quick-dev-new-preview with a new upstream-aligned clarify→plan→implement→review→present flow
  • PRD 3-skill split: Broke consolidated create-prd/ into independent gds-create-prd, gds-edit-prd, and gds-validate-prd skill dirs
  • GDD 3-skill split: Added gds-edit-gdd and gds-validate-gdd as structural placeholders delegating to PRD counterparts; renamed steps/ to steps-c/
  • Code review rewrite: Adopted upstream's step-file architecture with parallel adversarial review layers (Blind Hunter, Edge Case Hunter, Acceptance Auditor)
  • Production workflow updates: Rewrote Scrum Master references to Developer across sprint-planning, sprint-status, retrospective, correct-course, and create-story workflows

Technical Notes: Version bumped to 0.3.0. The retrospective workflow changed its input from GDD/narrative to PRD, which may be incorrect for this GDD-centric module. docs/reference/agents.md still references the now-deleted QA and Scrum Master agents. The module.yaml module_version was not updated from 0.2.0 to match.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 4 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread src/agents/gds-agent-game-dev/SKILL.md Outdated
| DS | Execute Dev Story workflow, implementing tasks and tests | gds-dev-story |
| CR | Perform a thorough clean-context QA code review on a story flagged Ready for Review | gds-code-review |
| QD | Clarify, plan, implement, review, and present any intent end-to-end | gds-quick-dev |
| QP | Rapid game prototyping — test mechanics and ideas quickly | bmad-gds-quick-prototype |
Copy link
Copy Markdown

@augmentcode augmentcode bot Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The skill name bmad-gds-quick-prototype does not match the actual registered skill name. The solo-dev agent and game designer agent both reference it as gds-quick-prototype, and module-help.csv also uses bmad-gds-quick-prototype. One of these is wrong — consider verifying against the actual bmad-skill-manifest.yaml for the quick-prototype skill to ensure consistency.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

- `party_mode_exec` = `skill:bmad-party-mode`
- `advanced_elicitation` = `skill:bmad-advanced-elicitation`
- `project_name`, `planning_artifacts`, `implementation_artifacts`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level`
Copy link
Copy Markdown

@augmentcode augmentcode bot Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The config variable user_skill_level does not exist in src/module.yaml — the actual variable name is game_dev_experience. All other workflows in this PR (code-review, retrospective, create-story, dev-story, etc.) correctly use game_dev_experience. This will result in an unresolved variable at runtime.

Severity: high

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

| architecture | System architecture for context | whole: `{planning_artifacts}/*architecture*.md`, sharded: `{planning_artifacts}/*architecture*/*.md` | FULL_LOAD |
| gdd | Game Design Document for context | whole: `{planning_artifacts}/*gdd*.md`, sharded: `{planning_artifacts}/*gdd*/*.md` | FULL_LOAD |
| narrative | Narrative design for context (optional) | whole: `{planning_artifacts}/*narrative*.md`, sharded: `{planning_artifacts}/*narrative*/*.md` | FULL_LOAD |
| prd | Product requirements for context | whole: `{planning_artifacts}/*prd*.md`, sharded: `{planning_artifacts}/*prd*/*.md` | FULL_LOAD |
Copy link
Copy Markdown

@augmentcode augmentcode bot Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The input file was changed from gdd (Game Design Document) + narrative to prd (Product Requirements Document). However, in the GDS module the GDD is the primary design document — PRD is explicitly optional (the gds-create-prd description says "Optional"). This looks like an upstream PRD-centric reference that wasn't adapted to GDS's GDD-centric workflow. The retrospective will now fail to load the GDD for context, which is the document most GDS projects will actually have.

Severity: high

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@@ -0,0 +1,197 @@
# BMAD PRD Purpose

**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.**
Copy link
Copy Markdown

@augmentcode augmentcode bot Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "in rhw BMad Method" should be "in the BMad Method". This is user-facing reference content loaded during PRD editing workflows.

Severity: low

Other Locations
  • src/workflows/2-design/gds-validate-prd/data/prd-purpose.md:3

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🧹 Nitpick comments (9)
src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md (2)

19-23: Token limit enforcement creates a hard checkpoint for scope control.

The 1600-token threshold with mandatory user decision ([S] Split or [K] Keep) is a thoughtful safeguard against context rot. The split behavior correctly:

  • Proposes the split and names secondary goals
  • Appends deferred goals to {deferred_work_file}
  • Regenerates the spec for narrowed scope (not surgical carving)

However, the instruction "do not surgically carve sections out; regenerate the spec for the narrowed scope" on line 22 is crucial but could be missed. Consider making it more prominent or adding a verification step after regeneration to ensure the spec truly covers only the main goal.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md` around lines 19 -
23, Emphasize and enforce the "do not surgically carve sections out; regenerate
the spec for the narrowed scope" rule by adding a verification checkpoint after
regeneration: when handling the Token count branch in step-02-plan (the
1600-token check and the `[S] Split` flow), require the agent that regenerates
the spec for the main goal (the regenerated spec routine) to run a concise
scope-validation step that compares the regenerated spec against the original to
confirm only the main goal is retained (list named secondary goals appended to
`{deferred_work_file}`) and flag any remaining secondary content for
re-regeneration before continuing to checkpoint; make this verification explicit
in the `[S] Split` instructions and ensure the phrase about not surgically
carving is highlighted as a required invariant for the regeneration routine.

1-3: Missing spec_file variable definition in frontmatter.

The frontmatter only defines deferred_work_file, but the workflow heavily uses {spec_file} throughout (lines 14, 16, 27, 39-41, etc.). According to the context snippets, spec_file is initialized by step-01-clarify-and-route.md before routing to this step, but it's not declared here.

While the variable may be inherited from the calling context, explicitly declaring it in this step's frontmatter improves clarity and prevents issues if the step is invoked incorrectly:

📋 Proposed fix to add spec_file to frontmatter
 ---
 deferred_work_file: '{implementation_artifacts}/deferred-work.md'
+spec_file: '' # set by step-01 before routing here
 ---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md` around lines 1 -
3, Add an explicit spec_file frontmatter variable to this step so templates
referencing {spec_file} resolve correctly; update the frontmatter in
step-02-plan.md to include a spec_file key (the same variable that
step-01-clarify-and-route.md initializes) and ensure its placeholder name
matches usages throughout the file (e.g., references on lines that use
{spec_file}) so the step can be executed standalone without relying on implicit
inheritance.
src/workflows/4-production/gds-sprint-planning/SKILL.md (1)

3-3: Consider broadening the skill description to include planning output, not only tracking.

Line 3 currently reads as status-tracking-first, which may underrepresent the planning function of this workflow.

Proposed wording tweak
-description: 'Generate sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan"'
+description: 'Generate a sprint plan and sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan"'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/4-production/gds-sprint-planning/SKILL.md` at line 3, The
SKILL.md description is too narrowly focused on status tracking; update the
description in SKILL.md (the description field) to mention both sprint planning
output and status tracking so the workflow reflects planning purpose as well as
tracking (e.g., change wording to reference generating sprint plans, backlog
prioritization, and status tracking from epics). Ensure the description remains
concise and includes trigger phrases like "run sprint planning" or "generate
sprint plan" if present.
src/workflows/2-design/gds-edit-prd/steps-e/step-e-04-complete.md (1)

7-7: Use the declared validationWorkflow variable at invocation time to avoid config drift.

Line 7 defines a reusable workflow reference, but Line 123 bypasses it with a hardcoded skill name.

Proposed fix
-  - Invoke the `gds-validate-prd` skill — it will run its complete 13-step validation process on the updated PRD
+  - Invoke `{validationWorkflow}` — it will run its complete 13-step validation process on the updated PRD

Also applies to: 123-123

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/2-design/gds-edit-prd/steps-e/step-e-04-complete.md` at line 7,
The workflow declares validationWorkflow: 'skill:gds-validate-prd' but the
invocation still uses the hardcoded skill name; update the invocation that
currently calls 'skill:gds-validate-prd' (the call around the step that
references the validator at Line 123) to reference the validationWorkflow
variable instead (e.g., use the validationWorkflow identifier where the skill
name is passed) so the reusable variable is actually used and prevents config
drift.
src/workflows/2-design/gds-validate-prd/data/prd-purpose.md (1)

1-197: Consider consolidating duplicate prd-purpose.md files

This file is identical to src/workflows/2-design/gds-edit-prd/data/prd-purpose.md. While the duplication may be intentional to keep each skill self-contained, it creates a maintenance burden where any future updates must be synchronized across both locations.

Consider one of these approaches:

  • Use a symbolic link if the build/deployment system supports it
  • Add a comment noting the duplication and referencing the canonical source
  • Document in the README that these files must be kept in sync
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/2-design/gds-validate-prd/data/prd-purpose.md` around lines 1 -
197, The file prd-purpose.md is duplicated (identical to the one under
gds-edit-prd); remove the maintenance burden by choosing one canonical source
and making the other reference it: either replace the duplicate with a symbolic
link to the canonical prd-purpose.md, or leave the duplicate but add a
top-of-file comment in each prd-purpose.md pointing to the canonical file and
update the repo README to document that these two files must be kept in sync;
update CI/docs to validate duplication policy if available.
src/workflows/4-production/gds-code-review/steps/step-04-present.md (1)

94-106: Consider reusing the shared sprint sync sub-step to avoid behavior drift.

This section re-implements sprint-status updates inline, while src/workflows/gds-quick-flow/gds-quick-dev/sync-sprint-status.md already defines idempotency and non-regression rules. Duplicated logic will likely diverge over time.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/4-production/gds-code-review/steps/step-04-present.md` around
lines 94 - 106, Replace the inline "Sync sprint-status" subsection in
step-04-present.md with a call to the existing shared sub-step defined in
sync-sprint-status.md to avoid duplicated logic; remove the ad-hoc
load/update/save steps and instead invoke the shared sync procedure so
idempotency and non-regression rules (as implemented in the shared sub-step) are
preserved; ensure the subsection still documents skip behavior when {story_key}
is absent and retains the same user-facing messages for "file missing" and
"story not found" cases by forwarding parameters (story_key, sprint_status path,
new_status) to the shared sub-step.
src/workflows/gds-quick-flow/gds-quick-dev/step-oneshot.md (2)

53-53: Clarify path variable derivation and fix punctuation.

Line 53 has two clarity issues:

  1. The em-dash (—) in the git comment may render inconsistently across terminals and editors. Use a standard double-hyphen (--) or parenthetical instead.
  2. The variables {absolute-root} and {absolute-spec-file} appear without explicit definition. While the intent is clear from context (derive from git command output and {spec_file}), explicitly stating the derivation would prevent confusion.
📝 Proposed clarification
-1. Open the spec in the user's editor so they can click through the Suggested Review Order:
-   - Resolve two absolute paths: (1) the repository root (`git rev-parse --show-toplevel` — returns the worktree root when in a worktree, project root otherwise; if this fails, fall back to the current working directory), (2) `{spec_file}`. Run `code -r "{absolute-root}" "{absolute-spec-file}"` — the root first so VS Code opens in the right context, then the spec file. Always double-quote paths to handle spaces and special characters.
+1. Open the spec in the user's editor so they can click through the Suggested Review Order:
+   - Resolve two absolute paths: (1) Set `{absolute-root}` = repository root via `git rev-parse --show-toplevel` (returns the worktree root when in a worktree, project root otherwise; if this fails, fall back to the current working directory). (2) Set `{absolute-spec-file}` = the absolute path to `{spec_file}`. Run `code -r "{absolute-root}" "{absolute-spec-file}"` -- the root first so VS Code opens in the right context, then the spec file. Always double-quote paths to handle spaces and special characters.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-oneshot.md` at line 53,
Replace the em-dash in the git comment with a standard double-hyphen or
parentheses and explicitly define how the two path variables are derived: set
{absolute-root} to the output of git rev-parse --show-toplevel (fall back to the
current working directory if that command fails) and set {absolute-spec-file} to
the absolute path of {spec_file} (resolved relative to the current working
directory or the repo root as appropriate); then instruct to run code -r
"{absolute-root}" "{absolute-spec-file}" with both paths double-quoted to handle
spaces/special characters.

22-22: Break down the complex subagent invocation instruction.

The sentence spanning line 22 is long and contains multiple instructions: subagent invocation parameters, context isolation rationale, model capability matching, and fallback behavior. This could lead to implementation errors or misinterpretation.

✂️ Proposed refactor for improved clarity
-Invoke the `bmad-review-adversarial-general` skill in a subagent with the changed files. The subagent gets NO conversation context — to avoid anchoring bias. Launch at the same model capability as the current session. If no sub-agents are available, write the changed files to a review prompt file in `{implementation_artifacts}` and HALT. Ask the human to run the review in a separate session and paste back the findings.
+Invoke the `bmad-review-adversarial-general` skill in a subagent with the changed files:
+
+- The subagent gets NO conversation context (to avoid anchoring bias).
+- Launch at the same model capability as the current session.
+- **Fallback:** If sub-agents are unavailable, write the changed files to a review prompt file in `{implementation_artifacts}` and HALT. Ask the human to run the review in a separate session and paste back the findings.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-oneshot.md` at line 22, The
long instruction invoking the bmad-review-adversarial-general subagent is
overloaded and should be split into clear, ordered steps: (1) state "Invoke the
bmad-review-adversarial-general skill in a new subagent" as the action, (2)
explicitly list invocation parameters — "provide only the changed files, pass NO
conversation context, and set the subagent model capability equal to the current
session's capability", (3) add a separate sentence explaining the rationale for
"NO conversation context" (avoid anchoring bias), and (4) describe the fallback
behavior in its own sentence: "If no sub-agents are available, write the changed
files to a review prompt file in {implementation_artifacts} and HALT, then ask
the user to run the review in a separate session and paste back findings."
Ensure each requirement is atomic and in the same order as execution to avoid
misinterpretation of subagent invocation, context handling, capability matching,
and fallback.
src/workflows/gds-quick-flow/gds-quick-dev/step-01-clarify-and-route.md (1)

57-59: Clarify the "no file in planning_artifacts is newer" validation.

Line 57 states a cached epic context is valid when "no file in {planning_artifacts} is newer." This freshness check requires comparing file modification times, but the instruction doesn't specify:

  1. Whether "newer" means mtime, ctime, or birthtime
  2. How to handle newly added planning files that didn't exist when the cache was created
  3. What to do if the timestamp comparison fails (e.g., filesystem doesn't support reliable timestamps)

Consider adding explicit guidance for edge cases to ensure consistent cache invalidation behavior.

📋 Proposed clarification
-     2. **Check for a valid cached epic context.** Look for `{implementation_artifacts}/epic-<N>-context.md` (where `<N>` is the epic number). A file is **valid** when it exists, is non-empty, starts with `# Epic <N> Context:` (with the correct epic number), and no file in `{planning_artifacts}` is newer.
+     2. **Check for a valid cached epic context.** Look for `{implementation_artifacts}/epic-<N>-context.md` (where `<N>` is the epic number). A file is **valid** when it exists, is non-empty, starts with `# Epic <N> Context:` (with the correct epic number), and no file in `{planning_artifacts}` has a modification time (mtime) later than the cache file. If timestamp comparison is unavailable or fails, treat the cache as invalid.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-01-clarify-and-route.md`
around lines 57 - 59, Clarify and tighten the freshness rule for the cached epic
context so the phrase "no file in {planning_artifacts} is newer" is
deterministic: specify that compare the modification time (mtime) of
{implementation_artifacts}/epic-<N>-context.md against the mtimes of all files
in {planning_artifacts}; treat any planning file that did not exist when the
cache was created (i.e., present now but absent at cache time) as "newer" and
therefore invalidate the cache; if any mtime comparison cannot be performed
(filesystem lacks reliable timestamps or an error occurs), conservatively
invalidate the cache and surface a warning message; update the text around
"{implementation_artifacts}/epic-<N>-context.md" and the "no file in
{planning_artifacts} is newer" line to include these explicit rules and the
fallback behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/workflows/2-design/gds-create-gdd/workflow.md`:
- Line 2: The workflow was renamed to "gds-create-gdd" but references still
instruct users to run the old "create-gdd" command; update all dependent
references to the new name (or add a compatibility alias) by replacing
occurrences of "create-gdd" with "gds-create-gdd" in the documentation and step
files (notably step-08-complete and step-01-init) and update the workflow name
in the reference tables (workflows and agents) so links/commands match, or
implement an alias entry that maps "create-gdd" to "gds-create-gdd" to preserve
backward compatibility.

In `@src/workflows/2-design/gds-create-prd/steps-c/step-12-complete.md`:
- Line 7: The step introduces a new variable validationWorkflow but the
completion option still references checkImplementationReadinessWorkflow; update
the option text and any occurrences in step-12-complete.md that show or invoke
the validation path to use {validationWorkflow} instead of
{checkImplementationReadinessWorkflow} (and ensure any surrounding copy or
action/button metadata uses the new variable name so the PRD completion path
advertises/invokes the correct workflow).

In `@src/workflows/2-design/gds-edit-gdd/workflow.md`:
- Around line 38-57: This delegation won't work because gds-edit-prd only
accepts {main_config} and prompts for a PRD path, so either (A) extend the
gds-edit-prd workflow to accept and honor a target document path and mapping
parameters (add inputs like {target_doc_path} and {field_mappings} to
src/workflows/2-design/gds-edit-prd/workflow.md and propagate those into its
edit steps so substitutions such as "Product vision -> Game vision" are applied
and the HALT condition can be detected), or (B) implement GDD-specific edit flow
inside src/workflows/2-design/gds-edit-gdd/workflow.md by replacing the
delegation with explicit steps that load the GDD at {planning_artifacts}/gdd.md,
apply the substitution table (Product vision→Game vision, Personas→Player
persona, etc.) when following the editWorkflow steps, and perform the
HALT/ask-user behavior when a GDD schema mismatch is encountered.

In `@src/workflows/2-design/gds-edit-prd/data/prd-purpose.md`:
- Line 3: Replace the typo phrase "rhw BMad Method" in the PRD header sentence
with "the BMAD Method" so the line reads: "The PRD is the top of the required
funnel that feeds all subsequent product development work in the BMAD Method.";
update the text in the prd-purpose.md content where the sentence appears.

In `@src/workflows/2-design/gds-validate-gdd/workflow.md`:
- Around line 39-46: The delegation in gds-validate-gdd to the gds-validate-prd
workflow is invalid because gds-validate-prd (name: gds-validate-prd,
main_config: '{module_config}', validateWorkflow:
'./steps-v/step-v-01-discovery.md') does not accept a target document path;
either modify gds-validate-prd to accept an optional parameter like
document_path (and thread it through its discovery step/validateWorkflow to use
the provided path instead of prompting), or remove the delegation from
gds-validate-gdd and implement GDD-specific validation here (add a validate_gdd
step or workflow that loads {planning_artifacts}/gdd.md, runs the same checks as
gds-validate-prd, and performs the required post-processing: prefixing the
report title with "GDD Validation Report" and annotating GDD-vs-PRD schema false
positives).

In `@src/workflows/2-design/gds-validate-prd/data/prd-purpose.md`:
- Line 3: Replace the typo "rhw BMad Method" with "the BMAD Method" in the
string "**The PRD is the top of the required funnel that feeds all subsequent
product development work in rhw BMad Method.**" in this file and also update the
duplicate file `gds-edit-prd/data/prd-purpose.md` so both copies match; ensure
the corrected phrase reads "**the BMAD Method**" exactly in both files.

In `@src/workflows/4-production/gds-code-review/steps/step-04-present.md`:
- Line 11: The step-04-present.md uses a different finding bucket name
(`decision-needed`) than step-03-triage.md (`decision_needed`), which can cause
items to be skipped; update all occurrences in step-04-present.md to the
canonical `decision_needed` (and similarly normalize any other docs referenced)
so the bucket name is consistent across steps, ensuring checks that reference
`decision_needed` match the triage output.

In `@src/workflows/4-production/gds-sprint-status/workflow.md`:
- Line 132: The workflow currently computes next_agent (DEV) but doesn't export
it and hardcodes DEV for all recommendation paths; update the template-output
exports to include next_agent and change the assignments inside the
recommendation selection logic (the places that set next_story_id,
next_workflow_id, next_agent) so each path maps to the correct role — e.g.,
dev-story => DEV, code-review => REVIEWER (or CODE_REVIEWER), create-story =>
PRODUCT_OWNER (or PM), retrospective => FACILITATOR (or TEAM_LEAD) — and ensure
the exported variable name matches what downstream consumers expect (e.g.,
gds-document-project's {{next_agent}}).

In `@src/workflows/gds-quick-flow/gds-quick-dev/spec-template.md`:
- Line 6: Update the spec docs and/or add runtime validation so context entries
clearly use the "{project-root}/" prefix: add guidance to step-02-plan.md
explaining that "{project-root}" is a placeholder resolved to the
workspace/project root and examples for valid values (e.g.,
"{project-root}/standards/README.md"), and implement a validation function
validateContextPaths(context: string[]) that checks each entry
startsWith("{project-root}/"), returns or throws clear errors listing offending
paths and suggested fixes, and ensure the loader used by
step-03-implement/step-04-review calls validateContextPaths before attempting to
load files.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-05-present.md`:
- Around line 53-56: The frontmatter status for `{spec_file}` is set to `done`
while the sync step calls `./sync-sprint-status.md` with `{target_status}` =
`review`, causing inconsistent lifecycle states; pick one state and make both
places match: either change the `{spec_file}` frontmatter status to `review` or
change the `./sync-sprint-status.md` invocation `{target_status}` to `done` so
the spec and sprint sync are identical, updating the status token in
step-05-present.md accordingly.

---

Nitpick comments:
In `@src/workflows/2-design/gds-edit-prd/steps-e/step-e-04-complete.md`:
- Line 7: The workflow declares validationWorkflow: 'skill:gds-validate-prd' but
the invocation still uses the hardcoded skill name; update the invocation that
currently calls 'skill:gds-validate-prd' (the call around the step that
references the validator at Line 123) to reference the validationWorkflow
variable instead (e.g., use the validationWorkflow identifier where the skill
name is passed) so the reusable variable is actually used and prevents config
drift.

In `@src/workflows/2-design/gds-validate-prd/data/prd-purpose.md`:
- Around line 1-197: The file prd-purpose.md is duplicated (identical to the one
under gds-edit-prd); remove the maintenance burden by choosing one canonical
source and making the other reference it: either replace the duplicate with a
symbolic link to the canonical prd-purpose.md, or leave the duplicate but add a
top-of-file comment in each prd-purpose.md pointing to the canonical file and
update the repo README to document that these two files must be kept in sync;
update CI/docs to validate duplication policy if available.

In `@src/workflows/4-production/gds-code-review/steps/step-04-present.md`:
- Around line 94-106: Replace the inline "Sync sprint-status" subsection in
step-04-present.md with a call to the existing shared sub-step defined in
sync-sprint-status.md to avoid duplicated logic; remove the ad-hoc
load/update/save steps and instead invoke the shared sync procedure so
idempotency and non-regression rules (as implemented in the shared sub-step) are
preserved; ensure the subsection still documents skip behavior when {story_key}
is absent and retains the same user-facing messages for "file missing" and
"story not found" cases by forwarding parameters (story_key, sprint_status path,
new_status) to the shared sub-step.

In `@src/workflows/4-production/gds-sprint-planning/SKILL.md`:
- Line 3: The SKILL.md description is too narrowly focused on status tracking;
update the description in SKILL.md (the description field) to mention both
sprint planning output and status tracking so the workflow reflects planning
purpose as well as tracking (e.g., change wording to reference generating sprint
plans, backlog prioritization, and status tracking from epics). Ensure the
description remains concise and includes trigger phrases like "run sprint
planning" or "generate sprint plan" if present.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-01-clarify-and-route.md`:
- Around line 57-59: Clarify and tighten the freshness rule for the cached epic
context so the phrase "no file in {planning_artifacts} is newer" is
deterministic: specify that compare the modification time (mtime) of
{implementation_artifacts}/epic-<N>-context.md against the mtimes of all files
in {planning_artifacts}; treat any planning file that did not exist when the
cache was created (i.e., present now but absent at cache time) as "newer" and
therefore invalidate the cache; if any mtime comparison cannot be performed
(filesystem lacks reliable timestamps or an error occurs), conservatively
invalidate the cache and surface a warning message; update the text around
"{implementation_artifacts}/epic-<N>-context.md" and the "no file in
{planning_artifacts} is newer" line to include these explicit rules and the
fallback behavior.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md`:
- Around line 19-23: Emphasize and enforce the "do not surgically carve sections
out; regenerate the spec for the narrowed scope" rule by adding a verification
checkpoint after regeneration: when handling the Token count branch in
step-02-plan (the 1600-token check and the `[S] Split` flow), require the agent
that regenerates the spec for the main goal (the regenerated spec routine) to
run a concise scope-validation step that compares the regenerated spec against
the original to confirm only the main goal is retained (list named secondary
goals appended to `{deferred_work_file}`) and flag any remaining secondary
content for re-regeneration before continuing to checkpoint; make this
verification explicit in the `[S] Split` instructions and ensure the phrase
about not surgically carving is highlighted as a required invariant for the
regeneration routine.
- Around line 1-3: Add an explicit spec_file frontmatter variable to this step
so templates referencing {spec_file} resolve correctly; update the frontmatter
in step-02-plan.md to include a spec_file key (the same variable that
step-01-clarify-and-route.md initializes) and ensure its placeholder name
matches usages throughout the file (e.g., references on lines that use
{spec_file}) so the step can be executed standalone without relying on implicit
inheritance.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-oneshot.md`:
- Line 53: Replace the em-dash in the git comment with a standard double-hyphen
or parentheses and explicitly define how the two path variables are derived: set
{absolute-root} to the output of git rev-parse --show-toplevel (fall back to the
current working directory if that command fails) and set {absolute-spec-file} to
the absolute path of {spec_file} (resolved relative to the current working
directory or the repo root as appropriate); then instruct to run code -r
"{absolute-root}" "{absolute-spec-file}" with both paths double-quoted to handle
spaces/special characters.
- Line 22: The long instruction invoking the bmad-review-adversarial-general
subagent is overloaded and should be split into clear, ordered steps: (1) state
"Invoke the bmad-review-adversarial-general skill in a new subagent" as the
action, (2) explicitly list invocation parameters — "provide only the changed
files, pass NO conversation context, and set the subagent model capability equal
to the current session's capability", (3) add a separate sentence explaining the
rationale for "NO conversation context" (avoid anchoring bias), and (4) describe
the fallback behavior in its own sentence: "If no sub-agents are available,
write the changed files to a review prompt file in {implementation_artifacts}
and HALT, then ask the user to run the review in a separate session and paste
back findings." Ensure each requirement is atomic and in the same order as
execution to avoid misinterpretation of subagent invocation, context handling,
capability matching, and fallback.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3d562710-a4cf-4a1f-941f-9c4b67b110ff

📥 Commits

Reviewing files that changed from the base of the PR and between eeb1556 and 191eebc.

⛔ Files ignored due to path filters (6)
  • src/agents/gds-agent-game-dev/gametest/qa-index.csv is excluded by !**/*.csv
  • src/module-help.csv is excluded by !**/*.csv
  • src/workflows/2-design/gds-create-prd/data/domain-complexity.csv is excluded by !**/*.csv
  • src/workflows/2-design/gds-create-prd/data/project-types.csv is excluded by !**/*.csv
  • src/workflows/2-design/gds-validate-prd/data/domain-complexity.csv is excluded by !**/*.csv
  • src/workflows/2-design/gds-validate-prd/data/project-types.csv is excluded by !**/*.csv
📒 Files selected for processing (146)
  • .claude-plugin/marketplace.json
  • CHANGELOG.md
  • SYNC-PLAN.md
  • TODO.md
  • package.json
  • src/agents/gds-agent-game-dev/SKILL.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/balance-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/certification-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/compatibility-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/e2e-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/godot-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/input-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/localization-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/multiplayer-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/performance-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/playtesting.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/qa-automation.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/regression-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/save-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/smoke-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/test-priorities.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/unity-testing.md
  • src/agents/gds-agent-game-dev/gametest/knowledge/unreal-testing.md
  • src/agents/gds-agent-game-qa/SKILL.md
  • src/agents/gds-agent-game-qa/bmad-skill-manifest.yaml
  • src/agents/gds-agent-game-scrum-master/SKILL.md
  • src/agents/gds-agent-game-scrum-master/bmad-skill-manifest.yaml
  • src/agents/gds-agent-game-solo-dev/SKILL.md
  • src/workflows/2-design/create-prd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-create-gdd/steps-c/step-01-init.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-01b-continue.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-02-context.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-03-platforms.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-04-vision.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-05-core-gameplay.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-06-mechanics.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-07-game-type.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-08-progression.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-09-levels.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-10-art-audio.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-11-technical.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-12-epics.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-13-metrics.md
  • src/workflows/2-design/gds-create-gdd/steps-c/step-14-complete.md
  • src/workflows/2-design/gds-create-gdd/workflow.md
  • src/workflows/2-design/gds-create-prd/SKILL.md
  • src/workflows/2-design/gds-create-prd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-create-prd/data/prd-purpose.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-01-init.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-01b-continue.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-02-discovery.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-02b-vision.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-02c-executive-summary.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-03-success.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-04-journeys.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-05-domain.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-06-innovation.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-07-project-type.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-08-scoping.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-09-functional.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-10-nonfunctional.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-11-polish.md
  • src/workflows/2-design/gds-create-prd/steps-c/step-12-complete.md
  • src/workflows/2-design/gds-create-prd/templates/prd-template.md
  • src/workflows/2-design/gds-create-prd/workflow.md
  • src/workflows/2-design/gds-edit-gdd/SKILL.md
  • src/workflows/2-design/gds-edit-gdd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-edit-gdd/workflow.md
  • src/workflows/2-design/gds-edit-prd/SKILL.md
  • src/workflows/2-design/gds-edit-prd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-edit-prd/data/prd-purpose.md
  • src/workflows/2-design/gds-edit-prd/steps-e/step-e-01-discovery.md
  • src/workflows/2-design/gds-edit-prd/steps-e/step-e-01b-legacy-conversion.md
  • src/workflows/2-design/gds-edit-prd/steps-e/step-e-02-review.md
  • src/workflows/2-design/gds-edit-prd/steps-e/step-e-03-edit.md
  • src/workflows/2-design/gds-edit-prd/steps-e/step-e-04-complete.md
  • src/workflows/2-design/gds-edit-prd/workflow.md
  • src/workflows/2-design/gds-validate-gdd/SKILL.md
  • src/workflows/2-design/gds-validate-gdd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-validate-gdd/workflow.md
  • src/workflows/2-design/gds-validate-prd/SKILL.md
  • src/workflows/2-design/gds-validate-prd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-validate-prd/data/prd-purpose.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-01-discovery.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-02-format-detection.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-02b-parity-check.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-03-density-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-04-brief-coverage-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-05-measurability-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-06-traceability-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-08-domain-compliance-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-09-project-type-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-10-smart-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-11-holistic-quality-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-12-completeness-validation.md
  • src/workflows/2-design/gds-validate-prd/steps-v/step-v-13-report-complete.md
  • src/workflows/2-design/gds-validate-prd/workflow.md
  • src/workflows/4-production/gds-code-review/SKILL.md
  • src/workflows/4-production/gds-code-review/steps/step-01-gather-context.md
  • src/workflows/4-production/gds-code-review/steps/step-02-review.md
  • src/workflows/4-production/gds-code-review/steps/step-03-triage.md
  • src/workflows/4-production/gds-code-review/steps/step-04-present.md
  • src/workflows/4-production/gds-code-review/workflow.md
  • src/workflows/4-production/gds-correct-course/SKILL.md
  • src/workflows/4-production/gds-correct-course/checklist.md
  • src/workflows/4-production/gds-correct-course/workflow.md
  • src/workflows/4-production/gds-create-story/workflow.md
  • src/workflows/4-production/gds-dev-story/workflow.md
  • src/workflows/4-production/gds-retrospective/SKILL.md
  • src/workflows/4-production/gds-retrospective/workflow.md
  • src/workflows/4-production/gds-sprint-planning/SKILL.md
  • src/workflows/4-production/gds-sprint-planning/workflow.md
  • src/workflows/4-production/gds-sprint-status/SKILL.md
  • src/workflows/4-production/gds-sprint-status/workflow.md
  • src/workflows/gametest/gds-test-design/test-design-template.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/SKILL.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-01-clarify-and-route.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-02-plan.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-03-implement.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-05-present.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/workflow.md
  • src/workflows/gds-quick-flow/gds-quick-dev/SKILL.md
  • src/workflows/gds-quick-flow/gds-quick-dev/compile-epic-context.md
  • src/workflows/gds-quick-flow/gds-quick-dev/spec-template.md
  • src/workflows/gds-quick-flow/gds-quick-dev/step-01-clarify-and-route.md
  • src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md
  • src/workflows/gds-quick-flow/gds-quick-dev/step-03-implement.md
  • src/workflows/gds-quick-flow/gds-quick-dev/step-04-review.md
  • src/workflows/gds-quick-flow/gds-quick-dev/step-05-present.md
  • src/workflows/gds-quick-flow/gds-quick-dev/step-oneshot.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-01-mode-detection.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-02-context-gathering.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-03-execute.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-04-self-check.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-05-adversarial-review.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-06-resolve-findings.md
  • src/workflows/gds-quick-flow/gds-quick-dev/sync-sprint-status.md
  • src/workflows/gds-quick-flow/gds-quick-dev/workflow.md
  • src/workflows/gds-quick-flow/gds-quick-spec/SKILL.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-01-understand.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-02-investigate.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-03-generate.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-04-review.md
  • src/workflows/gds-quick-flow/gds-quick-spec/tech-spec-template.md
  • src/workflows/gds-quick-flow/gds-quick-spec/workflow.md
💤 Files with no reviewable changes (24)
  • src/workflows/gds-quick-flow/gds-quick-spec/SKILL.md
  • src/agents/gds-agent-game-qa/bmad-skill-manifest.yaml
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-03-execute.md
  • src/agents/gds-agent-game-scrum-master/SKILL.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/SKILL.md
  • src/agents/gds-agent-game-scrum-master/bmad-skill-manifest.yaml
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-06-resolve-findings.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-03-implement.md
  • src/workflows/gds-quick-flow/gds-quick-spec/workflow.md
  • src/agents/gds-agent-game-qa/SKILL.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-04-self-check.md
  • src/workflows/gds-quick-flow/gds-quick-spec/tech-spec-template.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-02-context-gathering.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/workflow.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-01-mode-detection.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-02-plan.md
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-05-present.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-01-understand.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-03-generate.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-02-investigate.md
  • src/workflows/gds-quick-flow/gds-quick-spec/steps/step-04-review.md
  • src/workflows/gds-quick-flow/gds-quick-dev/steps/step-05-adversarial-review.md
  • src/workflows/2-design/create-prd/bmad-skill-manifest.yaml
  • src/workflows/gds-quick-flow/gds-quick-dev-new-preview/steps/step-01-clarify-and-route.md

@@ -1,5 +1,5 @@
---
name: create-gdd
name: gds-create-gdd
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Workflow rename introduced cross-file command drift (create-gdd vs gds-create-gdd).

Renaming name to gds-create-gdd is fine, but dependent references still instruct users to run create-gdd, which can break workflow handoff/discovery. Please update linked references (or add a compatibility alias) in:

  • src/workflows/1-preproduction/gds-create-game-brief/steps/step-08-complete.md (old command text)
  • src/workflows/3-technical/gds-game-architecture/steps/step-01-init.md (old command text)
  • docs/reference/workflows.md and docs/reference/agents.md (old workflow name in tables)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/2-design/gds-create-gdd/workflow.md` at line 2, The workflow
was renamed to "gds-create-gdd" but references still instruct users to run the
old "create-gdd" command; update all dependent references to the new name (or
add a compatibility alias) by replacing occurrences of "create-gdd" with
"gds-create-gdd" in the documentation and step files (notably step-08-complete
and step-01-init) and update the workflow name in the reference tables
(workflows and agents) so links/commands match, or implement an alias entry that
maps "create-gdd" to "gds-create-gdd" to preserve backward compatibility.

# File References
outputFile: '{planning_artifacts}/prd.md'
validationFlow: '../steps-v/step-v-01-discovery.md'
validationWorkflow: 'skill:gds-validate-prd'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

validationWorkflow is introduced but not wired into the validation option text.

Line 7 adds validationWorkflow, but the step still presents {checkImplementationReadinessWorkflow} at Line 74, so the PRD completion path may advertise/invoke the wrong workflow.

🔧 Proposed wiring fix
-**Option 1: Check Implementation Readiness** (`{checkImplementationReadinessWorkflow}`)
-- Validates PRD has all information needed for development
-- Checks epic coverage completeness
-- Reviews UX alignment with requirements
-- Assesses epic quality and readiness
-- Identifies gaps before architecture/design work begins
+**Option 1: Validate PRD** (`{validationWorkflow}`)
+- Validates PRD structure and content quality
+- Checks requirements completeness and consistency
+- Verifies downstream readiness before implementation planning
+- Identifies gaps before architecture/design work begins
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/2-design/gds-create-prd/steps-c/step-12-complete.md` at line 7,
The step introduces a new variable validationWorkflow but the completion option
still references checkImplementationReadinessWorkflow; update the option text
and any occurrences in step-12-complete.md that show or invoke the validation
path to use {validationWorkflow} instead of
{checkImplementationReadinessWorkflow} (and ensure any surrounding copy or
action/button metadata uses the new variable name so the PRD completion path
advertises/invokes the correct workflow).

Comment thread src/workflows/2-design/gds-edit-gdd/workflow.md Outdated
@@ -0,0 +1,197 @@
# BMAD PRD Purpose

**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.**
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix typo: "rhw BMad Method" should be "the BMAD Method"

Line 3 contains a typo that should be corrected for professional documentation.

📝 Proposed fix
-**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.**
+**The PRD is the top of the required funnel that feeds all subsequent product development work in the BMAD Method.**
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.**
**The PRD is the top of the required funnel that feeds all subsequent product development work in the BMAD Method.**
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/2-design/gds-edit-prd/data/prd-purpose.md` at line 3, Replace
the typo phrase "rhw BMad Method" in the PRD header sentence with "the BMAD
Method" so the line reads: "The PRD is the top of the required funnel that feeds
all subsequent product development work in the BMAD Method."; update the text in
the prd-purpose.md content where the sentence appears.

Comment thread src/workflows/2-design/gds-validate-gdd/workflow.md Outdated
@@ -0,0 +1,197 @@
# BMAD PRD Purpose

**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.**
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix typo: "rhw BMad Method" should be "the BMAD Method"

This file is a duplicate of gds-edit-prd/data/prd-purpose.md and contains the same typo on line 3.

📝 Proposed fix
-**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.**
+**The PRD is the top of the required funnel that feeds all subsequent product development work in the BMAD Method.**
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.**
**The PRD is the top of the required funnel that feeds all subsequent product development work in the BMAD Method.**
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/2-design/gds-validate-prd/data/prd-purpose.md` at line 3,
Replace the typo "rhw BMad Method" with "the BMAD Method" in the string "**The
PRD is the top of the required funnel that feeds all subsequent product
development work in rhw BMad Method.**" in this file and also update the
duplicate file `gds-edit-prd/data/prd-purpose.md` so both copies match; ensure
the corrected phrase reads "**the BMAD Method**" exactly in both files.

Comment thread src/workflows/4-production/gds-code-review/steps/step-04-present.md Outdated
Comment thread src/workflows/4-production/gds-sprint-status/workflow.md Outdated
created: '{date}'
status: 'draft' # draft | ready-for-dev | in-progress | in-review | done
context: [] # optional: max 3 project-wide standards/docs. NO source code files.
context: [] # optional: `{project-root}/`-prefixed paths to project-wide standards/docs the implementation agent should load. Keep short — only what isn't already distilled into the spec body.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check if step-02-plan fills context field with proper prefixes

# Search for context field handling in step-02-plan
rg -n -A5 -B5 'context.*project-root' src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md

# Check for any context field population logic
rg -n 'context:' src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 67


🏁 Script executed:

# First, let's check if the files mentioned exist and their content
cd src/workflows/gds-quick-flow/gds-quick-dev/ 2>/dev/null && ls -la *.md || echo "Directory check"

# Read spec-template.md to see the full context
cat -n src/workflows/gds-quick-flow/gds-quick-dev/spec-template.md | head -30

# Read step-02-plan.md to understand its structure
cat -n src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md | head -50

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 1026


🏁 Script executed:

# Search for {project-root} across the entire workflow directory
rg -n '{project-root}' src/workflows/gds-quick-flow/gds-quick-dev/

# Also search in parent directories
rg -n '{project-root}' src/workflows/gds-quick-flow/

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 264


🏁 Script executed:

# Look for any validation or processing logic related to context field
rg -n -A3 'context' src/workflows/gds-quick-flow/gds-quick-dev/*.md

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 15564


🏁 Script executed:

# Check if there's any documentation about path resolution or validation
fd -e md -e txt -e json src/workflows/gds-quick-flow/ | head -20

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 506


🏁 Script executed:

cat -n src/workflows/gds-quick-flow/gds-quick-dev/spec-template.md

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 4091


🏁 Script executed:

cat -n src/workflows/gds-quick-flow/gds-quick-dev/step-02-plan.md

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 3336


🏁 Script executed:

# Use escaped curly braces for rg search
rg -n -F '{project-root}' src/workflows/gds-quick-flow/

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 339


🏁 Script executed:

# Check step-03-implement.md around the context usage
sed -n '25,35p' src/workflows/gds-quick-flow/gds-quick-dev/step-03-implement.md

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 967


🏁 Script executed:

# Check step-04-review.md around the context usage
sed -n '25,35p' src/workflows/gds-quick-flow/gds-quick-dev/step-04-review.md

Repository: bmad-code-org/bmad-module-game-dev-studio

Length of output: 1165


Clarify and document the {project-root}/ path prefix convention for the context field.

The template comment specifies that context paths must be prefixed with {project-root}/, but the workflow lacks explanation of:

  • Whether {project-root} is a literal string or a placeholder variable
  • How {project-root} is resolved at runtime
  • What happens if paths don't follow this convention
  • How step-02-plan should populate this field

Step-02-plan.md provides no specific guidance for filling the context field. Step-03-implement and step-04-review expect these files to be loaded but don't document the path resolution mechanism.

Add either:

  1. Documentation in step-02-plan.md explaining how to format context paths, or
  2. A validation function that ensures paths conform to the convention and provides clear error messages if they don't
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/gds-quick-flow/gds-quick-dev/spec-template.md` at line 6,
Update the spec docs and/or add runtime validation so context entries clearly
use the "{project-root}/" prefix: add guidance to step-02-plan.md explaining
that "{project-root}" is a placeholder resolved to the workspace/project root
and examples for valid values (e.g., "{project-root}/standards/README.md"), and
implement a validation function validateContextPaths(context: string[]) that
checks each entry startsWith("{project-root}/"), returns or throws clear errors
listing offending paths and suggested fixes, and ensure the loader used by
step-03-implement/step-04-review calls validateContextPaths before attempting to
load files.

Comment on lines +53 to +56
Change `{spec_file}` status to `done` in the frontmatter.

Follow `./sync-sprint-status.md` with `{target_status}` = `review`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Align spec and sprint statuses (done vs review).

This step sets the spec to done but syncs sprint status to review, which leaves state inconsistent across artifacts. Pick one lifecycle state for this checkpoint and apply it consistently.

Possible alignment (if this phase is truly complete)
-Follow `./sync-sprint-status.md` with `{target_status}` = `review`.
+Follow `./sync-sprint-status.md` with `{target_status}` = `done`.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Change `{spec_file}` status to `done` in the frontmatter.
Follow `./sync-sprint-status.md` with `{target_status}` = `review`.
Change `{spec_file}` status to `done` in the frontmatter.
Follow `./sync-sprint-status.md` with `{target_status}` = `done`.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/workflows/gds-quick-flow/gds-quick-dev/step-05-present.md` around lines
53 - 56, The frontmatter status for `{spec_file}` is set to `done` while the
sync step calls `./sync-sprint-status.md` with `{target_status}` = `review`,
causing inconsistent lifecycle states; pick one state and make both places
match: either change the `{spec_file}` frontmatter status to `review` or change
the `./sync-sprint-status.md` invocation `{target_status}` to `done` so the spec
and sprint sync are identical, updating the status token in step-05-present.md
accordingly.

sjennings and others added 2 commits April 14, 2026 19:21
- README.md:116 — wrap contact@bmadcode.com in autolink brackets to
  clear the MD034 lint failure (email line arrived via origin/main
  merge into this branch)
- gds-retrospective input files — replace PRD-only input with GDD
  (primary design doc in GDS), narrative (optional), and PRD
  (optional, for external-tool compatibility). Updates the step 0.5
  content-variable list and the change-impact checklist accordingly.
- docs/reference/agents.md — rewrite for v0.3.0 agent roster: 6 -> 5
  agents, Scrum Master + QA sections removed, Game Developer section
  expanded to cover the absorbed sprint / story / retrospective /
  testing capabilities with a full command table, knowledge-base path
  updated to new location under the agent dir. By-Phase and By-Task
  tables updated; handoff diagram simplified.
- src/module.yaml module_version: 0.2.0 -> 0.3.0
- Reference consistency for quick-prototype: module-help.csv and
  gds-agent-game-dev SKILL.md were using the source name
  bmad-gds-quick-prototype; standardized to the installed/invocable
  name gds-quick-prototype to match designer and solo-dev agents.
- gds-quick-dev/workflow.md — user_skill_level -> game_dev_experience
  (the variable name that actually exists in module.yaml; left over
  from upstream bmm port).
- prd-purpose.md (x3) — typo: "rhw" -> "the".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Six findings verified; four required fixes, two were correct as-shipped:

VERIFIED + FIXED:

- gds-create-prd/steps-c/step-12-complete.md: body referenced an undefined
  variable {checkImplementationReadinessWorkflow}. Frontmatter had the
  wrong variable (validationWorkflow, leftover from Phase 2a split, never
  consumed). Replaced with checkImplementationReadinessWorkflow pointing
  to skill:gds-check-implementation-readiness, matching upstream's
  Option-1 readiness-check semantics.

- gds-edit-gdd and gds-validate-gdd: previously delegated to the PRD
  variants, which doesn't work — neither gds-edit-prd nor gds-validate-prd
  accepts a target-document parameter. Replaced both placeholder stubs
  with full GDD-specific implementations modeled on the PRD variants
  but rewritten for game-design content (mechanics, gameplay loop,
  pillars, genre conventions, engine constraints). 23 new files,
  ~5,000 lines:
    * gds-edit-gdd: 5-step edit flow + gdd-purpose data
    * gds-validate-gdd: 13-step validation flow + gdd-purpose +
      genre-complexity.csv (24 genres mapped to complexity tiers,
      signals, key concerns)
  Validate-gdd reuses gds-create-gdd/game-types.csv via {module_root}
  rather than duplicating it.
  TODO.md: removed the GDD-specific step bodies entry now that they
  exist.

- gds-code-review/steps/step-04-present.md: bucket name inconsistent
  with step-03-triage.md. Triage uses decision_needed (underscore);
  step-04 mixed underscore and hyphen forms. Normalized all 8
  occurrences in step-04 to underscore form.

- gds-sprint-status/workflow.md: next_agent was hardcoded to "DEV"
  for all five recommendation paths and never exported as a
  template-output. Now sets per-path role labels (DEVELOPER, REVIEWER,
  STORY_AUTHOR, FACILITATOR) and adds {{next_agent}} to the
  template-output exports. Note clarifies that in the consolidated
  Phase 4 model all role labels resolve to the same agent
  (gds-agent-game-dev), kept distinct for downstream semantic use.

VERIFIED + NO FIX NEEDED:

- spec-template.md context-prefix guidance: matches upstream exactly.
  The reviewer's "implement validateContextPaths()" suggestion doesn't
  fit upstream's LLM-driven workflow architecture (no JS validators,
  prefix contract is the inline frontmatter comment). Diverging from
  upstream to add prose validators would conflict with the upstream-
  mirror directive.

- gds-quick-dev/step-05-present.md spec-vs-sprint status: upstream
  intent is two distinct lifecycles. {spec_file} status=done means the
  artifact is finished from quick-dev's perspective; sprint-status
  story status=review means the story still needs human/code review
  before being marked done. sync-sprint-status.md line 15 explicitly
  codifies this ordering (review > in-progress, done > review).

- gds-create-gdd "create-gdd" -> "gds-create-gdd" rename: grep
  returns zero bare references; rename was fully propagated in Phase 2b.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@sjennings sjennings merged commit 84bfd6b into main Apr 15, 2026
4 checks passed
@sjennings sjennings deleted the sync/upstream-bmad-method-v6.3.0 branch April 15, 2026 02:05
sjennings added a commit that referenced this pull request Apr 15, 2026
Unblocks markdownlint MD034/no-bare-urls failure on CI.

Same fix as the one already on main (via PR #21). Cherry-picked here
so this branch's CI passes; a future rebase onto main will absorb it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant