Skip to content

refactor: rewrite bmad-party-mode as platform-adaptive multi-agent roundtable#2128

Closed
pbean wants to merge 5 commits intomainfrom
feature/party-mode-update
Closed

refactor: rewrite bmad-party-mode as platform-adaptive multi-agent roundtable#2128
pbean wants to merge 5 commits intomainfrom
feature/party-mode-update

Conversation

@pbean
Copy link
Copy Markdown
Contributor

@pbean pbean commented Mar 26, 2026

Summary

  • Rewrites the bmad-party-mode skill from a simple workflow delegation into an outcome-based skill that spawns independent sub-agents per BMAD agent
  • Adds platform adapter system with support for Claude Code, Codex, and Gemini CLI
  • Restructures steps into initialize, orchestrate, and exit phases with a new agent prompt template reference

Test plan

  • Activate party mode in Claude Code and verify agents spawn as independent sub-agents
  • Confirm initial responses are displayed before cross-talk
  • Test fallback behavior on platforms without sub-agent support
  • Verify adapter detection works correctly per platform

🤖 Generated with Claude Code

…undtable skill

Replaces the old workflow-based party mode with an outcome-based skill that
spawns independent sub-agents per BMAD agent. Adds platform adapters for
Claude Code, Codex, and Gemini CLI, and restructures steps around initialize,
orchestrate, and exit phases.

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

augmentcode bot commented Mar 26, 2026

🤖 Augment PR Summary

Summary: This PR rewrites bmad-party-mode from a simple step/workflow delegation into an outcome-based, platform-adaptive multi-agent “roundtable” skill.

Changes:

  • Replaces the old workflow.md + 3 “step-*” files with a 3-stage flow: initialize, orchestrate (conversation loop), and exit.
  • Adds a platform adapter system with dedicated docs for Claude Code, OpenAI Codex, and Gemini CLI sub-agent spawning semantics.
  • Introduces an explicit agent selection scoring algorithm (relevance/complementarity/recency/affinity) and round calibration rules (agent count, depth, cross-talk, model hints).
  • Adds a universal per-agent prompt template to standardize personality injection, context compaction, and response calibration.
  • Defines hard constraints around “one agent = one sub-agent process”, showing all Pass 1 responses, and keeping the orchestrator from speaking as agents (except fallback).

Technical Notes: The orchestration stage now maintains a compact state block to survive context compaction and adapts behavior based on momentum/quality signals across rounds.

🤖 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. 7 suggestions posted.

Fix All in Augment

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

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 26, 2026

📝 Walkthrough

Walkthrough

This PR comprehensively restructures the BMAD Party Mode skill documentation, replacing a minimal workflow specification with detailed platform-specific orchestration guidelines for Claude Code, Codex, and Gemini CLI, introducing three-stage step workflows (initialize, orchestrate, exit), agent prompt templates, and removing legacy workflow files.

Changes

