
spar
by bdsqqq
SKILL.md
name: spar description: "adversarial review via spawned antithesis agent. use to prune false positives from EXISTING findings. NOT for discovery or when claim is verifiable against single source."
spar
adversarial debate protocol. spawns an antithesis agent to challenge your findings. catches false positives and surfaces missed issues.
load first: review — provides epistemic standards for both agents.
prerequisite skills: spawn, coordinate, report
assumes prerequisite skills are sibling directories (spawn, coordinate, report alongside spar).
when to load
- reviewing code, designs, or documentation
- debugging findings that need second opinion
- any analysis where you'll report findings to others
- when "first clean" can't be trusted
when NOT to use
before spawning adversarial review, ask:
- is there a single source of truth? if claim is verifiable against code/spec, verify it directly instead of debating.
- do i already have findings to refine? spar prunes false positives from EXISTING findings. don't spawn courts to generate findings.
- will debate add signal or noise? if the answer is in the code, read the code.
spar refines EXISTING findings. it's not a discovery mechanism.
protocol
1. produce initial review with confidence labels (VERIFIED/HUNCH/QUESTION)
2. spawn antithesis agent with challenge instructions
3. iterate thesis/antithesis/synthesis rounds:
- antithesis: challenge strongest/most confident claim
- thesis: verify claim, concede or defend with evidence
- synthesis: update position, identify next target
4. terminate after 2+ consecutive rounds with no position change
spawning antithesis
ANTITHESIS=$(../spawn/scripts/spawn-amp "ANTITHESIS — challenge thesis findings.
your role: refute, challenge, find weaknesses. attack VERIFIED claims first (they claim highest confidence). load the review skill. read the source material independently.
findings to challenge:
<paste findings here>
files to examine:
<file list>
communicate via: tmux send-keys -t <coordinator-pane> 'AGENT \$NAME: <message>' C-m
wait for synthesis before next challenge. take turns.")
communication
use tmux send-keys directly. slash commands are unreliable over tmux.
antithesis → coordinator:
tmux send-keys -t %5 'AGENT $NAME: <challenge or concession>' C-m
coordinator → antithesis:
tmux send-keys -t $ANTITHESIS 'THESIS: <defense or concession>' C-m
synthesis
after each exchange, update your position:
## synthesis round N
**challenged:** <which claim>
**verdict:** UPHELD | REFUTED | MODIFIED
**position update:** <revised finding if modified, or "no change">
**next target:** <which claim antithesis should challenge next, or "none — stable">
termination
stable when 2+ consecutive rounds produce no position changes.
final output:
## spar result
| round | challenged | verdict |
|-------|------------|---------|
| 1 | race condition claim | MODIFIED |
| 2 | auth bypass claim | REFUTED |
| 3 | input validation | UPHELD |
| 4 | (stability check) | no change |
| 5 | (stability check) | no change |
### revised findings
<updated findings with verdicts>
### pruned claims
<claims that were refuted, with reasoning>
meta-auditor phase
dialectic can produce manufactured findings — agents invent problems to appear rigorous.
after spar claims completion, audit for authenticity:
## meta-audit
for each finding from spar:
| finding | trace to source? | would skill fail without? | box-checking risk | verdict |
|---------|-----------------|---------------------------|-------------------|---------|
| add slop example | yes — traces to confident-ai research | yes — epistemic skills show failure modes | LOW | GENUINE |
| rename pattern section | no source | no functional impact | HIGH | MANUFACTURED |
**recommendation:** KEEP genuine findings, REVERT manufactured ones.
spawn a separate meta-auditor agent if context is long:
META=$(../spawn/scripts/spawn-amp "META-AUDITOR — audit spar findings for authenticity.
assume MANUFACTURED until proven. for each finding:
1. does it trace to specific research? (cite source)
2. would the artifact ACTUALLY fail without this change?
3. box-checking risk: LOW/MODERATE/HIGH
verdict: GENUINE or MANUFACTURED
recommendation: KEEP or REVERT
findings to audit:
<paste spar results>")
composition with rounds
spar can be orchestrated by rounds for parallel debates:
rounds (orchestrator)
├── court 1: spar(finding A)
│ ├── thesis agent
│ └── antithesis agent
├── court 2: spar(finding B)
│ ├── thesis agent
│ └── antithesis agent
└── court 3: spar(finding C)
├── thesis agent
└── antithesis agent
→ rounds collects verdicts
→ runs meta-auditor on all verdicts
→ iterates if issues found
interface contract for rounds:
- input: claim/finding to debate + relevant file paths
- output: verdict (UPHELD/REFUTED/MODIFIED) + revised finding if modified
- termination: 2+ synthesis rounds with no position change
pitfalls
- premature convergence: agents agree too fast to satisfy "2 clean rounds." skepticism is the cure.
- manufactured issues: antithesis invents challenges to have something to say. meta-auditor catches these.
- slash commands: unreliable over tmux. use direct send-keys.
- permission prompts: require arrow keys + enter. ask user to handle manually.
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です