debate-research
Multi-perspective structured debate for complex topics. Spawn parallel subagents with opposing stances, cross-inject arguments for rebuttal, then synthesize via neutral judge into a consensus report with recommendations and scenario matrix. Use when: (1) user asks for deep comparison, pros/cons, or X vs Y analysis, (2) user asks for multi-angle research on a controversial or complex topic, (3) user explicitly requests debate, dialectical analysis, or adversarial research. NOT for: simple factual lookups, single-perspective deep research (use academic-deep-research), or quick opinion questions.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/caius-kong/debate-researchDebate Research
Input Parameters
Collect from user before starting. Only topic is required; all others have defaults.
| Param | Required | Default | Description |
|---|---|---|---|
topic | yes | — | Debate subject |
roles | no | Proponent + Opponent | 2-4 role objects: {name, stance, model?}. Default: Proponent (argue for) and Opponent (argue against). Model inherits from global. |
goal | no | inferred | What question to answer |
audience | no | "self" | Who reads the report: self / team / public |
decision_type | no | "personal-choice" | personal-choice / team-standardization / market-analysis |
evidence_round | no | "auto" | false / true / auto (enable when topic is fact-dense) |
confirm_plan | no | true | Show plan and wait for user OK before execution |
model | no | inherit | Global subagent model; role-level override takes priority |
output_path | no | null | File path for report; null = return in conversation |
Implicit parameter: language — inferred from the user's topic/conversation language. All subagent prompts output in this language.
Example User Prompt
Claude Code vs OpenCode (gpt-5.4, claude-4.6-sonnet)
Execution Pipeline
Phase 0 — Pre-flight
Step 0a: Model reachability check
Collect all unique models (global + per-role + judge). For each unique model,
probe via sessions_spawn with a minimal one-sentence task (e.g. "Reply OK")
and model: <target>. Do NOT use curl or external HTTP — all models route
through OpenClaw's provider config.
If any probe fails:
- If user explicitly specified the failed model → abort, report failure, suggest alternatives
- If model was default-assigned → warn user, fall back to session default model, continue
Step 0b: Plan presentation (if confirm_plan: true)
Present to user:
- Topic
- Role × model assignment table
- Evidence round: on/off/auto (with rationale if auto)
- Estimated subagent call count
- Goal / audience / decision_type interpretation
[STOP — wait for user confirmation]
If confirm_plan: false, skip directly to Phase 1.
Phase 1 — Stance Investigation (parallel)
Spawn one subagent per role, all in parallel.
Each agent receives a prompt built from:
- Role name + stance
- Topic
- web_search: enabled
Required output format per agent:
Core arguments (3-5):
- [argument] | confidence: 0.0-1.0 | source: [official-docs/community-feedback/personal-blog/academic-paper]
Opponent weaknesses (2-3)
Predicted counter-attacks (1-2)
Use sessions_spawn + sessions_yield to wait for all completions.
Error handling:
- Agent timeout → mark output
[INCOMPLETE], continue pipeline
Phase 2 — Cross Rebuttal (parallel)
Spawn one subagent per role, all in parallel.
Each agent receives:
- Its original stance
- All other roles' Phase 1 output (cross-injected)
- web_search: disabled
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-caius-kong-debate-research": {
"enabled": true,
"auto_update": true
}
}
}