nais/pilot/nais-adversarial-review
Claude Code and agent skill by nais/pilot
- community
Checking that the SKILL.md file is still in the repository.
Attack your own change before opening a PR — six axes, a mandatory finding per axis, and a BLOCK/CONCERNS/CLEAN verdict
Install
npx vskill@latest install nais/pilot/nais-adversarial-reviewSKILL.md
Adversarial self-review
Run this after implementing and before opening the draft PR.
The failure mode this prevents is a review that summarises the change instead of attacking it. Review primary evidence, not your implementation summary or your memory of what you intended.
Boundary
Resolve the base, then account for staged, unstaged, committed and untracked changes. Read every new untracked file in full. Ordinary diff output omits it.
Stop, and say so, when the diff is empty, the base is ambiguous, or you cannot safely separate unrelated work.
Six axes, separately
Each axis is a separate pass. Do not let one axis rerank another's findings.
- Correctness. Trace changed control and data flow: errors, state transitions, cleanup, concurrency, failure handling.
- Regression. Affected callers, contracts, shared defaults, migrations, behaviour outside the edit. If you touched
nais/liberator, name the consumers; pseudo-version pins update nothing automatically. - Edge cases. Empty, missing, malformed, repeated, concurrent, timeout, retry, partial failure.
- Requirement coverage. Map each acceptance criterion to concrete code or test evidence.
- Repository standards. The repo's own
AGENTS.mdoutranks any heuristic here. Architecture, naming, language, tests, delivery. - Scope. Every hunk must serve the task. Also name requested behaviour the diff does not implement.
Platform axes
On this platform, additionally:
- Blast radius. Still what the plan claimed? It moves during implementation.
modules/is every tenant. - Beyond `dev-nais`. What happens on a tenant with on-prem environments, or without them?
- After the canary.
ci-naisis one tenant and the only gate before fan-out. What passes there and fails elsewhere? - Generated code. Committed, and consistent with its source?
Every axis must produce a finding
An axis that reports nothing has not looked hard enough. Write what you found, however small, or state what you inspected and what the evidence does not prove.
A finding raised by two or more axes is promoted one severity level.
Verdict
End with one:
| Verdict | Rule | |
|---|---|---|
| BLOCK | one or more critical findings | |
| CONCERNS | two or more warnings | |
| CLEAN | neither. It still states what was inspected and what the evidence does not prove |
Gates
Discover deterministic gates from the repo's instructions, build files, test config and CI rather than assuming a toolchain. Run the smallest relevant checks, then the required final gates after the last edit. Record commands, results and exit codes. Distinguish fresh evidence from stale or unverified claims.
Anti-patterns
Any of these means you did not do the review:
- "LGTM", "no issues found", or a summary of the change.
- Cosmetic findings only.
- Pulling punches on your own work.
- Restating the diff instead of interrogating it.
- Ignoring test gaps.
- Reviewing only changed lines, never their callers.
Report
Material findings first, ordered by consequence. Each one: path and line, the concrete failure mode, the smallest useful correction.
Then: acceptance-criterion coverage, gate evidence, remaining uncertainty, and the verdict.
Fix in-scope findings before opening the PR. Carry the rest into the PR body. Unfixed findings belong in the open, not in a memory.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/nais-adversarial-review/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nais/pilot/nais-adversarial-review)