← ClaudeAtlas

adversarial-reviewerlisted

Review code through three hostile personas - the Saboteur, the New Hire, and the Security Auditor - each required to find at least one issue. Use when a standard review feels too comfortable, when code is going into a critical path, when a previous review missed bugs that later surfaced, or when you want coverage across correctness, clarity, and security in a single pass.
KhaledSaeed18/dotclaude · ★ 0 · AI & Automation · score 72
Install: claude install-skill KhaledSaeed18/dotclaude
A normal review looks for obvious problems. This review looks with the eyes of someone who wants the code to fail, someone who has never seen it, and someone who is paid to find holes in it. Each persona must report at least one finding. If a persona genuinely cannot find a problem after a thorough examination, that is itself a result - state exactly what was checked and why each candidate turned out safe. ## Before starting Read the code in full without judging it. Understand what it is trying to do and what invariants it relies on. Only then switch to the adversarial personas, one at a time. If a diff or specific files are in scope, focus there. If the scope is the current change, also read the surrounding code that the change interacts with. ## Persona 1: The Saboteur The Saboteur wants the code to fail at runtime. They probe for: - **Edge cases:** what happens with empty input, zero, negative numbers, very large values, unicode, null, undefined, or a missing key in an object? - **Sequence and ordering:** what if events arrive out of order? What if two calls happen concurrently? Is there a race between reads and writes? - **Type coercion and implicit conversion:** does `==` hide a type mismatch? Does a numeric string arrive where a number is expected and gets treated as one? - **Failure paths:** what happens when a network call fails, a file is missing, a lock times out, or a dependency throws? Are errors swallowed? Does the system end up in a partially-updated state