spar
Adversarial review of any content — essays, designs, plans, or ideas
Skill by hhellbusch
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hhellbusch-spar
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/spar
Tools it pre-approves 9
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
ReadWriteStrReplaceShellGlobGrepSemanticSearchWebSearchWebFetch
What's inside
- Skill name
spar- Description
- Adversarial review of any content — essays, designs, plans, or ideas
- License
- MIT
- Allowed tools
- Read, Write, StrReplace, Shell, Glob, Grep, SemanticSearch, WebSearch, WebFetch
- Instructions
- 107 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Spar — Adversarial Review
<objective>
Steel-man counterarguments against a target — an essay, a design decision, a thesis, a plan, or an idea shared in conversation. The goal is to surface genuine weaknesses, not to perform contrarianism. Distinguish between structural criticisms (the argument doesn't hold) and presentation criticisms (the argument holds but the writing undermines it).
This is the sparring partner, not the sycophant.
</objective>
<process>
### Step 1: Identify the target
Parse `$ARGUMENTS` to determine what to spar against:
- **File path** → Read the file and all files it links to or references
- **Topic keyword** → Search the project for relevant content (docs, plans, notes)
- **No arguments / conversation context** → Spar against whatever thesis or idea the user has been discussing
If ambiguous, ask: "What should I argue against? A specific file, a thesis you've been exploring, or something else?"
### Step 2: Gather full context
Before generating arguments, load everything the target depends on:
- Read the target file in full
- Follow internal links (if the target references other docs, read the relevant sections)
- Check for related plans, briefs, or roadmaps in the project
- Check for source material or references the target draws from
The adversarial review must understand what the target is trying to say before arguing against it.
### Step 3: Generate adversarial arguments
Produce 3-7 arguments. For each:
**Structure:**
```
## N. [Argument title]
**Type:** Structural | Presentation | Scope | Evidence | Consistency
**The argument:** [Steel-manned critique — the strongest version of this objection, not a strawman]
**Why it matters:** [What breaks or weakens if this criticism is valid — in concrete terms]
**Strength:** Strong | Moderate | Weak
[One sentence on whether this is a genuine weakness or contrarian pattern-matching]
```
**Argument types:**
- **Structural** — the core claim doesn't hold (logic, evidence, mechanism)
- **Presentation** — the claim holds but the framing undermines it (tone, irony, overreach)
- **Scope** — the argument is scoped too narrowly or too broadly
- **Evidence** — claims presented as findings that are actually assertions
- **Consistency** — the target contradicts itself or other content in the project
**Guidelines for generating arguments:**
- Steel-man, not strawman. Present the strongest version of each objection.
- Attack the strongest claims, not the weakest. Easy targets aren't useful.
- Check for the target's own thesis being violated by the target itself (the most valuable finding).
- Look for assertions dressed as evidence — confident prose covering unverified claims.
- Consider what audience would find this unconvincing, and why.
- Do NOT pad with weak arguments to hit a count. 3 strong arguments beat 7 weak ones.
### Step 4: Self-audit
After generating arguments, rate your own work:
- Which arguments are genuine weaknesses vs. contrarian posturing?
- Did you attack the strongest claims or take easy shots?
- Are you pattern-matching into a "devil's advocate" role rather than doing real analysis?
State this honestly at the end:
```
## Self-Audit
**Strongest argument above:** [number] — [why this one actually matters]
**Weakest argument above:** [number] — [why this might be contrarian pattern-matching]
**What I might be missing:** [blind spots in the adversarial review itself]
```
### Step 5: Close the loop
End with: "Where am I right, and where am I pattern-matching my way into a contrarian position?"
### Step 6: Optionally save sparring notes
If the user wants to preserve the sparring for revision:
1. Ask: "Want me to save these as sparring notes?"
2. If yes, create `sparring-notes.md` in a relevant directory with the same structure above, plus blank response sections for the user to fill in.
3. Commit with message prefix `sparring:` if appropriate.
</process>
<success_criteria>
- Every argument is steel-manned (strongest version of the objection)
- Arguments target the strongest claims, not the weakest
- Clear distinction between structural and presentation criticisms
- Self-audit honestly identifies which arguments are strongest and weakest
- The user feels genuinely challenged, not performatively challenged
- No sycophantic softening ("these are minor points" or "overall this is great, but...")
</success_criteria>From hhellbusch/zanshin-pi-extension, MIT.
More from hhellbusch/zanshin-pi-extension
- 0.565score
craft
hhellbusch
Apply engineering principles to code or design — DRY, KISS, SRP, YAGNI, convention over configuration, orchestration vs program, shared change scope, phased…
SkillAFreshness: AClaude Code +9 - 0.565score
domain-language
hhellbusch
Audit established domain terms across glossaries, ADRs, code, schemas, APIs, tests, UI, and external contracts.
SkillAFreshness: AClaude Code +9 - 0.565score
kaeshi
hhellbusch
Inversion lens (返し — reversal): what would guarantee failure?
SkillAFreshness: AClaude Code +9 - 0.565score
kihon
hhellbusch
Basics / fixed forms (基本): shell, secrets, vault, sql, git, k8s, testing, lint, ansible, helm, kustomize, python, typescript, structured edit.
SkillAFreshness: AClaude Code +9 - 0.565score
shoshin
hhellbusch
Surfaces load-bearing assumptions against source artifacts before building.
SkillAFreshness: AClaude Code +9 - 0.565score
unslop
hhellbusch
Cut AI tells from writing.
SkillAFreshness: AClaude Code +9 - 0.565score
yomi
hhellbusch
Second-order lens (読み — reading ahead): and then what?
SkillAFreshness: AClaude Code +9 - 0.559score
lab-journal
hhellbusch
Append one lab-journal entry after a meaningful surprise, or skip.
SkillAFreshness: AClaude Code +9 - 0.558score
checkpoint
hhellbusch
Save current session state mid-session — faster than /whats-next, designed for crash recovery
SkillAFreshness: AClaude Code +9 - 0.558score
whats-next
hhellbusch
Analyze the current conversation and create a handoff document for continuing this work in a fresh context
SkillAFreshness: AClaude Code
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 5, 2026 (5 months ago)
- Last release
- Oct 5, 2026 (24 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hhellbusch
- 0.565score
craft
hhellbusch
Apply engineering principles to code or design — DRY, KISS, SRP, YAGNI, convention over configuration, orchestration vs program, shared change scope, phased…
SkillAFreshness: AClaude Code +9 - 0.565score
domain-language
hhellbusch
Audit established domain terms across glossaries, ADRs, code, schemas, APIs, tests, UI, and external contracts.
SkillAFreshness: AClaude Code +9 - 0.565score
kaeshi
hhellbusch
Inversion lens (返し — reversal): what would guarantee failure?
SkillAFreshness: AClaude Code +9 - 0.565score
kihon
hhellbusch
Basics / fixed forms (基本): shell, secrets, vault, sql, git, k8s, testing, lint, ansible, helm, kustomize, python, typescript, structured edit.
SkillAFreshness: AClaude Code +9 - 0.565score
shoshin
hhellbusch
Surfaces load-bearing assumptions against source artifacts before building.
SkillAFreshness: AClaude Code +9 - 0.565score
unslop
hhellbusch
Cut AI tells from writing.
SkillAFreshness: AClaude Code +9
Cite this page
spar skill. Agent Mart. https://agentmart.dev/skills/hhellbusch-spar (last updated 2026-10-24)