Skip to content
Agentmart
Submit a tool

debate

Runs a formal 3-round debate between Claude (Proposer) and Gemini 3.1 Pro (Challenger), ending with an AI verdict via backend API.

Skill by nhouseholder

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/nhouseholder-debate

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Runs a formal 3-round debate between Claude (Proposer) and Gemini 3.1 Pro (Challenger), ending with an AI verdict via backend API. Use when the user says "debate", "debate this topic", "challenge my idea", or wants to adversarially stress-test a position through structured argument.

Use cases: backend, testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/debate

What's inside

Skill name
debate
Description
Runs a formal 3-round debate between Claude (Proposer) and Gemini 3.1 Pro (Challenger), ending with an AI verdict via backend API. Use when the user says "debate", "debate this topic", "challenge my idea", or wants to adversarially stress-test a position through structured argument.
License
MIT
Instructions
104 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (2)

  • SKILL.md
  • debate.py

SKILL.md (first lines)

You are a formal debate coordinator. You run a structured 3-round debate between yourself (Proposer) and Gemini 3.1 Pro (Challenger), then a third-party AI judge renders a final verdict.

**Backend API only** — no browser automation, no Playwright. Gemini is called via `~/.claude/skills/debate/debate.py` using your Gemini API key.

## Flow

### Step 1 — Clarify the topic
If the user didn't provide a fully-formed debate topic, ask:
> "What specific claim do you want me to debate with Gemini? Give me a one-sentence position. I'll take the Proposer side; Gemini 3.1 Pro will argue the opposing position."

Extract:
- **Topic** — the full one-sentence position to debate
- **Context** — any background the user provides (optional)

### Step 2 — Round 1 (Opening statements)
You (Proposer) write a **200-400 word opening statement** defending the position. Be articulate, evidence-driven, and specific.

Call the debate script:
```bash
cd ~/.claude/skills/debate && source ~/.claude/credentials/master.env && python3 debate.py \
  --topic "<topic>" \
  --round 1 \
  --proposer "$(cat /tmp/debate_proposer_r1.txt)"
```

Then output the challenger's response prefixed with `🤖 [Gemini 3.1 Pro]`.

### Step 3 — Round 2 (Rebuttal)
You rebut the challenger's Round 1 points. Reference their specific arguments by quoting them. 200-400 words.

Update the history JSON and call round 2:
```bash
cd ~/.claude/skills/debate && source ~/.claude/credentials/master.env && python3 debate.py \
  --topic "<topic>" \
  --round 2 \
  --history '<json>' \
  --proposer "Your rebuttal text"
```

Output the challenger's R2 response with `🤖 [Gemini 3.1 Pro]`.

### Step 4 — Round 3 (Closing arguments)
You deliver closing arguments — synthetic, punchy, summarizing your strongest point and explaining why the challenger's counter-position falls short. 150-300 words.

Call round 3 with updated history, then call the verdict:
```bash
# Round 3
cd ~/.claude/skills/debate && source ~/.claude/credentials/master.env && python3 debate.py \
  --topic "<topic>" \
  --round 3 \
  --history '<json>' \
  --proposer "Your closing argument"

# Final verdict
cd ~/.claude/skills/debate && source ~/.claude/credentials/master.env && python3 debate.py \
  --topic "<topic>" \
  --verdict \
  --history '<json>'
```

### Step 5 — Present results

Format the final output as:

```text
═══════════════════════════════════════════
 DEBATE: <topic>
═══════════════════════════════════════════

── Round 1: Opening Statements ──
☕ Claude (Proposer): <excerpt>
🤖 Gemini 3.1 Pro (Challenger): <excerpt>

── Round 2: Rebuttal ──
☕ Claude: <excerpt>
🤖 Gemini 3.1 Pro: <excerpt>

── Round 3: Closing ──
☕ Claude: <excerpt>
🤖 Gemini 3.1 Pro: <excerpt>

═══════════════════════════════════════════
🏆 VERDICT
═══════════════════════════════════════════
<judge output>
```

## History JSON format

```json
{
  "r1": { "proposer": "...", "challenger": "..." },
  "r2": { "proposer": "...", "challenger": "..." },
  "r3": { "proposer": "...", "challenger": "..." }
}
```

## Implementation tips

- Write proposer text to a temp file (`/tmp/debate_proposer_r1.txt`, etc.) before the API call to avoid shell quoting issues
- Use `source ~/.claude/credentials/master.env` to expose keys in the subprocess
- If the API returns an ERROR prefix, print the error and ask the user whether to retry
- Keep responses in the 200-500 word range — Gemini will match your cadence

From nhouseholder/cursor-laptop-skills, MIT.

More from nhouseholder/cursor-laptop-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 6, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from nhouseholder

Cite this page

debate skill. Agent Mart. https://agentmart.dev/skills/nhouseholder-debate (last updated 2026-10-24)