Skip to content
Back to skills

Debate

ASecurity

Compare significant design approaches before implementation: generate three real options, use a compact matrix and separated hostile review, test edge cases, and converge in two to three rounds. Not for brainstorming, implementation, or code review.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsgobashgit

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add bordenet/superpowers-plus --skill debate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Debate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Debate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bordenet-debate/badge)](https://www.skillsdirectory.com/skills/bordenet-debate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: debate
source: superpowers-plus
augment_menu: true
triggers:
  - /sp-debate
  - three design options
  - compare design approaches
  - design comparison matrix
  - evaluate design alternatives
  - red team the design
  - harsh design review
  - generate design options
  - design triad
  - design options with adversarial review
  - design decision needed
  - choosing implementation approach
anti_triggers:
  - implement this design
  - code review
  - already decided on the approach
  - continue implementing
  - just writing tests
description: "Compare significant design approaches before implementation: generate three real options, use a compact matrix and separated hostile review, test edge cases, and converge in two to three rounds. Not for brainstorming, implementation, or code review."
summary: "Use when choosing among design approaches before implementation. Skip when the design is already decided."
coordination:
  group: thinking
  order: 1
  requires: []
  enables: []
  escalates_to: ["thinking-orchestrator"]
  internal: false
composition:
  consumes: [challenge, goal]
  produces: [design-options, decision-record]
  capabilities: [evaluates-options, generates-designs]
  priority: 5
---

## Reference index

Load only the sections required by the process. Preflight, comparison, and hostile review are mandatory; the remaining sections are on demand.

| Need | Read this reference section |
|---|---|
| Before every debate | Preflight routing |
| Mandatory before building the matrix | Comparison protocol |
| Before adversarial review | Hostile review protocol |
| When an output example is needed | Output and example |
| When choosing a neighboring workflow | Companion skills |


# Design Triad

> **Wrong skill?** Idea exploration -> `brainstorming`. Requirements validation -> `requirements-validation`. Implementation planning -> `plan-and-execute`.

**Announce at start:** "I'm using the **debate** skill to evaluate design options."

## When to use

Use before committing to a non-trivial architecture, data model, integration, or other significant design choice. Also use when the user asks for design alternatives or a comparison.

Do not use after implementation has begun, for bug fixing, or for initial idea exploration.

## Mandatory process

1. **Preflight.** Load `Preflight routing` before every debate. Choose a route within 30 seconds; unresolved high-stakes inputs go to the user.
2. **Generate.** Produce a minimum three genuinely distinct, implementable options. Include status quo or a time-boxed spike as a real comparison anchor. If only one option emerges, invoke `think-twice`.
3. **Compare.** Load `Comparison protocol` before building the matrix. Use all six criteria, no more than five words per cell. Recommend in two or three sentences. A recommendation is not completion.
4. **Review.** Author and reviewer must be separate. Load `Hostile review protocol`; use one separated reviewer for reversible work and at least two for irreversible or high-blast-radius work. Do NOT invoke `progressive-harsh-review` or `quantitative-decision-gate` as the reviewer because both can route back to debate.
5. **Probe edge cases.** List no more than ten failure modes, boundaries, tests, or defensive integration points surfaced by review.
6. **Iterate.** Run `review -> fix -> verify the fix in the artifact -> re-review`. Complete a minimum two full review rounds and no more than three. Exit only when a round finds no new material issue. If three rounds completed without convergence, escalate to `thinking-orchestrator` with the unresolved findings rather than continuing to iterate. Do NOT continue beyond 3 rounds.

## Hard gates

- Three options must be genuinely different, not superficial variations or two straw men around a preferred answer.
- A separated reviewer must test the chosen option and the integrity of the option set.
- Verify fixes landed: every claimed resolution must be visible in the updated artifact.
- Keep each review answer to one sentence and each later round delta-only.
- Never claim convergence after the initial review.

## Failure Modes

| Failure | Fix |
|---------|-----|
| Only one option ever generated | Invoke `think-twice`; never proceed with fewer than three genuinely distinct options |
| Reviewer is the same pass/agent as the author | Dispatch a fresh sub-agent, or make an explicit role switch that discards the author's reasoning and starts fresh from the artifact text |
| Three rounds completed without convergence | Escalate to `thinking-orchestrator` with the unresolved findings — do not keep iterating past round 3 |
| A rejected option is a straw man, not one a competent engineer would propose | Replace it once and rerun comparison; the next review becomes round one |
| A claimed fix was never verified in the updated artifact | Re-read the artifact directly — a fix summary is not evidence the fix landed |
| Convergence claimed after only one review round | Never claim convergence after the initial review; a minimum of two full rounds is a hard gate, not a suggestion |

## Rationalizations to reject

| Excuse | Required response |
|---|---|
| There is only one way | Invoke `think-twice`. |
| Other options are obviously wrong | Explain the loss in the matrix. |
| This is too simple | Test the assumptions anyway. |
| Review found nothing | Answer every hostile-review question. |
| There is no time | Compare now to avoid rework. |
| The recommendation is done | Complete review, edge cases, and iteration. |
| I reviewed my own design | Separate author and reviewer. |
| I documented the resolution | Verify it landed in the artifact. |

## Output

Return a compact inline decision record containing: decision and rationale; options considered; rejected options and reasons; edge-case catalog; review findings and resolutions; open risks. Write under `docs/superpowers/specs/` only when explicitly requested.

## Reference loading

Load only the named section. `Preflight routing` is mandatory before Step 1, `Comparison protocol` before Step 3, and `Hostile review protocol` before Step 4. Load the output example only when needed. When an installed copy is found (any of `.claude`/`.codex`/`.agents`), loading requires the separately-provisioned `~/.codex/superpowers-plus` checkout -- an install missing that shared dependency gets a loud `section-loader missing` failure, not silent wrong content.

<!-- kernel-split-reference-loader:start -->
```bash
_ks_ref=""
_ks_loader=""
for _candidate in \
  "$HOME/.claude/skills/sp-debate/reference.md" \
  "$HOME/.codex/skills/sp-debate/reference.md" \
  "$HOME/.agents/skills/sp-debate/reference.md"
do
  if [ -r "$_candidate" ]; then _ks_ref="$_candidate"; break; fi
done
if [ -n "$_ks_ref" ]; then
  _ks_loader="$HOME/.codex/superpowers-plus/tools/section-loader.sh"
else
  _project_root="$(git rev-parse --show-toplevel 2>/dev/null || true)"
  _source_dir="$_project_root/skills/engineering/debate"
  if [ -n "$_project_root" ] && [ -r "$_source_dir/skill.md" ] && \
     [ -r "$_source_dir/reference.md" ] && \
     [ -r "$_project_root/tools/section-loader.sh" ]; then
    _ks_ref="$_source_dir/reference.md"
    _ks_loader="$_project_root/tools/section-loader.sh"
  fi
fi
[ -r "$_ks_ref" ] || { printf 'reference missing\n' >&2; exit 1; }
[ -r "$_ks_loader" ] || { printf 'section-loader missing\n' >&2; exit 1; }
# Replace <section heading> below with one of the exact strings from
# the Reference index table above before running.
_section='<section heading>'
bash "$_ks_loader" "$_ks_ref" "$_section" \
  || { printf 'section not found: %s\n' "$_section" >&2; exit 1; }
```
<!-- kernel-split-reference-loader:end -->

Files in this skill

  • reference.md5 KB
  • skill.md7.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…