$npx -y skills add WenyuChiou/agent-collab-skills --skill agent-debateUse when a consequential decision needs adversarial review, opposing agent arguments, a second opinion via debate, or explicit trade-off analysis before implementation.
| 1 | # agent-debate |
| 2 | |
| 3 | Anti-consensus tool. Most LLM output collapses to a single |
| 4 | "reasonable-sounding" answer that hides real trade-offs. For |
| 5 | **consequential decisions** (you'll regret picking the wrong |
| 6 | side), this skill stages an explicit pro/con debate between two |
| 7 | agents, then makes the disagreement legible. |
| 8 | |
| 9 | This is **not** for routine choices — variable naming, file layout, |
| 10 | which library to use for a one-off script. It's for decisions where |
| 11 | there's a real trade-off and the "obvious" answer might be wrong. |
| 12 | |
| 13 | ## When to use |
| 14 | |
| 15 | Trigger phrases: |
| 16 | |
| 17 | - "Have Claude and Codex debate this design choice." |
| 18 | - "Adversarial review on `<decision>`." |
| 19 | - "Get a second opinion via debate." |
| 20 | - "I'm not sure about this — make the agents argue it out." |
| 21 | - "Steel-man both sides on `<topic>`." |
| 22 | |
| 23 | Not for: |
| 24 | |
| 25 | - Routine choices (pick whatever; doesn't matter long-term). |
| 26 | - Decisions where you already know the right answer and just want |
| 27 | validation (that's confirmation bias; the debate will waste |
| 28 | tokens). |
| 29 | - Open-ended brainstorming (use a single agent + lots of follow-ups). |
| 30 | |
| 31 | ## Inputs |
| 32 | |
| 33 | User must provide: |
| 34 | |
| 35 | 1. **The decision** — phrased as a yes/no or A/B question. |
| 36 | - Good: "Should we keep legacy.py as a deprecation shim or |
| 37 | remove it?" |
| 38 | - Bad: "What should we do about legacy.py?" (too open) |
| 39 | 2. **Optional**: which agent argues which side. If unspecified, the |
| 40 | skill picks based on agent strengths (see below). |
| 41 | 3. **Optional**: number of rounds. Default 2 (each agent gets 2 |
| 42 | turns). More than 3 rarely adds signal. |
| 43 | 4. **Optional**: context policy. Default debate turns are 200-400 |
| 44 | words, final synthesis is <= 250 words, and only the accepted |
| 45 | decision is eligible for shared memory. |
| 46 | |
| 47 | ## Workflow |
| 48 | |
| 49 | ### 1. Frame the decision |
| 50 | |
| 51 | Restate the decision as a clear A vs B (or yes vs no). If the user |
| 52 | gave an open-ended question, propose the framing back to them and |
| 53 | get confirmation before spending tokens on a debate. |
| 54 | |
| 55 | Example: |
| 56 | - User: "Should we cache LLM responses?" |
| 57 | - Skill: "Framing: **A) Yes, add an LRU cache keyed on prompt |
| 58 | hash** vs **B) No, every call is unique enough that caching adds |
| 59 | bug surface without saving money.** Confirm before I proceed." |
| 60 | |
| 61 | ### 2. Assign sides |
| 62 | |
| 63 | Default heuristic: |
| 64 | |
| 65 | | Position character | Best argued by | |
| 66 | |---|---| |
| 67 | | "We should ship the simpler / less-surface option" | Claude (judgment-heavy, conservative bias) | |
| 68 | | "We should optimize for X performance / scale dimension" | Codex (concrete with numbers) | |
| 69 | | "We should consider edge cases X / Y / Z that the obvious answer misses" | Gemini (long-context, edge-case catching) | |
| 70 | | "We should follow the convention from <reference codebase or paper>" | Gemini (synthesizing from external sources) | |
| 71 | |
| 72 | If the user explicitly assigns sides, use those. Otherwise propose |
| 73 | the assignment and confirm. |
| 74 | |
| 75 | ### 3. Initialize `.coord/debate_<topic>.md` |
| 76 | |
| 77 | ```markdown |
| 78 | # Debate — <topic-slug> |
| 79 | |
| 80 | **Decision:** <one-line A vs B framing> |
| 81 | **Rounds:** 2 |
| 82 | **Side A** (argued by Codex): <position A> |
| 83 | **Side B** (argued by Gemini): <position B> |
| 84 | **Started:** 2026-04-28T... |
| 85 | |
| 86 | --- |
| 87 | |
| 88 | ## Round 1 |
| 89 | |
| 90 | ### Side A — Codex |
| 91 | <task: read .coord/debate_<topic>.md, argue Side A from scratch> |
| 92 | <argument here> |
| 93 | |
| 94 | ### Side B — Gemini |
| 95 | <task: read .coord/debate_<topic>.md (which now contains Codex's |
| 96 | arg), argue Side B as a rebuttal> |
| 97 | <argument here> |
| 98 | |
| 99 | --- |
| 100 | |
| 101 | ## Round 2 |
| 102 | |
| 103 | ### Side A — Codex |
| 104 | <task: read updated debate file, rebut Side B> |
| 105 | ... |
| 106 | ``` |
| 107 | |
| 108 | ### 4. Generate task files for the debate rounds |
| 109 | |
| 110 | For each agent's turn, write a task file in their delegate-skill |
| 111 | format: |
| 112 | |
| 113 | `.ai/codex_task_debate_<topic>_round1.md`: |
| 114 | |
| 115 | ```markdown |
| 116 | # Task: Argue Side A in debate on <topic> |
| 117 | |
| 118 | ## Context |
| 119 | - Repo: <path> |
| 120 | - Read: .coord/debate_<topic>.md (the debate transcript so far) |
| 121 | - Side A: <position A> |
| 122 | - Your role: argue Side A. Be specific. Reference real code / files |
| 123 | / numbers. Don't hedge ("on the other hand" is forbidden). |
| 124 | - Do NOT touch any source files. This is argument-only. |
| 125 | |
| 126 | ## Goal |
| 127 | Write a 200-400 word argument for Side A, focused on: |
| 128 | - The strongest specific reason Side A is right. |
| 129 | - The most concrete failure mode of Side B (with a worked example |
| 130 | if possible). |
| 131 | - One thing Side B might say that you concede is a real cost of |
| 132 | Side A. |
| 133 | |
| 134 | ## Acceptance |
| 135 | - Append your argument under "## Round 1 / ### Side A — Codex" in |
| 136 | .coord/debate_<topic>.md. |
| 137 | - Keep argument 200-400 words. Longer = penalty. |
| 138 | - No "on the other hand" hedging. |
| 139 | ``` |
| 140 | |
| 141 | Subsequent rounds: same template, but task file says "rebut Side B's |
| 142 | Round N argument; concede any genuinely strong point but explain |
| 143 | why Side A still wins net." Each round's task file references the |
| 144 | previous rounds in the debate file as input. |
| 145 | |
| 146 | ### 5. Run the rounds |
| 147 | |
| 148 | Hand off to `codex-delegate` / `gemini-delegate` to execute each |
| 149 | agent's turn. They write into the debate file directly (the task |
| 150 | file says where to append). |