Cohort / File(s) Summary
Core Skill Definition
src/core-skills/bmad-party-mode/SKILL.md
Extensively rewritten from minimal instruction to comprehensive Party Mode specification including orchestration semantics, platform detection with adapter references, agent manifest CSV schema, architecture details, scoring/selection flow, round calibration, character fidelity, moderation, conversation momentum, and stage routing.
Platform Adapters
src/core-skills/bmad-party-mode/adapters/claude-code.md, src/core-skills/bmad-party-mode/adapters/codex.md, src/core-skills/bmad-party-mode/adapters/gemini.md
Added three platform-specific adapter specifications: Claude Code (parallel sub-agent tool calls via Agent tool), Codex (TOML-based agent persistence with parallel threading), and Gemini CLI (sequential @agent_name invocations with pre-setup markdown agent definitions), each with unique capability constraints and invocation patterns.
Workflow Initialization
src/core-skills/bmad-party-mode/steps/step-01-initialize.md (new), src/core-skills/bmad-party-mode/steps/step-01-agent-loading.md (removed)
Replaced old agent-loading step with new initialize step that detects runtime platform, loads adapters, parses agent manifest, builds personality profiles, optionally generates platform-specific agent definitions, and activates party mode introduction.
Conversation Orchestration
src/core-skills/bmad-party-mode/steps/step-02-orchestrate.md (new), src/core-skills/bmad-party-mode/steps/step-02-discussion-orchestration.md (removed)
Replaced discussion-orchestration step with comprehensive orchestrate step covering exit trigger checks, input analysis, agent scoring/selection, round calibration, platform-specific sub-agent spawning (parallel vs. sequential), scored cross-talk mechanism, response presentation rules, and state compaction requirements.
Graceful Exit
src/core-skills/bmad-party-mode/steps/step-03-exit.md (new), src/core-skills/bmad-party-mode/steps/step-03-graceful-exit.md (removed)
Replaced legacy graceful-exit with new exit step defining farewell agent spawning, session highlights compilation, platform-specific parallelization behavior, orchestrator wrap-up template, and parent workflow resume protocol.
Template & References
src/core-skills/bmad-party-mode/references/agent-prompt-template.md
Added universal prompt template for assembling per-sub-agent prompts including identity/personality fields, conversation context, cross-talk responses, depth signal, tone/formatting instructions, and a farewell variant for exit stage.
Removed Core Documentation
src/core-skills/bmad-party-mode/workflow.md
Deleted root workflow documentation that previously covered configuration, CSV parsing, roster construction, and high-level execution flow (now superseded by detailed step-based approach).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~40 minutes

Possibly related PRs

Suggested reviewers

  • bmadcode
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The PR title accurately summarizes the main change: rewriting bmad-party-mode as a platform-adaptive multi-agent roundtable system with support for multiple platforms.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description clearly relates to the changeset, detailing a complete rewrite of bmad-party-mode, addition of platform adapters, and restructuring of workflow steps.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/party-mode-update

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.

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: 3

🧹 Nitpick comments (1)
src/core-skills/bmad-party-mode/steps/step-03-exit.md (1)

20-30: Farewell prompt contract is duplicated and already drifted from the shared template.

This block diverges from references/agent-prompt-template.md (different placeholder schema), so maintenance will fork behavior. Prefer referencing the shared “Farewell Variant” contract directly.

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

