Claude-debate-skills strategy-debate
Run a structured Claude + Codex strategy debate for ideas, trade-offs, positioning, or decisions. Use when the user wants both voices, cross-critique, revised positions, a chosen finalizer, and a saved transcript.
git clone https://github.com/biyachuev/claude-debate-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/biyachuev/claude-debate-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/strategy-debate" ~/.claude/skills/biyachuev-claude-debate-skills-strategy-debate && rm -rf "$T"
skills/strategy-debate/SKILL.mdStrategy Debate
Use this skill for strategy, product, GTM, positioning, roadmap, research direction, and idea-quality discussions.
Treat
$ARGUMENTS as the debate brief.
Non-negotiable rules
- If Codex is not available in the current Claude Code session, say that explicitly and stop. Do not fabricate Codex output.
- Show both Claude and Codex contributions in the chat. Do not collapse Codex into a one-line paraphrase.
- Unless the user opted out of logging, save the full debate transcript to a resolved log path.
- If logging is enabled, show the exact log path at the start and confirm save success or failure at the end.
Log file resolution
Accept either
Log File: or Save As: in the user brief.
Resolve the log path with these rules:
- If the user passes
,No Log
, orLog: none
, skip all file writing. Do not resolve a path, do not create directories, do not save anything.Log File: none - If the user provides only a filename such as
, save tosmb-vs-enterprise
..claude/debate-logs/smb-vs-enterprise.md - If the user provides a filename with
, keep it and save to.md
..claude/debate-logs/<name>.md - If the user provides a relative path with folders such as
, use it relative to the project root.notes/decisions/smb-vs-enterprise.md - If the user omits the log path, default to
..claude/debate-logs/${CLAUDE_SESSION_ID}-strategy-debate.md - Create parent directories if needed.
Debate protocol
Unless the user explicitly names a finalizer, default to
Claude.
Run the debate in this exact order:
- Extract or infer:
- topic
- goal of the debate
- explicit constraints
- requested finalizer (
orClaude
)Codex - resolved log path (skip if logging is disabled)
- Produce
as an independent position.Claude v1 - Ask Codex for
as an independent position. Do not ask Codex to merely agree with Claude.Codex v1 - Produce
:Claude critique of Codex v1- strongest points
- weakest points
- what is missing
- Ask Codex for
:Codex critique of Claude v1- strongest points
- weakest points
- what is missing
- Produce
, revised after Codex's critique.Claude v2 - Ask Codex for
, revised after Claude's critique.Codex v2 - Produce
by the selected finalizer.Final synthesis - Produce
.Unresolved disagreements - Produce
andRecommendation
.Confidence
Required chat format
Use these section headings in the visible answer:
(omit if logging is disabled)Log PathTopicClaude v1Codex v1Claude -> Codex CritiqueCodex -> Claude CritiqueClaude v2Codex v2Final SynthesisUnresolved DisagreementsRecommendationConfidenceProtocol Summary
Protocol summary
After the debate is complete, add a
Protocol Summary section that contains:
- A line stating how many stages were completed.
- A numbered list with a one-line summary of each stage — what was said, what was challenged, what changed.
- A closing paragraph on the most important disagreement the debate surfaced and how mutual critique resolved it.
Write this section in the same language as the topic. If the topic is mixed-language or unclear, use the primary language of the user's brief.
Logging requirements
If the user opted out of logging, skip this entire section — do not write any files and do not print log status lines.
Write the same visible debate to the resolved log path.
If the file already exists, append a new debate entry instead of overwriting prior entries, unless the user explicitly asks to replace it.
Each saved entry must contain:
- date or session context if available
- raw user brief
- chosen finalizer
- resolved log path
- every visible section from the answer
After saving, end with one short line:
Log saved: <path> or Log failed: <reason>.
Quality bar
- Keep the discussion focused on strategy and trade-offs, not implementation trivia.
- Surface assumptions explicitly.
- Distinguish facts from inferences.
- Prefer disagreement that is useful over false consensus.
- If the debate reaches convergence early, still complete the full structure.
Example invocation
/strategy-debate Finalizer: Claude. Log File: smb-vs-enterprise-2027. Topic: Should we position the product for SMB first or enterprise first in 2027? Constraints: team of 6, limited sales capacity, need fast feedback loops.