Skip to content
Agentmart
Submit a tool

spar

Adversarial review of any content — essays, designs, plans, or ideas

Skill by hhellbusch

IndexedMIT
Write a review

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.

We use your email only for this newsletter. Privacy

About

Adversarial review of any content — essays, designs, plans, or ideas

Use cases: writing

No 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.

  • Read
  • Write
  • StrReplace
  • Shell
  • Glob
  • Grep
  • SemanticSearch
  • WebSearch
  • WebFetch

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

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

More from hhellbusch

Cite this page

spar skill. Agent Mart. https://agentmart.dev/skills/hhellbusch-spar (last updated 2026-10-24)