In `@src/core-skills/bmad-party-mode/steps/step-03-exit.md` around lines 20 - 30,
The farewell block using placeholders like {displayName}, {title}, and
{personality_profile} duplicates and diverges from the shared "Farewell Variant"
contract; remove this duplicated block in step-03-exit.md and replace it by
referencing or importing the canonical Farewell Variant template (use the shared
template's placeholder schema), ensuring the output starts with the required
token (e.g., the shared template's leading "{icon} **{displayName}**:" or its
canonical equivalent) and that no custom placeholder names remain so behavior
follows the single source of truth.
🤖 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/core-skills/bmad-party-mode/adapters/codex.md`:
- Around line 35-43: The Codex agent template's developer_instructions block is
missing the explicit no-tools constraint, so update the codex.md
developer_instructions to include a clear "do not call or invoke any external
tools" (or "no_tools") rule so sub-agents cannot use read-only tools and will
adhere to party-mode; locate the developer_instructions section in
src/core-skills/bmad-party-mode/adapters/codex.md and add a concise sentence
such as "Do not call, invoke, or rely on external tools or APIs (no tools)"
within the instruction list for the Codex agent template to enforce the
constraint.

In `@src/core-skills/bmad-party-mode/references/agent-prompt-template.md`:
- Around line 20-22: The template placeholder in
src/core-skills/bmad-party-mode/references/agent-prompt-template.md is
inconsistent with the orchestrator: replace the token
`{pass_1_responses_if_cross_talk_pass — empty on first pass}` with
`{agent_responses_from_pass_1}` so it matches the token used in
src/core-skills/bmad-party-mode/steps/step-02-orchestrate.md (lines referencing
agent_responses_from_pass_1); ensure any other occurrences of the old token are
updated to the same `{agent_responses_from_pass_1}` name so template assembly
works end-to-end.

In `@src/core-skills/bmad-party-mode/steps/step-02-orchestrate.md`:
- Line 121: The "Redundancy" pass-1 rule in step-02-orchestrate.md conflicts
with the party-mode hard constraint by allowing collapsing of pass-1 responses;
change the rule so it does not collapse or summarize any pass-1 outputs—ensure
all initial responses are emitted in full (no summarization/merging) before any
cross-talk or aggregation logic runs, and update the wording for the
"Redundancy" bullet to explicitly preserve full individual pass-1 responses per
the party-mode hard constraint.

---

Nitpick comments:
In `@src/core-skills/bmad-party-mode/steps/step-03-exit.md`:
- Around line 20-30: The farewell block using placeholders like {displayName},
{title}, and {personality_profile} duplicates and diverges from the shared
"Farewell Variant" contract; remove this duplicated block in step-03-exit.md and
replace it by referencing or importing the canonical Farewell Variant template
(use the shared template's placeholder schema), ensuring the output starts with
the required token (e.g., the shared template's leading "{icon}
**{displayName}**:" or its canonical equivalent) and that no custom placeholder
names remain so behavior follows the single source of truth.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e5f8b97d-9fde-4e58-8102-df54f6f39412

📥 Commits

Reviewing files that changed from the base of the PR and between 819d373 and 9e3d320.

📒 Files selected for processing (12)
  • src/core-skills/bmad-party-mode/SKILL.md
  • src/core-skills/bmad-party-mode/adapters/claude-code.md
  • src/core-skills/bmad-party-mode/adapters/codex.md
  • src/core-skills/bmad-party-mode/adapters/gemini.md
  • src/core-skills/bmad-party-mode/references/agent-prompt-template.md
  • src/core-skills/bmad-party-mode/steps/step-01-agent-loading.md
  • src/core-skills/bmad-party-mode/steps/step-01-initialize.md
  • src/core-skills/bmad-party-mode/steps/step-02-discussion-orchestration.md
  • src/core-skills/bmad-party-mode/steps/step-02-orchestrate.md
  • src/core-skills/bmad-party-mode/steps/step-03-exit.md
  • src/core-skills/bmad-party-mode/steps/step-03-graceful-exit.md
  • src/core-skills/bmad-party-mode/workflow.md
💤 Files with no reviewable changes (4)
  • src/core-skills/bmad-party-mode/workflow.md
  • src/core-skills/bmad-party-mode/steps/step-02-discussion-orchestration.md
  • src/core-skills/bmad-party-mode/steps/step-03-graceful-exit.md
  • src/core-skills/bmad-party-mode/steps/step-01-agent-loading.md

pbean and others added 2 commits March 27, 2026 15:01
Inline all adapters, steps, references, and prompt templates directly
into SKILL.md. Remove the platform-adapter detection system in favor of
a simpler approach using the Agent tool. Streamline agent selection from
a weighted scoring algorithm to pragmatic guidelines.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Do NOT use tools. Just respond with your perspective.
```

**Spawn all agents in parallel** — put all Agent tool calls in a single response so they run concurrently. Use `model: "sonnet"` for the subagents to keep things fast.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

we cannot do this it needs to work across tools and models. we could offer a subagent model commandline arg though. but then only use it if available.

Another option is in the future, we could let the user let us know what models they have registered or available in some config and we could allow the user to tell us what to use as a fast agent, worker agent and thinking agent for example. but beyond the scope of this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

alright made changes per our discussion and removed bmad-init dependency

pbean and others added 2 commits March 28, 2026 22:57
Allow users to override the subagent model and run in solo mode
(single-LLM roleplay) when subagents aren't available or speed
is preferred.

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

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@pbean pbean closed this Mar 29, 2026
@pbean pbean deleted the feature/party-mode-update branch March 29, 2026 06:07
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.

2 participants