Syncing bmad-module-game-dev-studio against bmad-code-org/BMAD-METHOD@main (6b964acd, post-v6.3.0).
Upstream lives under src/bmm-skills/{1-analysis,2-plan-workflows,3-solutioning,4-implementation}/ plus src/core-skills/. Game-dev lives under src/workflows/{1-preproduction,2-design,3-technical,4-production,gametest,gds-quick-flow,gds-document-project}/ plus src/agents/ and src/gametest/.
This sync preserves game-dev's top-level organization. We port content and skill-directory shape within the existing tree; we do not relocate into src/bmm-skills/.
Agents (Phase 4 mirror): Merge gds-agent-game-qa and gds-agent-game-scrum-master into gds-agent-game-dev. Upstream collapsed to a single Developer agent (commits 48c2324b / 003c979d) — Phase 4 of game-dev will follow. Phases 1–3 agents (designer, architect, solo-dev, tech-writer) remain distinct.
quick-dev: Delete gds-quick-dev and gds-quick-spec entirely. Port upstream bmad-quick-dev 1:1 as the replacement. No chain, no overlap-preservation.
gametest relocation: Move src/gametest/ (the knowledge base + qa-index.csv) into src/agents/gds-agent-game-dev/gametest/. Reason: _bmad-output/ is being deprecated as a runtime location; knowledge the dev agent uses should live with the dev agent. src/workflows/gametest/ (the 7 test workflows) stays where it is.
- Delete
src/workflows/gds-quick-flow/gds-quick-dev/(all current content — divergent enough that no salvage is useful) - Delete
src/workflows/gds-quick-flow/gds-quick-spec/(redundant once upstream's bmad-quick-dev is ported; upstream absorbs spec generation intostep-02-plan) - Delete
src/workflows/gds-quick-flow/gds-quick-dev-new-preview/(already-approved cleanup) - Port upstream
bmad-quick-dev1:1 to a newsrc/workflows/gds-quick-flow/gds-quick-dev/
src/bmm-skills/4-implementation/bmad-quick-dev/ — 11 files, flat layout:
SKILL.md,workflow.md,spec-template.md,step-oneshot.mdstep-01-clarify-and-route.md,step-02-plan.md,step-03-implement.md,step-04-review.md,step-05-present.mdcompile-epic-context.md,sync-sprint-status.md
Copy upstream files as-is, then rewrite references for game-dev context:
_bmad/bmm/→_bmad/gds/config pathsbmad-agent-dev→gds-agent-game-dev- Any
{module_root}resolutions to point at game-dev module structure - Preserve upstream step names, structure, and framing ("hardened, reviewable artifact")
After port, verify gds-quick-flow/ only contains the new gds-quick-dev/. The flow folder may eventually collapse to just the skill itself — flag in TODO.md if it does.
npm run lint:mdcleangds-quick-devresolves via installer (manualnpx bmad-method installsmoke test)- Grep confirms zero refs to
gds-quick-specorgds-quick-dev-new-previewremain insrc/
src/bmm-skills/2-plan-workflows/
├── bmad-create-prd/ (SKILL.md, workflow.md, steps-c/, data/, templates/)
├── bmad-edit-prd/ (SKILL.md, workflow.md, steps-e/, data/prd-purpose.md) ← NEW data file
└── bmad-validate-prd/ (SKILL.md, workflow.md, steps-v/)
bmad-edit-prd just gained new step files (step-e-01-discovery.md, step-e-01b-legacy-conversion.md, step-e-02-review.md, step-e-03-edit.md, step-e-04-complete.md) and a new data/prd-purpose.md reference. Upstream bmad-create-prd/steps-c/step-08-scoping.md and step-11-polish.md also changed.
PRD is consolidated at src/workflows/2-design/create-prd/:
create-prd/
├── bmad-skill-manifest.yaml (no SKILL.md!)
├── data/, templates/
├── steps-c/, steps-e/, steps-v/
├── workflow-create-prd.md
├── workflow-edit-prd.md
└── workflow-validate-prd.md
GDD is a single skill at src/workflows/2-design/gds-create-gdd/ with steps/ (14 step files) — no edit or validate variant.
2a. Split PRD into 3 skill dirs:
src/workflows/2-design/
├── gds-create-prd/ (from workflow-create-prd.md + steps-c/ + shared data/templates)
├── gds-edit-prd/ (from workflow-edit-prd.md + steps-e/; port upstream step-e-* updates + prd-purpose.md)
└── gds-validate-prd/ (from workflow-validate-prd.md + steps-v/)
Each gets SKILL.md + bmad-skill-manifest.yaml. Shared data/ and templates/ stay deduplicated where possible (symlink or copy-with-note).
2b. Mirror the same split for GDD (user-approved — "GDD is used as PRD by default in gds"):
src/workflows/2-design/
├── gds-create-gdd/ (existing, rename steps/ → steps-c/ for consistency)
├── gds-edit-gdd/ (NEW — model on gds-edit-prd; port step-e pattern, adapt to game-design content)
└── gds-validate-gdd/ (NEW — model on gds-validate-prd; adapt AC and quality checks to GDD structure)
This is the biggest net-new content in the sync. gds-edit-gdd and gds-validate-gdd do not exist today.
2c. Port upstream content changes:
bmad-create-prd/steps-c/step-08-scoping.md(93 line change) andstep-11-polish.md→ intogds-create-prd/steps-c/equivalentsbmad-edit-prd/data/prd-purpose.md(197 new lines) → intogds-edit-prd/data/(and optionallygds-edit-gdd/data/gdd-purpose.mdas a parallel)- All
step-e-*file updates →gds-edit-prd/steps-e/
- All three PRD skills resolve via installer
- GDD edit + validate stubs compile (OK if step bodies are initially lean — flag in
TODO.md)
Goal: mirror upstream's single-Developer-agent model for Phase 4 roles.
- Capabilities audit — read:
src/agents/gds-agent-game-qa/SKILL.md(Quinn-equivalent; owns QA knowledge lookup)src/agents/gds-agent-game-scrum-master/SKILL.md(Bob-equivalent; owns sprint/story ceremony)- Upstream
bmad-agent-dev/SKILL.mdpost-merge (shows how QA was absorbed — party-mode and generate-e2e-tests references preserved)
- Merge into
src/agents/gds-agent-game-dev/SKILL.md:- Keep Link Freeman persona; append QA + SM capability sections under
## Capabilities - Pull QA-specific critical actions (knowledge-fragment lookup via
gametest/qa-index.csv— see relocation below) - Pull SM-specific critical actions (sprint-status sync, story-file ownership)
- Update
descriptionfrontmatter to note combined role without losing Link Freeman trigger phrase
- Keep Link Freeman persona; append QA + SM capability sections under
- Delete
src/agents/gds-agent-game-qa/andsrc/agents/gds-agent-game-scrum-master/directories entirely - Global reference sweep:
- grep
src/forgds-agent-game-qaandgds-agent-game-scrum-master— redirect every hit togds-agent-game-dev - Expected hit sites: workflows in
4-production/(sprint planning/status/retro reference SM),gametest/workflows (reference QA),module-help.csv,bmad-skill-manifest.yamlfiles
- grep
module.yaml+module-help.csv— remove dropped agents; update agent registry
Move knowledge base from src/gametest/ to src/agents/gds-agent-game-dev/gametest/.
- Move:
src/gametest/knowledge/*.md(17 files) →src/agents/gds-agent-game-dev/gametest/knowledge/src/gametest/qa-index.csv→src/agents/gds-agent-game-dev/gametest/qa-index.csv
- Delete empty
src/gametest/directory - Path rewrites — grep
src/for:{module_root}/gametest/→{skill_root}/gametest/(or{agents_root}/gds-agent-game-dev/gametest/depending on which variable resolves correctly at install time — verify with upstream's path-resolver convention)gametest/qa-index.csv(bare) → new pathgametest/knowledge/(bare) → new path- Known hit sites to verify:
src/workflows/gametest/gds-test-design/test-design-template.md:205, formergds-agent-game-qa/SKILL.md:30,33content now living ingds-agent-game-dev/SKILL.md
_bmad-outputreferences (currently 1 hit ingds-code-review/workflow.md:20) — review with user in Phase 4 whether to remove the explicit exclusion comment since_bmad-outputis being deprecated (leave for now; it's informational)
- No lingering refs to
gds-agent-game-qa,gds-agent-game-scrum-masterinsrc/(grep exits with no matches) - No lingering refs to
src/gametest/or{module_root}/gametest/at the old location gds-agent-game-dev/SKILL.mdparses; frontmatter valid- Installer smoke test loads combined agent + gametest knowledge correctly
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/
bmad-code-review/steps/{step-01-gather-context.md, step-02-review.md, step-04-present.md}— recently updatedbmad-correct-course/workflow.md+checklist.md— updatedbmad-retrospective/workflow.md— updated (268-line change; substantial rewrite)bmad-sprint-planning/workflow.md,bmad-sprint-status/workflow.md— minorbmad-create-story,bmad-dev-story— nosteps/upstream either (skip)
For each game-dev skill above, create a steps/ subdir matching upstream's step decomposition. Copy step file contents, rewrite references to:
_bmad/bmm/...→_bmad/gds/...bmad-agent-dev→gds-agent-game-devgds-agent-game-qa/gds-agent-game-scrum-masterrefs →gds-agent-game-dev(per Phase 2.5 — should already be clean by the time Phase 3 runs)- Any terminology swap (story → game-story where appropriate)
Update each workflow.md to reference the new step files if it currently inlines everything.
npm testin game-dev repo passes- Each skill's
workflow.mdcorrectly references its newsteps/*.mdvia relative paths
src/module.yaml— compare schema against upstream'ssrc/bmm-skills/module.yamlandsrc/core-skills/module.yaml; harmonize field set- Every
bmad-skill-manifest.yamlundersrc/workflows/**/andsrc/agents/**/— validate against upstream skill-manifest schema (whatevertools/validate-skills.jsin upstream expects) src/module-help.csv— regenerate from skill frontmatter (post-agent-merge; drops QA + SM entries)- Any dangling references to
bmad-agent-qa/bmad-agent-sm/bmad-initin copied content → clean up
- Run upstream's
tools/validate-skills.jsagainst game-devsrc/(adapt path config) - Regenerate
module-help.csvfrom SKILL.md frontmatter - Diff
module.yamlschema against upstream; add missing fields with game-dev values - grep game-dev for
bmad-agent-qa,bmad-agent-sm,bmad-init(removed in #2159) — clean up refs
npm run lint+npm run lint:md+npm run format:checkclean- Validate-skills script exits 0
src/workflows/gds-quick-flow/gds-quick-dev-new-preview/,gds-quick-spec/, and originalgds-quick-dev/should already be gone from Phase 1src/agents/gds-agent-game-qa/andsrc/agents/gds-agent-game-scrum-master/should already be gone from Phase 2.5src/gametest/should already be gone from Phase 2.5- Delete stale
install-success-message.md,codex-review.mdat repo root if superseded (check git log first) - Update
TODO.mdwith any known-deferred items (incomplete GDD edit/validate step bodies, etc.) - Update
CHANGELOG.mdwith sync summary
- Restructuring
src/workflows/→src/bmm-skills/(game-dev's top-level org is intentional) - Adding
gds-helpandgds-party-mode(user skipped) - Editorial/adversarial review skills (
bmad-editorial-review-*,bmad-review-adversarial-general,bmad-review-edge-case-hunter) — not requested; flag inTODO.mdfor future - Full
src/workflows/gametest/relocation into the dev agent (out of scope for this sync; only the knowledge-basesrc/gametest/moves) - Whether
gds-quick-flow/parent directory survives long-term (flag for follow-up)
All pre-flight decisions are locked in. Recommend phase-by-phase execution with a commit between each:
- Phase 1 (quick-dev full replacement + delete quick-spec + delete new-preview) — commit
- Phase 2a (PRD split into 3 skill dirs) — commit
- Phase 2b (GDD split into 3 skill dirs) — commit
- Phase 2c (port upstream PRD content updates — step-08-scoping, step-11-polish, step-e-*, prd-purpose.md) — commit
- Phase 2.5 (agent merge QA+SM→dev; relocate
src/gametest/intogds-agent-game-dev/gametest/) — commit - Phase 3 (production steps/ backfill; agent refs already clean from 2.5) — commit
- Phase 4 (manifest audit + module-help.csv regen + final cleanup) — commit
- Full
npm testrun + manualnpx bmad-method installsmoke test into a scratch dir → push
Each phase is independently revertible via git revert.