From mk
Orchestrates 2-4 agent perspectives to debate architecture trade-offs and design decisions. Useful for 'should we X or Y?' discussions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mk:party "topic to discuss" [--agents planner,architect,developer]When to use
Use when deliberating architecture trade-offs — brings 2-4 agent perspectives into one discussion. NOT for solo brainstorming (see mk:brainstorming), NOT for re-examining a finished review or plan (see mk:elicit), NOT for product validation / 'is this worth building' (see mk:office-hours), NOT for sprint retrospectives (see mk:retro).
"topic to discuss" [--agents planner,architect,developer]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Bring multiple agent perspectives into one room. Agents debate, challenge, and build on each other's ideas to catch design flaws before code exists.
Bring multiple agent perspectives into one room. Agents debate, challenge, and build on each other's ideas to catch design flaws before code exists.
This skill orchestrates discussion among existing agent definitions. The following must exist under .claude/agents/ (per agent-routing.md):
architect, developer, security, tester, reviewer, ui-ux-designer, analyst, planner, researcher
If a referenced agent is missing, fall back to the Default row in "1. Agent Selection". Never silently skip a topic-mapped agent without falling back — the discussion loses its challenge dimension.
For dedicated retrospectives, use
mk:retro.mk:partyis for architectural trade-off deliberation.
Execution model: Agents are simulated personas in the single orchestrator session — NOT real subagent spawns via the
Agenttool. The per-round token caps (150 / 175 / 100) are enforced by the orchestrator generating each response in-context. For real parallel multi-session work (separate context windows, worktree isolation), seemk:team-config.
Based on topic keywords, select 2-4 agents:
| Topic Signals | Agents Selected |
|---|---|
| architecture, design, system, scale | architect + developer + planner |
| security, auth, token, session, encrypt | security + developer + planner |
| UI, UX, design, responsive, accessible | ui-ux-designer + developer + planner |
| test, coverage, TDD, quality | tester + developer + reviewer |
| performance, latency, optimize, cache | architect + developer + analyst |
| refactor, migration, breaking change | architect + developer + reviewer |
| sprint, retro, what went wrong | planner + developer + tester + reviewer |
| Default (no keyword match) | planner + architect + developer |
User can override with --agents flag.
Selection constraints (canonical):
developer).reviewer, security, or architect).orchestrator or analyst in challenge slots — they manage, not debate. (analyst may participate in performance-domain rows where it's already mapped.)Each round, every selected agent responds to the topic in their role:
User can interject between rounds. User can say "decide" to skip to synthesis.
See "Example" below for one full round + synthesis at the prescribed token caps.
After rounds complete (max 3) or user says "decide", produce a synthesis using the canonical Decision Record Template (see "Decision Record Template (canonical)" below). The same template is used for both the in-discussion synthesis output and the persistent memory write — single source of truth.
See "Example" for a populated record.
Topic: "REST or GraphQL for the public API?"
Selected agents (architecture row): architect + developer + planner.
Round 1 — positions (≤150 tokens each):
Round 2 — challenges + blind spots (≤175 tokens combined each):
Round 3 — final recommendations (≤100 tokens each):
Synthesis (using Decision Record Template):
## 2026-05-09 — Public API: REST first, GraphQL re-eval at client #5
**Context:** 2 clients today, 4 on roadmap; team has REST tooling but no GraphQL ops experience.
**Decision:** REST + per-client BFF. Re-evaluate GraphQL when client #5 ships, with persisted-queries-only as a hard constraint if adopted.
**Rationale:** Operational cost of GraphQL (N+1, no query-cost rate limiting) outweighs schema-coupling benefit at current client count. Migration cost was raised but discounted given <5 clients. Round-2 blind spots also surfaced: external-partner exposure, field-level auth model, and 12-month maintainer bus factor — all flagged as open questions before any GraphQL re-evaluation.
**Dissent:** architect argued for GraphQL-now with persisted queries only. Acknowledged but overruled because the team lacks GraphQL ops experience and the client count doesn't yet justify the operational surface.
**Next Action:** Spec the per-client BFF interface for client #3 (next on roadmap). Cap at 1 sprint; delivery unblocks the re-evaluation criteria.
The verdict in this example is illustrative only — not a project-wide stance on REST vs GraphQL. What it calibrates is response SHAPE: token-bounded position, terse challenge, compressed final recommendation, and a Decision Record that names dissent without erasing it.
prompts/agent-selector.md — Logic for choosing relevant agentsprompts/synthesis.md — Template for decision summaryallowed-tools is intentionally broad: Bash for mkdir -p .claude/memory, Grep/Glob for topic-keyword grounding against the codebase, Read for prompts/*.md references, AskUserQuestion for the "decide" gate. Do not trim without measuring loss.This template is the single source of truth for both the in-discussion synthesis output and the persistent record written to .claude/memory/decisions.md. Do NOT introduce alternative shapes elsewhere in the skill.
## {ISO-date} — {decision-title}
**Context:** {1-sentence problem}
**Decision:** {chosen option}
**Rationale:** {key reasons from synthesis, including notable Round-2 blind spots}
**Dissent:** {minority position, if any}
**Next Action:** {single concrete first step, OR `(none — decision is its own action)`}
Synthesis rules:
**Decision:** No consensus. and list the options with their advocates under **Rationale:**.**Dissent:** if any agent disagreed; "(none)" only if every agent converged.**Next Action:**. Use (none — decision is its own action) when the decision needs no separate follow-up step (e.g., "use REST" — the codebase choice IS the action). Otherwise name ONE concrete first step (not a list).**Rationale:** when they materially shaped the decision; ignore probes that surfaced no new information.After synthesis concludes, append the populated Decision Record (using the template above) to .claude/memory/decisions.md. Run mkdir -p .claude/memory first to create the directory if it does not exist.
This step is NOT optional. Decisions lost to session end cannot be recovered.
Party mode is opt-in:
/mk:party "topic"npx claudepluginhub ngocsangyem/meowkit --plugin mkConvenes parallel role-specialized agents (principal engineer, platform, integration, test, QA, security) to debate cross-domain technical decisions or audit codebases in real time. The invoking Claude acts as CEO, routing peer DMs and producing a one-page decision log.
Facilitates structured multi-voice deliberation for architecture, technology selection, or design decisions. Each of four independent personas (Architect, Skeptic, Pragmatist, Critic) receives isolated context to prevent anchoring bias, then synthesizes agreement and trade-offs.
Orchestrates design debates with 5-agent team to compare architectures, implementation options, tradeoffs, and generate ADRs. Use for technical decisions like API design, library selection, or multiple approaches.