By sharifli4
Two debater agents directly argue with each other across multiple rounds until they converge on the most correct answer — then an arbiter synthesizes the final result
Use this agent when the agent-battle orchestrator needs a final arbiter to review the complete multi-round debate transcript between all agents and produce the definitive answer. Called only after all debate rounds complete or convergence is detected. The arbiter may optionally send the debate back for one more targeted round. <example> Context: Debate rounds complete, convergence reached user: "battle: design a rate limiter" assistant: "Alpha and Beta have converged. I'll use the arbiter to render the final verdict." <commentary> After convergence or max rounds, the arbiter synthesizes the full debate into a definitive answer. </commentary> </example> <example> Context: Max debate rounds reached without convergence user: "battle: monolith vs microservices for this project" assistant: "Max rounds reached. I'll use the arbiter to judge the debate and produce the final answer." <commentary> When agents haven't converged after max rounds, arbiter judges the full record and decides. </commentary> </example>
Use this agent when the agent-battle orchestrator needs a debater agent to propose a solution, self-critique its own proposal, directly critique an opponent's solution, or defend its own position against opponents' critiques. This agent plays all four roles across debate rounds. It has access to Read, Grep, Glob, and WebSearch tools for evidence gathering. <example> Context: Battle command launching initial proposals user: "battle: implement a thread-safe queue in Python" assistant: "I'll launch Alpha and Beta debaters in parallel to propose independent solutions." <commentary> The battle orchestrator triggers two debater agents in parallel for the proposal phase. </commentary> </example> <example> Context: Cross-critique round in progress user: "Alpha, critique Beta's solution to the thread-safe queue problem." assistant: "I'll use the debater agent as Alpha to directly challenge Beta's approach." <commentary> The debater agent switches into critique mode, attacking the opponent's specific solution. </commentary> </example> <example> Context: Defense round after critique user: "Alpha, Beta challenged your solution. Defend it and refine your position." assistant: "I'll use the debater agent as Alpha to defend and improve its solution." <commentary> The debater agent defends its previous position and incorporates valid critique points. </commentary> </example>
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Claude Code plugin that pits multiple AI agents against each other in adversarial debate. Agents independently propose solutions, self-critique, then attack and defend across adaptive rounds until they converge on the strongest answer. An arbiter scores every position and synthesizes the final result.

┌─────────┐ ┌─────────┐ ┌─────────┐
│ Agent 1 │ │ Agent 2 │ │ Agent N │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
Round 1 ▼ ▼ ▼
Propose ┌─────────────────────────────────────┐
│ Each agent proposes independently │
└──────────────────┬──────────────────┘
│
Round 1.5 ▼
Self-Critique ┌─────────────────────────────────────┐
│ Each agent attacks its own proposal │
│ and produces a hardened position │
└──────────────────┬──────────────────┘
│
┌──────────────────────────────────────────┐
│ ADAPTIVE LOOP │
│ │
Round K │ ┌────────────────────────────────────┐ │
Cross-Attack │ │ Every agent attacks every other │ │
│ │ N×(N-1) critiques in parallel │ │
│ └─────────────────┬──────────────────┘ │
│ │ │
Defend │ ┌─────────────────▼──────────────────┐ │
│ │ Every agent defends and refines │ │
│ └─────────────────┬──────────────────┘ │
│ │ │
Converge? │ ┌─────────────────▼──────────────────┐ │
│ │ CONVERGED ──────────► exit loop │ │
│ │ DIVERGED ───► focus areas ► loop │ │
│ │ Max rounds ─────────► exit loop │ │
│ └────────────────────────────────────┘ │
└──────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ ARBITER │
│ │
│ • Reads full transcript │
│ • Scores all agents (/60) │
│ • May send back for 1 more round │
│ • Synthesizes final answer │
└─────────────────────────────────────┘
By default, agents alternate between Opus and Sonnet so the debate has genuine model diversity — different models have different reasoning patterns and blind spots. Use --model to force all agents to the same model. The arbiter always uses Opus.
In Claude Code, run:
/plugin marketplace add sharifli4/crucible
/plugin install crucible@crucible-marketplace
Requires Claude Code with a valid Anthropic API key.
/crucible [--agents N] [--model sonnet|opus] [--rounds N] <your task>
| Flag | Default | Description |
|---|---|---|
--agents | 2 | Number of debaters (2-5) |
--model | mixed | Force all debaters to one model (sonnet, opus, or haiku). Default: agents alternate between opus and sonnet for model diversity. |
--rounds | 5 | Max cross-attack rounds (2-5, exits early on convergence) |
Cost note: Each cross-attack round runs N×(N-1) critiques in parallel. With 2 agents that's 2 critiques/round; with 5 agents it's 20 critiques/round. A full 5-agent, 5-round run can exceed 80 agent calls. Start with 2-3 agents for most tasks.
/crucible implement a thread-safe LRU cache in Python
/crucible --agents 3 should we use event sourcing or CRUD for a high-write system?
/crucible --agents 3 --model opus design a distributed consensus algorithm
crucible/
├── .claude-plugin/
│ ├── plugin.json
│ └── marketplace.json
├── commands/crucible.md
├── agents/
│ ├── debater.md
│ └── arbiter.md
└── README.md
MIT
npx claudepluginhub sharifli4/crucible --plugin crucibleCapture the product-level 'why' behind every code change. Enriches commit messages with business context and generates changelogs that explain both what changed and why.
Multi-LLM Council for adversarial debate, cross-validation, and structured decision-making
Truth-seeking sparring partner for Claude Code. Challenges claims, decisions, and documents through structured dialectical analysis.
Convene parallel role-specialized peer agents (dynamic roster, plan card first) to debate a cross-domain decision or audit a codebase in real time. Invoking Claude acts as CEO: convenes, routes peer-DMs, arbitrates deadlocks, writes a one-page decision log.
Multi-agent deliberation for AI coding assistants
Multi-perspective council analysis. Spawns parallel cognitive perspectives to analyze questions, plans, and ideas from multiple angles with structured dialectical synthesis.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns