What if you could describe a fictional universe, and the right people from that universe just showed up — automatically — based on whatever you're talking about right now? Ask about flying and the pilot appears. Switch to the rebellion's strategy and the tactician takes their seat. Nobody you had to pre-select. Nobody you had to configure. The room assembles itself.
That's what BMAD open-cast party rooms do. You write one sentence describing a world. Then you just talk.
Say you want to think through a big career decision. You could ask Claude. Or you could ask the crew of the Ghost.
Run this command in Claude Code to open party mode:
/bmad-party-mode
Then when it asks what kind of room you want, paste this description:
Aboard the Ghost, Star Wars Rebels. The crew is gathered — Hera for strategy, logistics, and seeing the big picture. Kanan for wisdom, emotional truth, and knowing when to listen instead of act. Sabine for creative problem-solving and the courage to take the unconventional path. Ezra for scrappy optimism and the younger perspective. Bring in whoever from the Rebels universe makes sense for what we're talking about.
Then just ask your question. Here's what that session might look like:
Four different voices. Four different angles. None of them the same answer. That's the point.
Now switch topics. Ask about leadership. Or product design. Or whether to relocate. The room shifts. Whoever from the Rebels universe is most relevant to that topic is who shows up next. You don't change settings. You just keep talking.
These are already set up and saved. Just copy the command and run it.
<div class="step-label">Launch the room</div>
<div class="cmd-block">
<div class="cmd-label"><span>Claude Code</span><span class="cmd-note">direct launch, already configured</span></div>
<pre id="cmd-eng">/bmad-party-mode --party engineering-legends</pre>
<button class="cmd-copy" onclick="cmdCopyEl(this,'cmd-eng')">Copy</button>
</div>
<p style="color: var(--dim); font-size: 13px; margin-top: 12px;">Then just ask: <em>"We're building a new service. Should we start with a monolith or microservices?"</em> Watch Linus, Jeff Dean, and Fowler disagree with each other.</p>
<div class="chat-review" style="margin-top: 12px;">
<div class="chat-turn">
<div class="chat-speaker">You</div>
<div class="chat-body user-q">New product, early stage, team of 4. Monolith or microservices?</div>
</div>
<div class="chat-turn">
<div class="chat-speaker">🔴 Linus Torvalds</div>
<div class="chat-body linus">Microservices are for people who've never debugged an inter-process call at 3am. What problem are you actually solving? Because "it scales better" is not a problem, it's a hope. Build the thing that ships first.</div>
</div>
<div class="chat-turn">
<div class="chat-speaker">🟡 Martin Fowler</div>
<div class="chat-body fowler">I literally wrote the book on microservices and I'll quote myself back to you: don't start with them. Premature decomposition is as bad as premature optimization. Start with a well-structured monolith. You can split it later. You cannot easily un-split what you've distributed too early.</div>
</div>
<div class="chat-turn">
<div class="chat-speaker">🔵 Jeff Dean</div>
<div class="chat-body jeff">At Google scale, coupling becomes a deployment bottleneck — that's real. But you have four people. The question isn't about scale. It's about what makes your team fastest right now. Microservices add coordination cost. At four people, you feel that immediately and in every meeting.</div>
</div>
</div>
<div class="step-label">Launch the room</div>
<div class="cmd-block">
<div class="cmd-label"><span>Claude Code</span><span class="cmd-note">direct launch, already configured</span></div>
<pre id="cmd-yc">/bmad-party-mode --party yc-advisors</pre>
<button class="cmd-copy" onclick="cmdCopyEl(this,'cmd-yc')">Copy</button>
</div>
<p style="color: var(--dim); font-size: 13px; margin-top: 12px;">Pitch your idea. Or describe what you're stuck on. They'll push back on the parts you're rationalizing.</p>
<div class="chat-review" style="margin-top: 12px;">
<div class="chat-turn">
<div class="chat-speaker">You</div>
<div class="chat-body user-q">I want to build a tool that helps small businesses manage their social media. There's obviously a big market.</div>
</div>
<div class="chat-turn">
<div class="chat-speaker">🟢 Paul Graham</div>
<div class="chat-body pg">"Obviously a big market" is what people say when they haven't talked to customers yet. Who specifically are you building this for? Not "small businesses" — that's 30 million companies. Name ten you've talked to. What did they say was their actual problem, not the problem you assumed they had?</div>
</div>
<div class="chat-turn">
<div class="chat-speaker">🔵 Marc Andreessen</div>
<div class="chat-body marc">The market is real. The competition is brutal. Buffer, Hootsuite, Sprout Social, Later — they've all been at this for a decade. What's your wedge? What do you do that none of them do, for one specific kind of customer? "Better UX" is not a wedge. It's a hope.</div>
</div>
<div class="chat-turn">
<div class="chat-speaker">🟣 Jessica Livingston</div>
<div class="chat-body jessica">I've seen this pitch a hundred times. Not saying that's bad — it means the market signal is strong. But I want to know: have you built anything yet? Even a spreadsheet that does this manually? The founders who succeed usually started by doing the thing by hand for five customers before they wrote a line of code.</div>
</div>
</div>
<div class="step-label">Launch the room</div>
<div class="cmd-block">
<div class="cmd-label"><span>Claude Code</span><span class="cmd-note">direct launch, already configured</span></div>
<pre id="cmd-bridge">/bmad-party-mode --party enterprise-bridge</pre>
<button class="cmd-copy" onclick="cmdCopyEl(this,'cmd-bridge')">Copy</button>
</div>
<p style="color: var(--dim); font-size: 13px; margin-top: 12px;">Ask anything. Project planning, ethical dilemmas, how long a feature will actually take. Scotty will tell you why you're wrong about the timeline.</p>
You're not limited to these three. Run this command and just tell BMAD what universe you want:
/bmad-customize
Then just describe it in plain English:
"Create a room with the women who led the civil rights movement — Rosa Parks, Fannie Lou Hamer, Diane Nash. Let whoever is most relevant to the topic speak."
"I want a room of fictional detectives — Sherlock Holmes, Hercule Poirot, Nancy Drew. They should argue about what the evidence actually means."
"A room of tech founders who failed publicly — MySpace, Vine, Theranos. Let them share what they would have done differently."
BMAD will write the config, show you what it built, and save it. From then on, one command launches the room.
Open-cast rooms are one of five new tools in 6.9.0. Each gets its own deep-dive.
This section is for developers who want to understand the mechanics. Everything above works without knowing any of this.
How open-cast works: Every BMAD party group can have a members array. When that array is absent or empty, resolve_party.py sets open_cast: True on the group. SKILL.md reads that flag and instructs the model to cast dynamically from the scene description rather than from a fixed roster.
The config lives at: _bmad/custom/bmad-party-mode.user.toml — personal, gitignored by default. A team version lives at _bmad/custom/bmad-party-mode.toml (committed, shared).
Anchoring: Add a members list alongside your scene to pin specific faces while keeping the room open to others. The listed members are always present; the scene invites others in.
Face-saving: After a session where unexpected characters showed up, BMAD offers to save them. Saving writes them to your user TOML as party_members. For open-cast rooms, they don't get added to members (that would fix the roster) — they stay in the collective, reachable by name or by the scene.
Comments
Loading comments…
Leave a comment