Skip to content

feat(agents): adopt customize.toml pattern and agent roster#22

Merged
bmadcode merged 2 commits intomainfrom
agent-customize-support
Apr 20, 2026
Merged

feat(agents): adopt customize.toml pattern and agent roster#22
bmadcode merged 2 commits intomainfrom
agent-customize-support

Conversation

@bmadcode
Copy link
Copy Markdown
Contributor

Summary

Mirrors bmm's canonical agent customization end-state (as on the remove-skill-manifests branch of BMAD-METHOD) across the five GDS agents.

  • customize.toml added per agent with the [agent] block (role, identity, communication_style, principles, persistent_facts, activation hooks, [[agent.menu]] tables). Persona wording polished following the bmm convention — "channels X's Y" identity, simile-based communication style, tightened principles. Link Freeman's consolidated Dev/QA/Scrum Master role preserved.
  • SKILL.md activation rewritten to the bmm 8-step flow: resolve the agent block via {project-root}/_bmad/scripts/resolve_customization.py, execute prepend steps, adopt persona, load persistent_facts, load config, greet with {agent.icon}, execute append steps, dispatch-or-present the menu. Link Freeman's skill-specific notes (gametest knowledge index, E2E-first load, Unity/Unreal/Godot doc cross-check) preserved at the end of SKILL.md.
  • module.yaml gains an agents: roster (code / name / title / icon / team / description essence) so external skills like party-mode, retrospective, and the help catalog can route and embody agents without reaching into each skill folder. GDS agents are on the game-dev team.
  • bmad-skill-manifest.yaml removed across the module (agents + workflow skills) — superseded by customize.toml metadata and the module.yaml roster.

Dependency

Depends on BMAD-METHOD's remove-skill-manifests PR landing: SKILL.md references {project-root}/_bmad/scripts/resolve_customization.py, which is installed by bmm's installer once that PR merges.

Test plan

  • Fresh install with bmm remove-skill-manifests branch: each GDS agent activates, resolves its customize.toml, greets with icon, and presents its menu
  • Override file test: drop _bmad/custom/gds-agent-game-dev.toml with a partial override and confirm scalar/array merge rules hold
  • Party mode reads the module.yaml agents: roster and shows GDS agents on the game-dev team
  • Link Freeman's gametest knowledge-index and E2E-first load still fire on QA/testing invocations
  • No lingering bmad-skill-manifest.yaml references in the codebase

Mirrors bmm's remove-skill-manifests end-state:

- Per-agent customize.toml encodes persona, menu, and activation hooks
  (canonical [agent] block: role, identity, communication_style,
  principles, persistent_facts, prepend/append steps, [[agent.menu]]).
- SKILL.md activation rewritten to resolve the agent block via
  {project-root}/_bmad/scripts/resolve_customization.py, load
  persistent_facts, greet with icon, and dispatch the menu.
- Agent roster added to module.yaml with team field so external skills
  (party-mode, retrospective, help catalog) can route, display, and
  embody agents without reaching into each skill folder.
- bmad-skill-manifest.yaml removed — superseded by customize.toml
  metadata and the module.yaml roster.

Persona wording polished across the five agents (role/identity/
communication_style/principles) following the bmm convention.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 20, 2026

Warning

Rate limit exceeded

@bmadcode has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 37 minutes and 47 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 37 minutes and 47 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: d701af97-29c7-41d0-a26d-c840af1aa0b1

📥 Commits

Reviewing files that changed from the base of the PR and between 4732bf0 and 0b2f78b.

