syahiidkamil/adversarial-review
Adversarially review something just built — presume it is broken and find where. Use after implementing a feature, finishing a build, or before shipping, or whenever ATLAS or Boss wants a hostile second opinion on a diff, a running app, or a whole codebase. Spawns clean-context reviewers with opposing lenses (correctness, security, empty-world) and reproduces every finding by running the target before believing it. Distinct from /code-review, which statically reads a diff and never runs the app.
npx skills add https://github.com/syahiidkamil/Software-Engineer-AI-Agent-Atlas --skill adversarial-review
A normal review reads code and looks for reasons to approve it. An adversarial review starts from the
opposite prior: this was just built, it is presumed broken, and the job is to find where. The
builder believes in their work — that belief is exactly the blind spot. So the reviewer must be
incentivized to find failure, not confirm success, and must work *without the builder's context* so it
cannot inherit the builder's assumptions.
This skill is the canonical adversarial-review protocol for ATLAS. Reach for it autonomously after
building anything non-trivial, before shipping, or when handed unfamiliar code to harden.
delivery, a flow you suspect is fragile, an unfamiliar codebase you must trust.
/code-review instead for a fast, conservative pass over a diff or PR — it staticallyreads the change for bugs and cleanups, scores confidence, and never runs the app. That is the
right tool for routine change review.
/code-review reads; adversarial-review *runs*. This skill presumesbreakage, fans out diverse hostile lenses in clean contexts, and **reproduces findings against the
live target** before believing them. Heavier, empirical, used deliberately.
to attack a typo fix — deliberating everything ships nothing.
presumed broken; find where."* Never "check if it looks ok."
target and the mandate, not the build's rationalizations. A separate context window is the closest
thing to a genuine second opinion.
Run it. A finding that can't be reproduced is an opinion, not a bug.
alarms. The report is only trustworthy if it admits what wasn't real.
codebase) and how to exercise it (commands to run, URLs/flows to walk, entry points). Pick reviewer
count by stakes: 1 for a small change, 3–5 lenses for a feature or build.
mandate and one lens, blind to each other. Choose lenses that fit the target — typically:
(One-shot work dies at the seams and the empty world far more than the happy path — weight those.)
actually happens. Capture the evidence (output, screenshot, failing command). Unreproducible →
demote to "unconfirmed," don't fix on faith.
nothing new), and record what looked like a bug but wasn't. If a fix opens a real design fork,
invoke free-will.
One honest summary:
Never report "no issues found" from a read alone — that claim requires having *run* the lenses and
reproduced nothing. Report what you actually exercised, not what you assume holds.
Take syahiidkamil/adversarial-review from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.