Add Model Provider
openclaw/openclaw
Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.
Structured multi-provider AI debates between Claude and available advisors — use for critical decisions
$ npx skills add nyldn/claude-octopus --skill skill-debate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nyldn/claude-octopus skill-debate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skill-debate .claude/skills/skill-debate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "skill-debate" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/skill-debate into .claude/skills/skill-debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-debate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nyldn/claude-octopus/tree/main/skills/skill-debateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nyldn/claude-octopus --skill skill-debate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nyldn/claude-octopus skill-debate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/skill-debate .agents/skills/skill-debate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-debate" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/skill-debate into .agents/skills/skill-debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-debate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nyldn/claude-octopus --skill skill-debate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nyldn/claude-octopus skill-debate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/skill-debate .cursor/skills/skill-debate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skill-debate" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/skill-debate into .cursor/skills/skill-debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-debate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nyldn/claude-octopus.git --path skills/skill-debate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nyldn/claude-octopus --skill skill-debate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nyldn/claude-octopus skill-debate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/skill-debate .gemini/skills/skill-debate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skill-debate" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/skill-debate into .gemini/skills/skill-debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-debate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nyldn/claude-octopus skill-debateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nyldn/claude-octopus --skill skill-debate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/skill-debate .github/skills/skill-debate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skill-debate" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/skill-debate into .github/skills/skill-debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-debate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nyldn/claude-octopus --skill skill-debate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nyldn/claude-octopus skill-debate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/skill-debate .opencode/skills/skill-debate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skill-debate" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/skill-debate into .opencode/skills/skill-debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-debate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skill-debateStructured multi-provider AI debates between Claude and available advisors — use for critical decisions
Skill Debate is an agent skill from nyldn/claude-octopus. Structured multi-provider AI debates between Claude and available advisors — use for critical decisions
Its SKILL.md is about 6.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
The repository describes itself as: Run multiple AI models against the same research, design, or coding task. Surface disagreements before you ship. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4d152db. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
codexbashclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skill Debate loads about 6.7k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 1,873 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nyldn/claude-octopus at commit 4d152db, republished under its MIT licence (© nyldn). 1,873 words, ~6,743 tokens.
.claude/skills/skill-debate/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Host: Codex CLI — This skill was designed for Claude Code and adapted for Codex. Cross-reference commands use installed skill names in Codex rather than
/octo:*slash commands. Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it. For host tool equivalents, seeskills/blocks/codex-host-adapter.md.
When this skill is invoked, you MUST dispatch the debate advisors through orchestrate.sh and synthesize their positions. You are PROHIBITED from:
orchestrate.shagy) from the roster without telling the userBEFORE starting ANY debate, you MUST output this banner:
🐙 **CLAUDE OCTOPUS ACTIVATED** - AI Debate Hub
🐙 Debate: [Topic/question being debated]
Participants:
🔴 Codex CLI - Technical implementation perspective
🟡 Antigravity CLI - Ecosystem and strategic perspective
🟠 Sonnet 5 - Pragmatic implementer perspective if host subagents are available
🐙 current host model - Moderator and synthesis
🟢 Copilot CLI - GitHub-native perspective (if available)
🟤 Qwen CLI - Alternative model perspective (if available)Core participants are selected from available providers. Codex (🔴), Antigravity (🧭), Sonnet (🟠), current host model (🐙), and other detected providers can participate based on routing and availability.
This is NOT optional. Users need to see which AI providers are active. External API calls (🔴 🟡) use provider API keys. Sonnet (🟠), Copilot (🟢), and Qwen (🟤) are included with existing subscriptions.
You MUST use this exact command pattern. Do NOT improvise provider flags.
For debate rounds, dispatch every external advisor through Octopus routing:
"${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh" spawn "$advisor" "$prompt"Do not call provider CLIs directly from the debate workflow. The router applies provider-specific flags for Codex, Antigravity, and other advisors.
scripts/lib/dispatch.sh and helper scripts.orchestrate.sh spawn; the router chooses the correct command.Flags that DO NOT EXIST (will cause errors):
codex --approval-mode full-auto — no --approval-mode flag in Codex 0.130.0codex --full-auto — deprecated/removed for current non-interactive dispatchcodex -q / codex --quiet — REMOVED in v0.101.0codex -y / codex --yes — NEVER EXISTEDcodex "prompt" without exec — launches interactive TUI, hangsYou are current host model, a participant and moderator in a multi-provider AI debate system. You consult external advisors (Codex, Antigravity, and other available providers) via CLI, contribute your own analysis, and synthesize all perspectives for the user. If the host exposes subagents, include Sonnet as an independent analyst.
CRITICAL: You are NOT just an orchestrator. You are an active participant with your own voice and opinions.
When the question is an interface design, load
skills/blocks/architecture-simplification.md. Give each initial advisor the same
requirements and source revision without another advisor's draft. Record source
access and model family separately from provider transport. A reviewer without
artifact access contributes questions, not approval. Preserve evidence-backed
minority findings even when the vote count favors another design.
Users invoke this skill explicitly from the slash menu. Parse the supplied intent and run the debate.
/octo:debate <question or task>/octo:debate -r 3 -d thorough <question>
/octo:debate --rounds 2 --debate-style adversarial <question>
/octo:debate --path debates/009-new-topic <question>Users can mention files naturally - you resolve them to full paths:
/octo:debate Is our CLAUDE.md accurate?
-> You resolve to full absolute path
/octo:debate Review the auth flow in src/auth.ts
-> You find src/auth.ts relative to cwd and pass full path to advisors/octo:debate Should we use Redis or in-memory cache?/octo:debate -r 3 Review the whatsappbot codebase for issues/octo:debate on whether our error handling in api.ts is sufficientRun a debate about the database schema designI want Antigravity and Codex to review this PR| Flag | Short | Default | Description |
|---|---|---|---|
--rounds N | -r N | 1 | Number of debate rounds (1-10) |
--debate-style STYLE | -d STYLE | quick | Style: quick, thorough, adversarial, collaborative |
--moderator-style MODE | -m MODE | guided | Mode: transparent, guided, authoritative |
--advisors LIST | -a LIST | auto | Comma-separated list |
--out-dir PATH | -o PATH | debates/ | Output directory (relative to cwd) |
--path PATH | -p PATH | none | Debate folder path (skips cd requirement) |
--context-file FILE | -c FILE | none | File to include as context |
--max-words N | -w N | 300 | Word limit per response |
--topic NAME | -t NAME | auto | Topic slug for folder naming |
--synthesize | -s | off | Generate a deliverable (markdown file, diff, or plan) from consensus |
--rounds vs --debate-style:
--rounds explicitly set: ALWAYS takes precedence over style defaults--debate-style quick implies 1 round UNLESS --rounds is also specified--debate-style quick --rounds 5 -> warn user, use --rounds valueStyle round defaults (when --rounds not specified):
| Style | Default Rounds |
|---|---|
| quick | 1 |
| thorough | 3 |
| adversarial | 3 |
| collaborative | 2 |
Validation:
--rounds must be 1-10--rounds 0 or --rounds 11+This is a provider debate with selected advisor voices plus you as moderator:
User Question
|
v
+-------------------+
| ROUND 1 |
+-------------------+
| Antigravity analyzes | 🧭 External CLI
| Codex analyzes | 🔴 External CLI
| Sonnet analyzes | 🟠 Agent(model: sonnet)
| YOU analyze | 🐙 Your independent analysis (Opus)
+-------------------+
|
v
+-------------------+
| ROUND 2+ |
+-------------------+
| Antigravity responds | 🧭 Sees prior round
| Codex responds | 🔴 Sees prior round
| Sonnet responds | 🟠 Sees prior round
| YOU respond | 🐙 Your independent response
+-------------------+
|
v
+-------------------+
| FINAL SYNTHESIS |
+-------------------+
| YOU synthesize all four perspectives
| and recommend a path forward
+-------------------+Key responsibilities:
When running debates in claude-octopus, the following enhancements are automatically applied:
Enhanced behavior (when CLAUDE_CODE_SESSION is set):
~/.claude-octopus/debates/${SESSION_ID}/
└── NNN-topic-slug/
├── context.md
├── state.json
├── synthesis.md
└── rounds/Benefits:
Enhancement: Evaluate each advisor response for quality before proceeding to next round.
Quality Metrics:
| Metric | Weight | Criteria |
|---|---|---|
| Length | 25 pts | 50-1000 words (substantive but concise) |
| Citations | 25 pts | References, links, or sources present |
| Code Examples | 25 pts | Technical examples or code snippets |
| Engagement | 25 pts | Addresses other advisors' specific points |
Quality Thresholds:
Track token usage and cost for each debate, integrated with claude-octopus analytics.
Export debates to professional formats via the document-delivery skill:
When the user invokes /octo:debate:
MANDATORY: You MUST use the native shell command tool to run this provider check BEFORE displaying the banner. Do NOT skip it. Do NOT assume availability.
For provider checks, never use grep -P; use portable grep -E/case checks and capture the exit code so missing optional CLIs do not fail open or abort the command.
bash "${HOME}/.claude-octopus/plugin/scripts/helpers/check-providers.sh"Use the ACTUAL results below. PROHIBITED: Showing only "🔵 Claude: Available ✓" without listing all providers.
Then display the banner with real provider status:
🐙 **CLAUDE OCTOPUS ACTIVATED** - AI Debate Hub
🐙 Debate: [Topic/question being debated]
Provider Availability:
🔴 Codex CLI: [Available ✓ / Not installed ✗]
🟡 Antigravity CLI: [Available ✓ / Not installed ✗]
🧭 Antigravity CLI: [Available ✓ / Not installed ✗]
🤖 Grok CLI (xAI): [Available ✓ / Not installed ✗]
🟠 Sonnet 5: available only when this Codex session exposes a compatible host subagent tool
🐙 current host model: Available ✓ (Moderator and participant)🧭 Antigravity availability: Antigravity CLI = the
agybinary; judge availability only viacommand -v agy(ascheck-providers.shdoes), never from theantigravitydesktop shortcut.
If providers are missing:
/octo:setup to configure themUse the AskUserQuestion tool to gather context before starting the debate:
Ask 4 clarifying questions to ensure high-quality debate:
AskUserQuestion({
questions: [
{
question: "What's your primary goal for this debate?",
header: "Goal",
multiSelect: false,
options: [
{label: "Make a technical decision", description: "I need to choose between options"},
{label: "Identify risks/concerns", description: "I want to surface potential issues"},
{label: "Understand trade-offs", description: "I want to see pros/cons of approaches"},
{label: "Get diverse perspectives", description: "I want multiple viewpoints"}
]
},
{
question: "How should the AI models evaluate the topic?",
header: "Evaluation",
multiSelect: false,
options: [
{label: "Cross-critique (Recommended)", description: "Models challenge each other's proposals directly — deeper analysis but may anchor on first responses"},
{label: "Independent evaluation", description: "Models evaluate independently without seeing others' work — prevents groupthink and anchoring bias"}
]
},
{
question: "What's the most important factor in your decision?",
header: "Priority",
multiSelect: false,
options: [
{label: "Performance", description: "Speed and efficiency are critical"},
{label: "Security", description: "Security and safety are paramount"},
{label: "Maintainability", description: "Long-term maintenance and clarity"},
{label: "Cost/Resources", description: "Budget and resource constraints"}
]
},
{
question: "Do you have existing context or constraints the debate should consider?",
header: "Context",
multiSelect: true,
options: [
{label: "Existing codebase patterns", description: "Must align with current architecture"},
{label: "Team expertise", description: "Team skill set is a constraint"},
{label: "Deadline pressure", description: "Time-to-market is critical"},
{label: "Compliance requirements", description: "Regulatory or policy constraints"}
]
}
]
})After receiving answers:
--mode cross-critique (default ACH falsification)--mode blinded (no cross-contamination)# Extract question and flags
QUESTION="Should we use Redis or in-memory cache?"
ROUNDS=3
STYLE="thorough"
# Dynamic advisor selection — the fleet builder remains the admission authority.
CONSULTATIVE_LIB="${HOME}/.claude-octopus/plugin/scripts/lib/consultative-advisors.sh"
ADVISOR_SELECTOR="${HOME}/.claude-octopus/plugin/scripts/helpers/select-fleet-advisors.sh"
source "$CONSULTATIVE_LIB" || exit 1
HOST_CLAUDE_ALLOWED=false
HOST_ADVISOR_SUCCESS=0
if octo_consultative_host_allowed; then
HOST_CLAUDE_ALLOWED=true
fi
REQUIRED_EXTERNAL_ADVISORS=$(octo_consultative_required_external_count)
if ! ADVISORS=$("$ADVISOR_SELECTOR" debate standard "$QUESTION"); then
echo "No eligible external debate advisors are available." >&2
exit 1
fiThe build-fleet.sh debate command selects up to 3 debaters from different model families (for example, codex/OpenAI, agy/Google Antigravity, and copilot/Microsoft) to maximize training-bias diversity. Do not hardcode provider pairs; use the runtime ADVISORS list.
# Create debate directory structure
DEBATE_BASE_DIR="${HOME}/.claude-octopus/debates/${CLAUDE_CODE_SESSION:-./debates}"
DEBATE_ID="042-redis-vs-memcached"
DEBATE_DIR="${DEBATE_BASE_DIR}/${DEBATE_ID}"
mkdir -p "${DEBATE_DIR}/rounds"
# Write context.md
cat > "${DEBATE_DIR}/context.md" <<EOF
# Debate: ${QUESTION}
**Debate ID**: ${DEBATE_ID}
**Rounds**: ${ROUNDS}
**Style**: ${STYLE}
**Advisors**: ${ADVISORS}
**Started**: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
## Question
${QUESTION}
## Clarifying Context
**Primary Goal**: ${USER_GOAL}
**Priority Factor**: ${USER_PRIORITY}
**Constraints**: ${USER_CONSTRAINTS}
## Additional Context
[Any relevant context from user's message or files]
[If claude-mem is installed, search for past debates or decisions on this topic using its MCP tools]
EOF
# Initialize state.json
cat > "${DEBATE_DIR}/state.json" <<EOF
{
"debate_id": "${DEBATE_ID}",
"question": "${QUESTION}",
"rounds_total": ${ROUNDS},
"rounds_completed": 0,
"advisors": [$(echo "$ADVISORS" | sed 's/,/", "/g' | sed 's/^/"/' | sed 's/$/"/')],
"user_context": {
"goal": "${USER_GOAL}",
"priority": "${USER_PRIORITY}",
"constraints": "${USER_CONSTRAINTS}"
},
"status": "active",
"created_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
}
EOFFor each round, iterate the runtime advisor list and dispatch through Octopus. The launch
waits for every advisor to finish, often several minutes, so run the block with
background execution: true; a foreground 600000 ms timeout stops it after 10 minutes, while
the launcher waits up to OCTOPUS_ADVISOR_WAIT_SECONDS (default 3600 s). Each answer lands in
${DEBATE_DIR}/rounds/r001_<advisor>.md, with any character other than a letter, digit,
_ or - in the advisor name replaced by _ (codex:model gives r001_codex_model.md).
An advisor that fails leaves no file:
ORCH="${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh"
DEBATE_PROMPT="You are {{advisor}} participating in debate round 1.
DEBATE QUESTION: ${QUESTION}
${CONTEXT}
Write a concise, independent analysis (${MAX_WORDS} words). Address implementation tradeoffs, risks, and where other likely perspectives may be wrong."
if ! SUCCESSFUL_EXTERNAL_ADVISORS=$(octo_launch_advisors "$ORCH" "$ADVISORS" \
"${DEBATE_DIR}/rounds" r001_ "$DEBATE_PROMPT" "$REQUIRED_EXTERNAL_ADVISORS"); then
echo "The required external debate advisors did not complete successfully." >&2
exit 1
fiDispatch Sonnet via the host subagent tool only when HOST_CLAUDE_ALLOWED=true and the
host exposes subagents. If Claude is disallowed, skip this step. Set
HOST_ADVISOR_SUCCESS=1 only after the allowed Sonnet task completes with usable
output; otherwise set it to 0. Sonnet can run in parallel with the external
advisor calls.
Agent(
model: "sonnet",
background execution: true,
description: "Sonnet: debate round 1",
prompt: "You are a PRAGMATIC IMPLEMENTER participating in a structured AI debate.
YOUR ROLE: You are the person who would actually have to BUILD this. You care about what ships, what works, and what you'll be debugging at 2am. Ground your analysis in the actual code and real implementation constraints.
DEBATE QUESTION: ${QUESTION}
${CONTEXT}
Write your analysis (${MAX_WORDS} words) to: ${DEBATE_DIR}/rounds/r001_sonnet.md
Cover: implementation feasibility, hidden gotchas, concrete effort estimates, and what the other approaches miss from a builder's perspective."
)After all allowed advisors finish, enforce the two-provider minimum:
if ! octo_consultative_provider_count_is_sufficient \
"$SUCCESSFUL_EXTERNAL_ADVISORS" "$HOST_ADVISOR_SUCCESS"; then
echo "A debate requires two successful, allowlisted providers." >&2
exit 1
fiWHY Sonnet and not just more Opus? Sonnet is a distinct model with different strengths — faster, more concise, catches implementation details that Opus's broader reasoning sometimes overlooks. Using a different model prevents groupthink within the Claude model family.
Timing: Launch optional host subagent BEFORE or IN PARALLEL with the external advisor calls. By the time the CLI calls return, Sonnet is usually done too. Check for completion before proceeding to 5.3.
Use the Read tool to read all advisor responses, then write your independent analysis:
# Read what all advisors said
for response_file in "${DEBATE_DIR}"/rounds/r001_*.md; do
printf '\n## %s\n' "$(basename "$response_file" .md)"
cat "$response_file"
done
# Write your analysis as moderator
cat > "${DEBATE_DIR}/rounds/r001_claude.md" <<EOF
# current host model Analysis - Round 1
[Your independent analysis here, considering but not just summarizing the three advisor perspectives. Note where Sonnet's implementation perspective reveals things the external advisors missed.]
EOFAfter each advisor responds, evaluate response quality:
evaluate_response_quality() {
local response_file="${1}"
local advisor="${2}"
word_count=$(wc -w < "$response_file")
has_citations=$(grep -c '\[' "$response_file" || echo 0)
has_code=$(grep -c '```' "$response_file" || echo 0)
addresses_others=$(grep -ciE '(gemini|codex|agy|antigravity|claude|sonnet)' "$response_file" || echo 0)
score=0
(( word_count >= 50 && word_count <= 1000 )) && (( score += 25 ))
(( has_citations > 0 )) && (( score += 25 ))
(( has_code > 0 )) && (( score += 25 ))
(( addresses_others > 0 )) && (( score += 25 ))
echo "$score"
}
for response_file in "${DEBATE_DIR}"/rounds/r001_*.md; do
advisor=$(basename "$response_file" .md | sed 's/^r001_//')
quality_score=$(evaluate_response_quality "$response_file" "$advisor")
if (( quality_score < 50 )); then
echo "Low quality response from ${advisor} (score: $quality_score). Re-prompting..."
# Re-prompt for more detail
fi
doneAfter all rounds complete, write a comprehensive synthesis:
cat > "${DEBATE_DIR}/synthesis.md" <<EOF
# Final Synthesis: ${QUESTION}
## Summary of Perspectives
### External Advisor Perspectives
[Key points from each advisor selected in ADVISORS: Codex, Antigravity, or other available providers]
### 🟠 Sonnet's Perspective
[Key points from Sonnet across all rounds — especially implementation feasibility and gotchas]
### 🐙 current host model Perspective
[Your key points across all rounds]
## Areas of Agreement
[Where all advisors converged]
## Areas of Disagreement
[Key points of contention]
## Recommended Path Forward
[Your final recommendation based on all perspectives]
## Next Steps
[Concrete action items for the user]
EOFRead the synthesis and present it in the chat:
I've completed a ${ROUNDS}-round debate on "${QUESTION}".
[Include key findings from synthesis.md]
Full debate saved to: ${DEBATE_DIR}
You can export this debate to PPTX/DOCX/PDF using the document-delivery skill.If the user passed --synthesize (or -s), generate a concrete deliverable after synthesis:
${DEBATE_DIR}/deliverable.mdIMPORTANT: The deliverable is a PROPOSAL. Never auto-apply changes without user approval.
User: /octo:debate Should we use Redis or in-memory cache?
Claude:
1. Creates debate folder at ~/.claude-octopus/debates/${SESSION_ID}/042-redis-vs-memcached/
2. Writes context.md with question
3. Round 1:
- Launches Sonnet via Agent(model: sonnet, background execution: true) when the provider allowlist permits it
- Calls orchestrate.sh spawn for each runtime advisor selected by build-fleet.sh, such as codex and agy
- Waits for Sonnet completion
- Writes own analysis (Opus) considering all advisor perspectives
4. Writes synthesis.md with final recommendation from all participants
5. Presents results in chatUser: /octo:debate -r 3 -d adversarial Review our authentication implementation in src/auth.ts
Claude:
1. Reads src/auth.ts to understand context
2. Creates debate folder
3. Round 1 (Sonnet launched in background first, then selected external advisors in parallel):
- 🟠 Sonnet: Implementation feasibility analysis of auth.ts
- External advisors selected by build-fleet.sh, such as 🔴 Codex or 🧭 Antigravity depending on availability
- 🐙 current host model: Your independent analysis considering all advisors
4. Round 2:
- 🟠 Sonnet: Responds to other participants' points
- External advisors challenge each other's points
- 🐙 Claude: You challenge advisor points
5. Round 3:
- All participants: Final positions
6. Synthesis with quality scores for each advisor
7. Present results with cost trackingBefore completing a debate, ensure:
Export debates to professional formats:
After debate completes:
"Would you like to export this debate to PPTX/DOCX/PDF? I can use the document-delivery skill to create a professional presentation."Debates can be used in knowledge mode workflows:
Knowledge mode "deliberate" phase → Run /octo:debate to get multiple perspectives
→ Use synthesis for final decisionEach advisor response is scored before proceeding:
| Metric | Weight | Criteria |
|---|---|---|
| Length | 25 pts | 50-1000 words (substantive but concise) |
| Citations | 25 pts | References, links, or sources present |
| Code Examples | 25 pts | Technical examples or code snippets |
| Engagement | 25 pts | Addresses other advisors' specific points |
Score >= 75: proceed. Score 50-74: proceed with warning. Score < 50: re-prompt for elaboration.
Typical costs (default word limits):
Cost tracking integrates with ~/.claude-octopus/analytics/ logs.
After debate completes, export results via document-delivery skill:
Ready to debate! Users can invoke with /octo:debate <question> or natural language.
© nyldn, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/skill-debate of nyldn/claude-octopus.
Open the folder on GitHubat commit 4d152db
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in nyldn/claude-octopus, which our catalogue first saw on October 7, 2026.
Skill Debate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Skill Debate this skillnyldn/claude-octopus | 4.2k | 1 repos | ~6.7k | Automated safety check: Pass | MIT | |
| Add Model Provideropenclaw/openclaw | 392k | — | ~1.1k | Automated safety check: Pass | MIT | |
| OmniRoute Provider Managementdiegosouzapw/OmniRoute | 74k | — | ~2.4k | Automated safety check: Pass | MIT | |
| OmniRoute Providers CLIdiegosouzapw/OmniRoute | 74k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Crossframe Debatesickn33/agentic-awesome-skills | 47k | 1 repos | ~1k | Automated safety check: Pass | MIT | |
| AvailabilityBuilderIO/agent-native | 7.1k | — | ~387 | Automated safety check: Pass | None |
openclaw/openclaw
Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.
diegosouzapw/OmniRoute
Manages AI provider connections, API keys, OAuth flows and connection tests through OmniRoute's REST API across its 327-provider catalog.
diegosouzapw/OmniRoute
Command reference for managing provider connections in the omniroute gateway: browse the catalog, test and validate connections, rotate API keys and read per-provider metrics.
sickn33/agentic-awesome-skills
A skill your agent uses when CrossFrame Suite routes explicit Chinese proposition testing, debate analysis, hidden-premise review, rebuttal design, or withdrawal condition checks.
BuilderIO/agent-native
How schedules, weekly rules, date overrides, travel schedules, and out-of-office entries combine to determine when someone is bookable.
lobehub/lobehub
Adds an AI model provider to LobeHub end to end: runtime integration, model cards, configuration, branding and documentation, or documentation-only updates.
nyldn/claude-octopus
Quick execution for ad-hoc tasks without full workflow overhead — use for small, self-contained requests
nyldn/claude-octopus
Thorough research across multiple sources — use for complex topics needing broad synthesis
nyldn/claude-octopus
OWASP compliance, vulnerability scanning, and adversarial red team testing — use for security reviews
nyldn/claude-octopus
Audit codebases for quality, consistency, and broken patterns — use for pre-release or tech debt review
nyldn/claude-octopus
Extract patterns and anatomy from URLs — use to reverse-engineer content strategies from live pages
nyldn/claude-octopus
Auto-detect work context (Dev vs Knowledge) — use to tailor workflows based on current task type
Structured multi-provider AI debates between Claude and available advisors — use for critical decisions. Skill Debate is an agent skill from nyldn/claude-octopus.
Skill Debate fits situations like: critical decisions.
Run `npx skills add nyldn/claude-octopus --skill skill-debate -a claude-code`. Or copy the skill folder (skills/skill-debate in nyldn/claude-octopus) into .claude/skills/skill-debate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nyldn/claude-octopus --skill skill-debate -a codex`. Or copy the skill folder (skills/skill-debate in nyldn/claude-octopus) into .agents/skills/skill-debate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nyldn/claude-octopus --skill skill-debate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-debate, .gemini/skills/skill-debate, .github/skills/skill-debate and .opencode/skills/skill-debate in your project.
Going by SKILL.md and its folder, Skill Debate needs the command-line tools its instructions call (codex, bash and claude).
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Skill Debate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.7k tokens (SKILL.md is roughly 27k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Skill Debate: Add Model Provider (openclaw/openclaw, 392k stars), OmniRoute Provider Management (diegosouzapw/OmniRoute, 74k stars), OmniRoute Providers CLI (diegosouzapw/OmniRoute, 74k stars) and Crossframe Debate (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nyldn (a GitHub user) maintains it in nyldn/claude-octopus, which has 4,182 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on October 7, 2026.
Source: nyldn/claude-octopus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.