mikeng-io/agent-skills/debate-protocol
- community
Checking that the SKILL.md file is still in the repository.
Generic structured adversarial protocol for review, audit, research synthesis, and brainstorm/design councils. Supports finding validation plus proposal brainstorming lifecycles, packetized exchanges, and auditable manifests for nested councils.
Install
npx vskill@latest install mikeng-io/agent-skills/debate-protocolSKILL.md
Debate Protocol: Generic 5-Phase Adversarial Analysis
Execute this skill to run a structured adversarial analysis among domain experts and structural challengers, producing high-confidence findings through iterative challenge and synthesis.
What Debate Is For
Debate is NOT brainstorming and NOT round-table discussion. Debate is adversarial validation — the structured attempt to disprove each finding before accepting it as real.
The core problem debate solves: Domain experts find what they're looking for. A security expert finds security issues. A database expert finds schema problems. Left unchallenged, findings accumulate without any filter for whether they're actually real, actually severe, or actually the root cause. Debate applies that filter.
What debate produces that solo analysis cannot:
- Findings that survived an attack (higher confidence than ones that weren't challenged)
- Downgraded findings where the initial severity was an assumption, not evidence
- Withdrawn findings that were patterns, not problems
- New findings that only appear when you combine two domain experts' views
Brainstorm Is Related, But Not The Same
Brainstorm mode is divergent proposal generation followed by adversarial convergence. It should not force proposals into finding/severity fields. Use brainstorm mode when the task is to design an architecture, generate alternatives, or discover candidate approaches before deciding what to build.
Brainstorm phases:
- Diverge — independent proposal generation with minimal, non-leading context.
- Expand — publish proposal inventory; participants improve, combine, or add missing alternatives.
- Challenge — Devil's Advocate and peers challenge assumptions, complexity, feasibility, and hidden coupling.
- Converge — merge, split, reject, or park proposals.
- Handoff — produce an accepted direction, open questions, and next-step recommendation.
Proposal states: proposed, expanded, challenged, revised, merged, split, accepted, rejected, parked, superseded.
What "Debate" Means Per Task Context
The same 5-phase structure applies to every context. What changes is what each participant is looking for and what counts as a valid challenge:
Code / Technical Review:
- Domain experts analyze: correctness, safety, performance, maintainability
- DA challenges: "Is this finding a real bug or just a style preference? What production scenario triggers it? Has the codebase already handled it somewhere else?"
- IC checks: "If this bug exists in module A, does module B's error handling assume it can't happen?"
- Valid challenge: "This SQL injection claim assumes the ORM doesn't sanitize inputs — it does at the call site in auth_middleware.go"
Security Audit:
- Domain experts analyze: threat vectors, attack surface, data exposure, access controls
- DA challenges: "Is this exploitable in practice given the deployment context? Does the attacker need prior access that narrows the risk?"
- IC checks: "Does this authentication gap in the API also affect the admin panel that shares the same session store?"
- Valid challenge: "CRITICAL classification assumes external attacker access — this endpoint is only reachable from the private VPC"
Architecture / Planning:
- Domain experts analyze: feasibility, scalability assumptions, dependency risks, sequencing
- DA challenges: "What assumption does this plan depend on that hasn't been validated? What's the failure mode if the third-party API changes its contract?"
- IC checks: "Does the proposed event-sourcing approach in service A create a schema coupling problem with service B's projection?"
- Valid challenge: "This plan assumes linear traffic growth — if traffic spikes 10x on launch day, step 3 blocks everything"
Research Synthesis:
- Domain experts analyze: source credibility, evidence quality, conclusion validity
- DA challenges: "Does this conclusion follow from the cited sources, or is there a logical gap? Are the sources independent, or do they all cite the same original study?"
- IC checks: "Does finding X from the technology domain contradict finding Y from the business domain in a way neither domain's report acknowledged?"
- Valid challenge: "The cited study had n=47 and no control group — the confidence should be LOW, not STRONG"
Creative / UX / Content:
- Domain experts analyze: clarity, consistency, user task completion, brand alignment
- DA challenges: "Does this UX issue reflect the actual user population or just power users? Would the proposed fix create a different problem for a different segment?"
- IC checks: "Does the navigation change proposed by the UX expert break the content structure the content expert assumed?"
- Valid challenge: "The 'confusing label' finding is based on one user test — the current label tests well with users who read the tooltip"
What Makes a Valid Challenge vs Invalid
A valid challenge MUST do ONE of:
- Identify a missing assumption — "This finding assumes X. X is not true because Y."
- Propose an alternative explanation — "The symptom you found has a different cause: Z. If Z is the cause, the severity changes."
- Surface a non-applicability scenario — "This finding doesn't apply when condition W is true. W is true in this codebase/plan/system because..."
An invalid challenge:
- "I don't think this is a big deal" — no mechanism identified
- "This might not be an issue" — no reason given
- "Other systems handle this fine" — comparison without applicable context
- Restating the finding differently without attacking it
The key test for DA: If your challenge doesn't include a specific reason the finding is wrong, weaker than stated, or inapplicable — it's not a challenge, it's an opinion.
Execution Instructions
When invoked, accept the following input (from conversation context or caller):
Intensity Modes
Parameter Presets
Phase 1: Independent Investigation (Parallel)
Rationale: Isolation prevents anchoring bias. If experts see each other's findings first, they pattern-match and corroborate rather than independently discover. Phase 1 ensures each participant forms their view from the evidence alone — not from social agreement with the first finding published.
Spawn all participants in parallel using Task tool. Each receives the same scope and context_summary but NO communication with other participants.
Participant Roster
| Role | Count | Source | |
|---|---|---|---|
| Domain expert | One per domain in debate_input.domains | domain-registry Lookup Protocol — exact match, adapted match, or session-based virtual expert | |
| Devil's Advocate | 1 (always) | debate-protocol/experts/devils-advocate.md | |
| Integration Checker | 1 (always) | debate-protocol/experts/integration-checker.md |
Domain experts are the primary roster. DA and Integration Checker are structural roles that always accompany them.
Task Prompt Template
For Devil's Advocate and Integration Checker: apply the role-specific instructions from their expert files.
Phase 2: Finding Publication
Rationale: DA cannot challenge what it hasn't seen. Publishing all findings at once (rather than letting DA see them one-by-one) lets DA identify cross-domain patterns and spot findings that look independent but share the same root assumption. Publication is read-only — no responses yet, no anchoring on first reactions.
Collect all Phase 1 findings. As coordinator:
- Assign unique IDs to all findings (F001, F002, ...)
- Broadcast complete finding list to all participants
- No responses yet — publication only
Finding inventory at this point:
Phase 3: Challenge Round (standard + thorough only)
Rationale: Domain experts are motivated to defend their findings — they found them, they believe them. DA's adversarial role exists precisely because no expert naturally looks for reasons their own finding is wrong. The challenge round is the mechanism that separates real findings (survive attack) from inflated or pattern-matched ones (fail under scrutiny). Multi-round structure catches second-order effects: a DA challenge may spawn a discovery, which then needs its own challenge.
Run challenge rounds up to max_rounds. Each round:
Devil's Advocate Obligations
MUST challenge every CRITICAL/HIGH finding not originated by DA. SHOULD challenge MEDIUM findings when pattern detected. Cross-domain synthesis — DA discovers new findings from cross-domain patterns.
Challenge Message Format
Send via Task agent communication (embed in follow-up Task prompts):
Response Types
- defense: Reviewer defends finding with additional evidence
- withdrawal: Reviewer withdraws finding (insufficient evidence)
- corroboration: Another reviewer confirms the finding
- cross-challenge: Reviewer challenges a different finding
- discovery: New finding discovered during debate
- merge-proposal: Two similar findings proposed for merging
Challenge Loop
Repeat for up to max_rounds rounds:
- Spawn DA Task agent with all current findings + challenge obligations
- Spawn all other participants with challenges directed at them
- Collect responses
- Update finding states
Phase 4: Synthesis (standard + thorough only)
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/debate-protocol/SKILL.md
Popularity
- Repository stars
- 6
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 7 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mikeng-io/agent-skills/debate-protocol)