📒 Files selected for processing (48)
  • src/agents/gds-agent-game-architect/SKILL.md
  • src/agents/gds-agent-game-architect/bmad-skill-manifest.yaml
  • src/agents/gds-agent-game-architect/customize.toml
  • src/agents/gds-agent-game-designer/SKILL.md
  • src/agents/gds-agent-game-designer/bmad-skill-manifest.yaml
  • src/agents/gds-agent-game-designer/customize.toml
  • src/agents/gds-agent-game-dev/SKILL.md
  • src/agents/gds-agent-game-dev/bmad-skill-manifest.yaml
  • src/agents/gds-agent-game-dev/customize.toml
  • src/agents/gds-agent-game-solo-dev/SKILL.md
  • src/agents/gds-agent-game-solo-dev/bmad-skill-manifest.yaml
  • src/agents/gds-agent-game-solo-dev/customize.toml
  • src/agents/gds-agent-tech-writer/SKILL.md
  • src/agents/gds-agent-tech-writer/bmad-skill-manifest.yaml
  • src/agents/gds-agent-tech-writer/customize.toml
  • src/module.yaml
  • src/workflows/1-preproduction/gds-brainstorm-game/bmad-skill-manifest.yaml
  • src/workflows/1-preproduction/gds-create-game-brief/bmad-skill-manifest.yaml
  • src/workflows/1-preproduction/research/bmad-skill-manifest.yaml
  • src/workflows/1-preproduction/research/gds-domain-research/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-create-gdd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-create-narrative/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-create-prd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-create-ux-design/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-edit-gdd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-edit-prd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-validate-gdd/bmad-skill-manifest.yaml
  • src/workflows/2-design/gds-validate-prd/bmad-skill-manifest.yaml
  • src/workflows/3-technical/gds-check-implementation-readiness/bmad-skill-manifest.yaml
  • src/workflows/3-technical/gds-create-epics-and-stories/bmad-skill-manifest.yaml
  • src/workflows/3-technical/gds-game-architecture/bmad-skill-manifest.yaml
  • src/workflows/3-technical/gds-generate-project-context/bmad-skill-manifest.yaml
  • src/workflows/4-production/gds-code-review/bmad-skill-manifest.yaml
  • src/workflows/4-production/gds-correct-course/bmad-skill-manifest.yaml
  • src/workflows/4-production/gds-create-story/bmad-skill-manifest.yaml
  • src/workflows/4-production/gds-dev-story/bmad-skill-manifest.yaml
  • src/workflows/4-production/gds-retrospective/bmad-skill-manifest.yaml
  • src/workflows/4-production/gds-sprint-planning/bmad-skill-manifest.yaml
  • src/workflows/4-production/gds-sprint-status/bmad-skill-manifest.yaml
  • src/workflows/gametest/gds-e2e-scaffold/bmad-skill-manifest.yaml
  • src/workflows/gametest/gds-performance-test/bmad-skill-manifest.yaml
  • src/workflows/gametest/gds-playtest-plan/bmad-skill-manifest.yaml
  • src/workflows/gametest/gds-test-automate/bmad-skill-manifest.yaml
  • src/workflows/gametest/gds-test-design/bmad-skill-manifest.yaml
  • src/workflows/gametest/gds-test-framework/bmad-skill-manifest.yaml
  • src/workflows/gametest/gds-test-review/bmad-skill-manifest.yaml
  • src/workflows/gds-document-project/bmad-skill-manifest.yaml
  • src/workflows/gds-quick-flow/gds-quick-dev/bmad-skill-manifest.yaml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent-customize-support

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.

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Apr 20, 2026

🤖 Augment PR Summary

Summary: This PR updates the Game Dev Studio (GDS) agents to follow BMAD’s newer customize.toml-driven customization model and removes legacy skill manifests.

Changes:

  • Rewrites each agent’s SKILL.md activation flow to a standardized 8-step process (resolve customization, adopt persona, load facts/config, greet, then dispatch/menu).
  • Adds a per-agent customize.toml defining configurable persona fields, activation hooks, persistent facts, and menu items.
  • Removes per-skill bmad-skill-manifest.yaml files across agents and workflows in favor of TOML customization + centralized metadata.
  • Extends src/module.yaml with an agents: roster (code/name/title/icon/team/description) to support routing/embodiment by external skills.
  • Preserves Link Freeman’s consolidated Dev/QA/Scrum responsibilities and keeps testing-specific guidance (qa-index, E2E-first load, engine doc cross-checks).

