Install
openclaw skills install red-teamAdversarial multi-agent debate engine for stress-testing decisions, ideas, and strategies. Orchestrates multiple AI agents with conflicting worldviews (bull, bear, operator, contrarian, etc.) to debate a question through structured rounds, then synthesizes results into a decision brief. Use for: red team analysis, adversarial debate, stress testing ideas, devil's advocate, "what could go wrong" analysis, decision validation, pre-mortem exercises.
openclaw skills install red-teamStress-test any decision by having AI agents with conflicting worldviews debate it.
One of these coding agent CLIs (uses your existing subscription — no API key needed):
claude — npm i -g @anthropic-ai/claude-codecodex — npm i -g @openai/codexgemini — npm i -g @google/gemini-cliNo Python dependencies beyond the standard library.
# Basic 3-persona debate (uses Max subscription via claude CLI)
python3 ~/.openclaw/skills/red-team/scripts/red-team.py \
--question "Should we do X?" \
--personas "bull,bear,operator"
# Full debate with context and output file
python3 ~/.openclaw/skills/red-team/scripts/red-team.py \
-q "Should we invest $50k in this deal?" \
-p "bull,bear,cash-flow,local-realist" \
-r 3 \
-c /path/to/deal-data.md \
-o /tmp/red-team-result.md
# Use a different model
python3 ~/.openclaw/skills/red-team/scripts/red-team.py \
-q "Should we launch this product?" \
-p "bull,customer,operator" \
-m opus
# List all available personas
python3 ~/.openclaw/skills/red-team/scripts/red-team.py --list-personas
When the user asks you to "red team" something, "stress test" an idea, play "devil's advocate", or asks "what could go wrong":
Persona selection guide:
| Key | Name | Worldview |
|---|---|---|
| bull | The Bull | Optimistic, opportunity-focused |
| bear | The Bear | Risk-averse, capital preservation |
| contrarian | The Contrarian | Oppositional, consensus-challenging |
| operator | The Operator | Execution-focused pragmatist |
| economist | The Economist | Macro trends, opportunity cost |
| local-realist | The Local Realist | Ground truth, local specifics |
| cash-flow | The Cash Flow Analyst | Income, carrying costs, IRR |
| regulator | The Regulator | Compliance, legal risk |
| technologist | The Technologist | Automation, scalability |
| customer | The Customer | End-user demand, willingness to pay |
| ethicist | The Ethicist | Moral implications, stakeholder impact |
| historian | The Historian | Historical patterns, precedent |
Create a JSON file:
{
"my-persona": {
"name": "The Skeptic",
"description": "Questions everything, trusts nothing",
"system": "You are The Skeptic — you question every assumption..."
}
}
Use with --custom-personas /path/to/file.json. Custom personas merge with built-ins.
| Flag | Default | Description |
|---|---|---|
--question, -q | required | The question to debate |
--personas, -p | bull,bear,operator | Comma-separated persona keys |
--rounds, -r | 2 | Number of critique rounds |
--output, -o | stdout | Output file path |
--context-file, -c | none | Additional context file |
--custom-personas | none | Custom personas JSON |
--model, -m | sonnet | Model alias (sonnet, opus, haiku, gpt-4o, etc.) |
--backend, -b | claude | CLI backend: claude, codex, or gemini |
--list-personas | — | List personas and exit |
The output is a markdown document with:
✅ Good for: Important decisions, investment analysis, product strategy, "go/no-go" calls, pre-mortems, challenging groupthink
❌ Not for: Simple factual questions, time-sensitive emergencies, decisions already made, emotional/personal choices
--rounds 1 for quick takes, --rounds 3 for deep analysis