agentleFS
alex-macraalex-macra/claude-codex-skills-assembly/skills/adversarial-review/SKILL.md

adversarial-review

Skill1 starsChanged 3 months agoMITView on GitHub

Independent second-pass review that tries to break the change: invariants, edge cases, error paths, concurrency; ends in a failing input and a verdict. Use for an adversarial review, red team pass, or poke holes.

104 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use rethink, root-cause-analysis and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • fabioespindulaSkill

    rethink

    Reframe a plan, idea, or decision before the user commits to it. Use when the user asks to rethink, step back, pressure-test, gut-check, decide, right-size, simplify, think bigger about, or evaluate a concrete plan or decision in product, strategy, technical architecture, career, life, company direction, or personal priorities. This skill improves decision quality before action: clarify the real question, challenge assumptions, compare alternatives, calibrate ambition, classify the operating mode, surface risks, and recommend a next move. Do not use for broad future exploration without a concrete decision; that belongs to a think-big or research-style skill.

    Also in 3 projects that use this

  • MicrosoftSkill

    root-cause-analysis

    Use when a Regional Retail Manager asks I'm seeing unusual inventory movement at our Northwest stores. Can you help me understand what's happening?

    Also in 3 projects that use this

  • anasahmed07Skill

    better-auth-best-practices

    Skill for integrating Better Auth - the comprehensive TypeScript authentication framework.

    Also in 4 projects that use this

  • DockerSkill

    fix-issue

    Fix a single GitHub issue end-to-end: triage, research, write the fix, review, and create a PR. Use when asked to fix an issue: "fix issue 1234", "resolve #500", "create a PR for issue 200".

    Also in 3 projects that use this

  • MicrosoftSkill

    pull-request

    Write concise, focused pull request descriptions for Wassette — at most three sentences on the what and why, with an explicit note on any breaking public-API change and how users adapt. Use when opening or editing a Wassette pull request.

    Also in 3 projects that use this

  • juriwiensSkill

    codex-review

    Run code review via Codex CLI

    Also in 3 projects that use this

  • +2 more from microsoft

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 93 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not restate or lean on the first review.

    line 18
  2. Distinctive:

    Don't be anchored by the author's framing or the happy-path test they wrote.

    line 19
  3. Distinctive:

    If you break it, minimize the case to the smallest reproducer.

    line 35
  4. Distinctive:

    Default to skepticism: when you're unsure whether something holds, dig - don't wave it through.

    line 36
  5. Very specific:

    No vague worries. "This might have issues under load" is not a finding.

    line 42
  6. Very specific:

    Not the first review - that's architect-review.

    line 48
  7. Distinctive:

    Not a rewrite. Find the defect and the minimal fix.

    line 49

“Common” is measured: kept by at least 6 in 10 of the 93 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Adversarial review

This is the challenge pass that runs after a normal review. Your stance is not "does this look fine?" - it is "this is wrong, and I will find the input that proves it." If you finish and genuinely couldn't break it after a real attempt, that is the signal it's solid.

Independence discipline

  • Do not restate or lean on the first review. Re-derive what the change must guarantee, from scratch.
  • Don't be anchored by the author's framing or the happy-path test they wrote. Those show it working; your job is to find where it doesn't.
  • Assume the diff is guilty until you fail to convict it.

Attack surface (work through each)

  • Boundary & malformed inputs - empty, null/undefined, zero, negative, huge, off-by-one, duplicate, out-of-order, Unicode, mixed types, unexpected shapes.
  • Error & failure paths - what if the call throws, the network drops, the write half-completes, the file is missing, the JSON is malformed? Is the error swallowed? Is state left corrupt?
  • Invariants - name what must always hold (balance never negative, ID unique, list sorted). Then try to construct a sequence of operations that violates it.
  • State, ordering & concurrency - re-entrancy, double-submit, two writers, retry-after-partial-success, stale cache, events arriving out of order.
  • Security - any path from untrusted input to a sink (query, shell, filesystem, HTML, deserialization). Trust boundaries crossed without validation; for a dedicated pass use security-review.
  • Resource & scale - unbounded growth, leaks, N+1, quadratic loops, missing pagination, allocations in a hot path.

Method

  1. Identify the riskiest claim the change relies on - the assumption that, if false, breaks it.
  2. Try to construct concrete inputs or an interleaving that falsifies it. Write the actual values.
  3. If you break it, minimize the case to the smallest reproducer.
  4. Default to skepticism: when you're unsure whether something holds, dig - don't wave it through.

Output

  • Verdict: Confirmed solid (with the attacks you tried and why they failed) OR Defects found.
  • Per defect: a concrete failing scenario (specific inputs/state to wrong output or crash), a severity from the ladder below, and the smallest fix that closes it.
  • No vague worries. "This might have issues under load" is not a finding; "with 2 concurrent submit() calls, count double-increments because the read-modify-write isn't atomic - here's the interleaving" is.

Severity: Blocker (correctness, security, data loss) / Should-fix (compounding design debt) / Nit.

What this skill is not

  • Not the first review - that's architect-review. This runs after, to stress what it passed.
  • Not a rewrite. Find the defect and the minimal fix; don't redesign.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.