agentleFS
quaatquaat/autonomous-development/skills/adversarial-review/SKILL.md

adversarial-review

Skill3 starsChanged 49 days agoMITView on GitHub

Run a fresh read-only Codex challenge review for authentication, authorization, persistence, migration, concurrency, retry, data-loss, privacy, or external-service risks.

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 9 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

  • AnasX7Skill

    show-me

    Help the user understand the current topic visually with concise diagrams, code-shape sketches, and focused HTML artifacts.

    Also in 3 projects that use this

  • +2 more from microsoft

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 92 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use for high-risk changes after ordinary verification and code review.

    line 12
  2. Very specific:

    Read the generated adversarial-NN.codex.json.

    line 19

“Common” is measured: kept by at least 6 in 10 of the 92 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

Use for high-risk changes after ordinary verification and code review.

python3 "${CLAUDE_PLUGIN_ROOT}/scripts/controller.py" set-risk --require-adversarial --reason "$ARGUMENTS"
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/controller.py" codex --phase adversarial

Read the generated adversarial-NN.codex.json. Distinguish concrete failure scenarios from speculation and identify the smallest evidence-backed mitigations. Do not edit product files in this skill.

Every round's threats merge into a cumulative ledger (T-<n> ids) that the completion gate checks unconditionally — independently of verdict, and independently of whether risk classification required adversarial review in the first place: an unresolved critical/high threat blocks completion even if the payload reports verdict: pass, and even on a run this skill was invoked for manually rather than because requires_adversarial_review was set. A threat is released only by triage (same mechanism as review findings — a severe threat needs a recorded rationale to close). An exact re-report of an already-released threat in a later round is recognized as "still released, seen again" rather than reopened under a fresh id (dedup matches across all statuses); re-blocking a released threat needs an explicit triage entry, not just a later scan finding it again.

If a later round reports an already-released threat again, byte-identical, its status is NOT changed automatically — but it is recorded (reseen_after_release_round) and surfaces three ways: in the prompt's PRIOR_THREATS section as RELEASED-BUT-RESEEN, as its own completion-gate blocker for critical/high severity until you re-triage it (confirm the release still holds, or reopen it if the regression is real), and in next-action's guidance, which names re-triage directly rather than recommending another adversarial-review round (re-running the scan alone cannot clear this state). This applies to both triage dispositions: already_resolved (a fact about the code a re-report can falsify) and rejected_with_evidence (a judgment call) alike.

A PR touching only plugin configuration — skills/*/SKILL.md, prompts/*.md, agents/*.md, or a root/nested instruction-policy file (AGENTS.md/CLAUDE.md/CONTRIBUTING.md) — always sets requires_adversarial_review (category plugin/reviewer-config), regardless of the file's prose content: these files define agent behavior, granted tools, or (for SKILL.md) the read-only boundary this workflow is built around. A changed .gitattributes sets the same category, because it controls how git presents the PR's own content to the reviewer. The category still fires when a config file is renamed away (both the rename's source and destination path are classified, not only the destination) or lives under a path containing non-ASCII bytes, a tab, a quote, a backslash or a newline (path reads are NUL-delimited with quoting disabled, so paths are classified by their literal string). Content classifiers are likewise pinned with --text, so an in-tree .gitattributes setting -diff cannot blank out a file's content and leave nothing to match. Otherwise each of these would let the gate be evaded through how a change is renamed, encoded or presented rather than through its content.

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.