Agent skill · Code Review & Quality

kill-argument

Two-thread adversarial review: a fresh reviewer constructs the strongest 200-word rejection memo, then a second fresh reviewer defends the paper point-by-point and surfaces still-unresolved critical issues. Use when user says \"kill argument\", \"adversarial review\", \"hostile review\", \"rebuttal preparation\", \"reviewer-2 simulation\", or before submitting a theory paper that has already passed standard review rounds.

majiayu000github.com/majiayu000GitHub ↗
claude-codecan modify filesMIT
Install
npx skills add majiayu000/claude-skill-registry --skill kill-argument --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 24 KB
Bundled scripts: none
Allowed tools: Bash(*)ReadWriteEditGrepGlobmcp__codex__codex
Path: skills/analysis/kill-argument/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

The skill creates a two-thread adversarial review process: the first thread generates the strongest 200-word rejection memo for a given paper, and the second thread defends it point-by-point, classifying unresolved issues. It is designed to be used when users say phrases like "kill argument", "adversarial review", or similar, or before submitting a theory paper that has already passed standard review rounds. It is explicitly described as a verdict-bearing exercise producing an attack memo and a defense with unresolved issues surfaced for later action.

How it works

  1. Step 1: Discover paper files: locate the paper directory, find the LaTeX entry, and gather source files (tex, bib, figures).
  2. Step 2: Attack memo (Thread 1, fresh codex): invoke mcp__codex__codex with model gpt-5.5 and reasoning effort xhigh in a read-only sandbox, cwd set to the paper directory, and a prompt that instructs simulating a hostile reviewer to construct a single strongest rejection paragraph of approximately 200 words. The prompt emphasizes selecting one damaging line of attack from axes like theorem validity, assumption-vs-claim mismatch, missing proof obligations, limit-order ambiguity, claim-vs-evidence gap, or scope overclaim, and to cite specific file:line locations when accusing. Output is the rejection memo only, about 200 words, with a single argument.
  3. Step 2.5 (optional beast effort): if enabled, perform six axis probes as separate fresh-codex prompts to gather evidence breadth, then synthesize a single 200-word verdict by committing on the strongest axis.
  4. Step 3: Adjudication memo (Thread 2): invoke a second mcp__codex__codex call to read the paper files and the verbatim attack memo, decompose into 3-7 rejection points, and for each point assign one of: answered_by_current_text, partially_answered, still_unresolved, with structured fields including Attack claim, Verdict, Evidence, Severity, and If unresolved, recommended fix. Then provide a Net assessment, Top action items, and a concise summary.
  5. Step 4: Write KILL_ARGUMENT.md and KILL_ARGUMENT.json containing the human-readable report and a machine-readable artifact per the specified format.

When to use it

  • After 1-2 rounds of /auto-paper-improvement-loop settled at a stable score, but before submission
  • During rebuttal preparation to predict the strongest objection
  • For theory papers with a high-level title that may oversimplify the actual theorem
  • For papers where a reviewer might attack scope, assumption-vs-claim mismatch, missing proof obligations, or evidence-vs-headline gaps

What it can touch

The workflow relies on Bash-like orchestration and the tools listed: Bash, Read, Write, Edit, Grep, Glob, mcp__codex__codex. It reads paper files and writes KILL_ARGUMENT.md and KILL_ARGUMENT.json to the paper directory.

Caveats

  • Declares constants such as REVIEWER_MODEL = gpt-5.5, CONTEXT_POLICY = fresh, ATTACK_LENGTH ≈ 200 words, DEFENSE_DECOMPOSITION = 3-7, OUTPUT = KILL_ARGUMENT.md + KILL_ARGUMENT.json, and RENDER_HTML = true.
  • Requires the paper directory structure and specified source files to exist; all steps rely on current paper files only and do not consult prior reviews.
  • The process produces a single strongest rejection paragraph and a defense, not a list of multiple independent points.
From the SKILL.md

# Kill Argument Exercise: Adversarial Attack-Defense Review > 🔒 **Do not wrap this skill in `/loop`, `/schedule`, or `CronCreate`.** It is > verdict-bearing — it produces an adversarial accept/reject verdict (attack → > adjudication). Re-firing it on a wall-clock timer adds no new signal (the > attack changes only when the *paper* changes). Schedule the *external wait > that precedes it* — draft stable → then run this **once** before submission. > See > [`shared-references/external-cadence.md`](../shared-references/external-cadence.md). Stress-test the headline claims of a paper against the strongest possible rejection argument: **$ARGUMENTS** ## Why This Exists Standard score-based reviews (`/research-review`, `/auto-paper-improvement-loop`) tend to produce **balanced** weakness lists. Each weakness gets ~equal attention, ranked CRITICAL > MAJOR > MINOR. Empirically, this misses one specific failure mode: the **single most damaging argument** a reviewer would write in a rejection paragraph — the one sentence that, if a senior area chair reads it, kills the paper. A balanced reviewer might list "scope-overclaim risk" as MAJOR alongside 3-5 other MAJORs, never quite committing. An

What's inside
Steps it walks through
  1. Why This Exists
  2. How This Differs From Other Review Skills
  3. When To Use
  4. Constants
  5. Workflow
  6. Step 1: Discover paper files
  7. Step 2: Attack memo (Thread 1, fresh codex)
  8. Step 2.5 (optional, beast effort): multi-axis attack fan-out
  9. Step 3: Adjudication memo (Thread 2, fresh codex with attack + paper)
  10. Step 4: Write KILLARGUMENT.md and KILLARGUMENT.json
  11. Step 5: Print summary
  12. Output Contract
  13. Key Rules
  14. When NOT to Use
Ships with 1 file
  • metadata.json
Commands it runs
cd "$PAPER_DIR"
Find the LaTeX entry point
echo "Entry: $ENTRY"
Find all source files codex should read
find . -name "*.tex" -not -path "./.git/*" 2>/dev/null
find . -name "*.bib" -not -path "./.git/*" 2>/dev/null
find figures/ -name "*.pdf" -o -name "*.png" 2>/dev/null
ls -la *.pdf 2>/dev/null  # compiled PDF
More from claude-skill-registry
All skills →
About this skill
What does the kill-argument skill do?

Two-thread adversarial review: a fresh reviewer constructs the strongest 200-word rejection memo, then a second fresh reviewer defends the paper point-by-point and surfaces still-unresolved critical issues. Use when user says \"kill argument\", \"adversarial review\", \"hostile review\", \"rebuttal preparation\", \"reviewer-2 simulation\", or before submitting a theory paper that has already passed standard review rounds.

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill kill-argument --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going