From agent-debate
Use when the user wants two AI agents to debate or discuss something together, or presents a hard "X vs Y" architecture tradeoff. Default pair is Claude vs Codex; supports claude-codex, codex-claude, claude-claude, codex-codex. Triggers: "have them debate", "ask Codex too", "discuss with another agent", "two Claudes debating". Skip simple lookups and code edits.
npx claudepluginhub joaquincampo/agent-debate --plugin agent-debateThis skill uses the workspace's default tool permissions.
Orchestrates a peer back-and-forth between two AI agents. Default pair is Claude (`claude -p --effort max`) vs Codex (`codex exec` with high reasoning), but any pairing of `claude` and `codex` is supported. Captures the full transcript, lets the agents pause to ask the user a clarifying question when genuinely blocked, and produces a final synthesis (decision, tradeoffs, unresolved disagreements).
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Creates SEO content outlines, topic clusters, calendars, and identifies gaps. Use proactively for content strategy and planning.
Share bugs, ideas, or general feedback.
Orchestrates a peer back-and-forth between two AI agents. Default pair is Claude (claude -p --effort max) vs Codex (codex exec with high reasoning), but any pairing of claude and codex is supported. Captures the full transcript, lets the agents pause to ask the user a clarifying question when genuinely blocked, and produces a final synthesis (decision, tradeoffs, unresolved disagreements).
You are NOT a debater. Your job is: invoke the script, proxy any questions to the user, return the synthesis.
bash "${CLAUDE_PLUGIN_ROOT}/skills/agent-debate/agent-debate.sh" [--pair <a>-<b>] "<topic>" [rounds]
<topic> as a tight, single question. The user's words may be loose; tighten them.~/agent-debates/<timestamp>-<slug>.md.run_in_background: true or Monitor. Do NOT poll.--pair <a>-<b> selects who debates. Valid: claude-codex (default), codex-claude, claude-claude, codex-codex. The first agent in the pair speaks first AND writes the final synthesis. Same-kind pairs are labeled "Claude A" / "Claude B" (or "Codex A" / "Codex B") so they can address each other.
Pick the pair from the user's intent:
claude-codex).--pair claude-claude.--pair codex-codex.--pair codex-claude.If the user is ambiguous about who, default to claude-codex and mention what you picked.
Transcript: <path>. Mention this so the user can read the full debate.Stdout block:
AGENT_DEBATE_NEEDS_INPUT
TRANSCRIPT=<path>
QUESTIONS:
- <question 1>
- <question 2>
RESUME_WITH:
echo "<your answer>" | <script> --resume "<path>"
Steps:
QUESTIONS: (each starts with - ).echo "<user's full answer>" | bash "${CLAUDE_PLUGIN_ROOT}/skills/agent-debate/agent-debate.sh" --resume "<transcript path>".Show the user the stderr output and stop.
## User input section in the transcript.If the user asks "what did they actually say" or "show me the full debate", read the transcript file (path from stderr or the TRANSCRIPT= line) and quote relevant exchanges directly.
bash "${CLAUDE_PLUGIN_ROOT}/skills/agent-debate/agent-debate.sh" "topic" 4 < /dev/null \
> /tmp/debate-out.txt 2> /tmp/debate-err.txt
Run with run_in_background: true. When notified, read /tmp/debate-out.txt and check the exit code.
For resume, same pattern with --resume "<path>" and stdin piped from the user's answer.
codex is installed but the user has not run codex login, the script will hang in round 1 with no obvious error. The new preflight in agent-debate.sh catches a broken codex CLI but not a missing auth token. If a debate stalls before Codex's first turn, suspect this and tell the user to run codex login..state file from a killed run. If a previous debate was interrupted (Ctrl-C, killed process), <transcript>.state may persist and a --resume could continue an old session. If a resume behaves oddly, check if the state file matches the transcript you intend to continue. Delete it to force a fresh start.[ASK_USER: ...] is single-line. If an agent emits a question that spans multiple lines, only the first line is captured. Mitigation: when you see a question that looks cut off, read the transcript yourself and relay the full question to the user.claude -p runs without --dangerously-skip-permissions. If Claude tries to invoke a tool that would require user approval (web fetch is fine, file edits or shell ops would prompt), the script will hang. Topics that nudge Claude toward "let me check the codebase" are riskier than pure design questions.That is the trigger. Tighten X into a single question, optionally pick a round cap (default 100 lets them converge naturally; lower to 2/4/6 to bound runtime), invoke the script, follow the protocol.