Technical Notes: Agent activation now depends on resolving [agent] via _bmad/scripts/resolve_customization.py and using the merged {agent.menu}/{agent.*} fields for behavior.

🤖 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. 1 suggestion posted.

Fix All in Augment

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


### Step 4: Load Persistent Facts

Treat every entry in `{agent.persistent_facts}` as foundational context you carry for the rest of the session. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
Copy link
Copy Markdown

@augmentcode augmentcode Bot Apr 20, 2026

Choose a reason for hiding this comment

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

Step 4 says file: entries are "paths or globs under {project-root}", but this agent’s default {agent.persistent_facts} includes file:{skill-root}/documentation-standards.md (see customize.toml). Consider widening the wording to allow {skill-root}/other placeholders so the activation instructions don’t contradict the default config (and keep it consistent across the other agents’ SKILL.md files too).

Severity: medium

Other Locations
  • src/agents/gds-agent-game-dev/SKILL.md:47
  • src/agents/gds-agent-game-architect/SKILL.md:45
  • src/agents/gds-agent-game-designer/SKILL.md:45
  • src/agents/gds-agent-game-solo-dev/SKILL.md:45

Fix This in Augment

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

Bmm-style persona optimization — LLMs carry rich priors on named
practitioners, so naming them activates those priors and makes agents
sharper than generic "X years of experience" framing.

Luminary pairings applied to each GDS agent's identity (customize.toml)
and essence description (module.yaml):

- Cloud Dragonborn (Architect): John Carmack × Tim Sweeney
- Samus Shepard (Designer): Shigeru Miyamoto × Sid Meier
- Paige (Tech Writer): Julia Evans × Edward Tufte (already applied in
  customize.toml — now echoed in module.yaml description)
- Indie (Solo Dev): Eric Barone × Edmund McMillen
- Link Freeman (Game Developer): Casey Muratori × Naoki Yoshida

Communication style and principles unchanged — persona priors belong in
identity, voice/cadence belongs in communication_style.
@bmadcode bmadcode merged commit 0ae4d47 into main Apr 20, 2026
4 checks passed
@bmadcode bmadcode deleted the agent-customize-support branch April 20, 2026 04:43
bmadcode added a commit that referenced this pull request Apr 21, 2026
* feat(workflows): adopt customize.toml pattern for workflow skills

Merge redirect-only SKILL.md with workflow.md content into a single
SKILL.md per workflow skill, add Conventions + On Activation (resolve
customization, prepend/append steps, persistent_facts, config load,
greet), and wire workflow.on_complete into each workflow's terminal
step. External-style workflows (steps-c/, steps-v/, steps-e/, etc.)
get the on_complete resolver appended to the final step file; inline
workflows get an <action> inside the final <step> block.

gds-sprint-status has three terminal branches (main flow step 5, data
mode step 20, validate mode step 30) — on_complete wired at each.
gds-document-project dispatches into instructions.md +
deep-dive-instructions.md + full-scan-instructions.md; on_complete
wired at all three terminal points so the hook fires regardless of
execution path.

Applies the same customization surface shipped for the GDS agent
skills in #22.

* fix(workflows): address PR review comments

- gds-e2e-scaffold, gds-document-project: fix `{skill_root}` typo
  (underscore) to `{skill-root}` (dash) in `installed_path` so
  downstream references like `{installed_path}/checklist.md` resolve
  correctly against the convention declared above.
- deep-dive-instructions.md: move the workflow.on_complete resolver
  from the end of Step 13a (area-selection confirmation loop) to
  Step 13g (Finish) so the hook only fires when the user actually
  exits the workflow, not during mid-workflow navigation.

* docs(changelog): record v0.4.0 — customize.toml pattern rollout

* docs(changelog): correct v0.4.0 release date
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