red-team

Adversarial 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "red-team" with this command: npx skills add retrodigio/red-team

Red Team — Adversarial Debate Engine

Stress-test any decision by having AI agents with conflicting worldviews debate it.

Prerequisites

One of these coding agent CLIs (uses your existing subscription — no API key needed):

  • Claude Code (default): claudenpm i -g @anthropic-ai/claude-code
  • Codex: codexnpm i -g @openai/codex
  • Gemini: gemininpm i -g @google/gemini-cli

No Python dependencies beyond the standard library.

Quick Start

# 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

How to Use (as OpenClaw Agent)

When the user asks you to "red team" something, "stress test" an idea, play "devil's advocate", or asks "what could go wrong":

  1. Identify the question/decision from the user's message
  2. Choose appropriate personas (default: bull,bear,operator — adjust based on domain)
  3. Run the script and save output
  4. Summarize the key findings to the user, share the full report if requested

Persona selection guide:

  • Investment/financial decisions → bull, bear, cash-flow, economist
  • Product/startup ideas → bull, customer, operator, technologist
  • Legal/compliance questions → regulator, bear, operator
  • Strategy/direction → contrarian, economist, historian, bull
  • General "should we do X?" → bull, bear, operator (good default)

Available Personas

KeyNameWorldview
bullThe BullOptimistic, opportunity-focused
bearThe BearRisk-averse, capital preservation
contrarianThe ContrarianOppositional, consensus-challenging
operatorThe OperatorExecution-focused pragmatist
economistThe EconomistMacro trends, opportunity cost
local-realistThe Local RealistGround truth, local specifics
cash-flowThe Cash Flow AnalystIncome, carrying costs, IRR
regulatorThe RegulatorCompliance, legal risk
technologistThe TechnologistAutomation, scalability
customerThe CustomerEnd-user demand, willingness to pay
ethicistThe EthicistMoral implications, stakeholder impact
historianThe HistorianHistorical patterns, precedent

Custom Personas

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.

CLI Options

FlagDefaultDescription
--question, -qrequiredThe question to debate
--personas, -pbull,bear,operatorComma-separated persona keys
--rounds, -r2Number of critique rounds
--output, -ostdoutOutput file path
--context-file, -cnoneAdditional context file
--custom-personasnoneCustom personas JSON
--model, -msonnetModel alias (sonnet, opus, haiku, gpt-4o, etc.)
--backend, -bclaudeCLI backend: claude, codex, or gemini
--list-personasList personas and exit

Output Structure

The output is a markdown document with:

  1. Initial Proposals — Each agent's independent take
  2. Critique Rounds — Agents critique each other
  3. Refinement — Agents update positions based on critiques
  4. Conviction Scores — Each agent scores all positions (0-100)
  5. Synthesis & Decision Brief — Neutral agent produces:
    • Executive summary
    • Consensus points
    • Key disagreements
    • Risk matrix
    • Conviction score summary
    • Synthesized recommendation
    • Next steps

When to Use

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

Integration Tips

  • Save output to memory files for future reference
  • Create BEADS tasks from the "Next Steps" section
  • Feed context files from Obsidian or project docs
  • Re-run with different personas for different perspectives
  • Use --rounds 1 for quick takes, --rounds 3 for deep analysis

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Unstructured

Unstructured integration. Manage data, records, and automate workflows. Use when the user wants to interact with Unstructured data.

Registry SourceRecently Updated
Automation

Flexport

Flexport integration. Manage data, records, and automate workflows. Use when the user wants to interact with Flexport data.

Registry SourceRecently Updated
Automation

Cacoo

Cacoo integration. Manage data, records, and automate workflows. Use when the user wants to interact with Cacoo data.

Registry SourceRecently Updated
Automation

Cradl Ai

Cradl AI integration. Manage data, records, and automate workflows. Use when the user wants to interact with Cradl AI data.

Registry SourceRecently Updated