judge-with-debate

Evaluate solutions through multi-round debate between independent judges until consensus

By neolabhq · 1,156 installs

npx skills add neolabhq/context-engineering-kit --skill judge-with-debate

Source repository · Upstream listing

judge with debate <task Evaluate solutions through multi agent debate where independent judges analyze, challenge each other's assessments, and iteratively refine their evaluations until reaching consensus or maximum rounds. </task <context This command implements the Multi Agent Debate pattern for high quality evaluation where multiple perspectives and rigorous argumentation improve assessment accuracy. Unlike single pass evaluation, debate forces judges to defend their positions with evidence and consider counter arguments. Key benefits: Structured evaluation Meta judge produces tailored rubrics and criteria before judging begins Multiple perspectives Three independent judges reduce individual bias Evidence based debate Judges defend positions with specific evidence from the solution and evaluation specification Iterative refinement Up to 3 debate rounds drive convergence on accurate scores Shared specification Meta judge runs once; all judges across all rounds share the same evaluation specification </context Pattern: Debate Based Evaluation This command implements iterative multi judge debate: Process Setup: Create Reports Directory Before starting evaluation, ensure the reports directory exists: Report naming convention: .specs/reports/{solution name} {YYYY MM DD}.[1 2 3].md Where: {solution name} Derived from solution filename (e.g., users api from src/api/users.ts ) {YYYY MM DD} Current date [1 2 3] Judge number Phase 0.5: Dispatch Meta Judge Before independent analysis, dispatch a meta judge agent to generate a tailored evaluation specification. The meta judge runs ONCE and produces rubrics, checklists, and scoring criteria that ALL judges will use across ALL rounds. Meta judge prompt template: Dispatch: Wait for the meta judge to complete and extract the evaluation specification YAML from its output before proceeding to Phase 1. Phase 1: Independent Analysis Launch 3 independent judge agents in parallel (Opus for rigor): 1. Each judge receives: Path to solution(s) being evaluated The meta judge's evaluation specification YAML Task description 2. Each produces independent assessment saved to .specs/reports/{solution name} {date}.[1 2 3].md 3. Reports must include: Per criterion scores with evidence Specific quotes/examples supporting ratings Overall weighted score Key strengths and weaknesses Key principle: Independence in initial analysis prevents groupthink. Prompt template for initial judges: yaml {meta judge's evaluation specification YAML} Dispatch each judge: Phase 2: Debate Rounds (Iterative) For each debate round (max 3 rounds): Launch 3 debate agents in parallel : 1. Each judge agent receives: Path to their own previous report ( .specs/reports/{solution name} {date}.[1 2 3].md ) Paths to other judges' reports ( .specs/reports/{solution name} {date}.[1 2 3].md ) The original solution The meta judge's evaluation specification YAML 2. Each judge: Identifies disagreements with other judges ( 1 point score gap on any criterion) Defends their own ratings with evidence from the solution and evaluation specification Challenges other judges' ratings they disagree with Considers counter arguments Revises their assessment if convinced 3. Updates their report file with new section: Debate Round {R} 4. After they reply, if they reached agreement move to Phase 3: Consensus Report Key principle: Judges communicate only through filesystem orchestrator doesn't mediate and don't read reports files itself, it can overflow your context. Prompt template for debate judges: yaml {meta judge's evaluation specification YAML} Dispatch each debate judge: Consensus Check After each debate round, check for consensus: Consensus achieved if: All judges' overall scores within 0.5 points of each other No criterion has 1 point disagreement across any two judges All judges explicitly state they accept the consensus If no consensus after 3 rounds: Report persistent disagreements Provide all judge reports for human review Flag that automated evaluation couldn't reach consensus Orchestration Instructions: Step 1: Dispatch Meta Judge (Phase 0.5) 1. Launch meta judge agent 2. Wait for meta judge to complete 3. Extract the evaluation specification YAML from meta judge output Step 2: Run Independent Analysis (Phase 1) 1. Launch 3 judge agents in parallel (Judge 1, 2, 3) with the evaluation specification YAML 2. Each writes their independent assessment to .specs/reports/{solution name} {date}.[1 2 3].md 3. Wait for all 3 agents to complete Step 3: Check for Consensus Let's work through this systematically to ensure accurate consensus detection. Read all three reports and extract: Each judge's overall weighted score Each judge's score for every criterion Check consensus step by step: 1. First, extract all overall scores from each report and list them explicitly 2. Calculate the difference between the highest and lowest overall scores If difference <= 0.5 points overall consensus achieved If difference 0.5 points no consensus yet 3. Next, for each criterion, list all three judges' scores side by side 4. For each criterion, calculate the difference between highest and lowest scores If any criterion has difference 1.0 point no consensus on that criterion 5. Finally, verify consensus is achieved only if BOTH conditions are met: Overall scores within 0.5 points All criterion scores within 1.0 point Step 4: Decision Point If consensus achieved : Go to Step 6 (Generate Consensus Report) If no consensus AND round < 3 : Go to Step 5 (Run Debate Round) If no consensus AND round = 3 : Go to Step 7 (Report No Consensus) Step 5: Run Debate Round 1. Increment round counter (round = round + 1) 2. Launch 3 judge agents in parallel with the same evaluation specification YAML 3. Each agent reads: Their own previous report from filesystem Other judges' reports from filesystem Original solution 4. Each agent appends "Debate Round {R}" section to their own report file 5. Wait for all 3 agents to complete 6. Go back to Step 3 (Check for Consensus) Step 6: Reply with Report Let's synthesize the evaluation results step by step. 1. Read all final reports carefully 2. Before generating the report, analyze the following: What is the consensus status (achieved or not)? What were the key points of agreement across all judges? What were the main areas of disagreement, if any? How did the debate rounds change the evaluations? 3. Reply to user with a report that contains: If there is consensus: Consensus scores (average of all judges) Consensus strengths/weaknesses Number of rounds to reach consensus Final recommendation with clear justification If there is no consensus: All judges' final scores showing disagreements Specific criteria where consensus wasn't reached Analysis of why consensus couldn't be reached Flag for human review 4. Command complete Step 7: Report No Consensus Report persistent disagreements Provide all judge reports for human review Flag that automated evaluation couldn't reach consensus Phase 3: Consensus Report If consensus achieved, synthesize the final report by working through each section methodically: <output The command produces: 1. Reports directory : .specs/reports/ (created if not exists) 2. Initial reports : .specs/reports/{solution name} {date}.1.md , .specs/reports/{solution name} {date}.2.md , .specs/reports/{solution name} {date}.3.md 3. Debate updates : Appended sections in each report file per round 4. Final synthesis : Replied to user (consensus or disagreement summary) </output Best Practices Meta Judge + Judge Verification Never skip meta judge Tailored evaluation criteria produce better judgments and more grounded debates Meta judge runs once Same specification for all 3 judges across all debate rounds Include CLAUDE PLUGIN ROOT Both meta judge and judges need the resolved plugin root path Meta judge YAML Pass only the YAML to judges, do not modify it Debate grounding Judges should reference evaluation specification criteria when defending positions Common Pitfalls Judges create new reports instead of appending Loses debate history Orchestrator passes reports between judges Violates filesystem communication principle Weak initial assessments Garbage in, garbage out Too many debate rounds Diminishing returns after 3 rounds Sycophancy in debate Judges agree too easily without real evidence Modifying meta judge YAML Specification must be passed verbatim to all judges Re running meta judge between rounds Specification is generated once and shared Do This Judges append to their own report file Judges read other reports from filesystem directly Strong evidence based initial assessments Maximum 3 debate rounds Require evidence for changing positions Ground debate arguments in the evaluation specification criteria Use same evaluation specification across all rounds Example Usage Evaluating an API Implementation Phase 0.5 Meta Judge (assuming date 2025 01 15): Meta judge generates evaluation specification YAML with criteria: Correctness (30%), Design (25%), Security (20%), Performance (15%), Documentation (10%) Rubrics, checklists, and scoring definitions for each criterion Phase 1 Independent Analysis (3 judges receive specification): .specs/reports/users api 2025 01 15.1.md Judge 1 scores correctness 4/5, security 3/5 .specs/reports/users api 2025 01 15.2.md Judge 2 scores correctness 4/5, security 5/5 .specs/reports/users api 2025 01 15.3.md Judge 3 scores correctness 5/5, security 4/5 Disagreement detected: Security scores range from 3 5 Phase 2 Debate Round 1 (judges reference evaluation specification): Judge 1 defends 3/5: "Missing rate limiting, input validation incomplete per specification checklist item 4" Judge 2 challenges: "Rate limiting exists in middleware (line 45), satisfies specification rubric" Judge 1 revises to 4/5: "Missed middleware, but input validation still weak per specification" Judge 3 defends 4/5: "Input validation adequate for requirements as defined in specification" Debate Round 1 outputs: All judges now 4 5/5 on security (within 1 point) Disagreement on input validation remains Debate Round 2 (same evaluation specification): Judges examine specific validation code against specification criteria Judge 2 revises to 4/5: "Upon re examination, email validation regex is weak per specification checklist" Consensus: Security = 4/5 Final consensus: </output