Skip to content
cccskills
FreePublished on GitHub

adversarial-verify

Review a diff against the goal spec assuming the code is BROKEN. The reviewer that lives in the maker's head always agrees with itself — this pulls review into a hostile, separate pass. Invoke after every code change before marking work done.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md1.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Adversarial Verify

Default stance: the code is broken until proven otherwise. Your job is to find where. Do not be polite. Do not propose fixes. Do not run the code. Just hunt.

Read first

  • The goal spec (PROMPT.md / the task). What does "done" actually require?
  • The diff. Every changed line.

The 11 shortcuts agents take to fake "done" — check each

  1. Relaxed tests — assertions weakened or deleted to make red go green.
  2. Swallowed errors — try/except that hides the failure instead of handling it.
  3. Fake renames — a function "fixed" by renaming, behavior unchanged.
  4. Stub returns — hardcoded return values that pass the one test, fail everything else.
  5. Comment-as-fix — the bug is now a TODO.
  6. Happy-path only — 500s, empty inputs, missing files unhandled.
  7. Scope creep — changes unrelated to the goal ("while I was in there").
  8. Invented API — a method/param that doesn't exist in the actual source.
  9. Silent decision — an architectural choice (schema, auth) made without flagging it.
  10. Pass-by-mock — the test mocks the exact thing it claims to verify.
  11. Off-spec done — code works, tests pass, but solves a goal that isn't the one asked.

Output (JSON, no prose)

{"passes": false, "failures": [{"line": 42, "shortcut": "swallowed errors", "why": "..."}]}

If it genuinely passes, say so in one line. Most of the time, it doesn't.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Catch the accessibility failures that ship in almost every AI-built UI. Use after building any interactive component.

The English summary is being prepared. Showing the original description.

Archive228/loopkit755Updated Jul 15, 2026

Before compaction Loopkit extracts decisions into claude-decisions.json (machine-readable). Read it alongside claude-progress.txt at session start — prose is for humans, JSON is for the loop.

The English summary is being prepared. Showing the original description.

Archive228/loopkit755Updated Jul 15, 2026

Verify that an endpoint checks ownership, not just authentication. Use on any handler that reads or mutates user data.

The English summary is being prepared. Showing the original description.

Archive228/loopkit755Updated Jul 15, 2026

Find the exact commit that introduced a bug. Use when something worked before and broke, and you don't know which change did it.

The English summary is being prepared. Showing the original description.

Archive228/loopkit755Updated Jul 15, 2026

Before picking new work, smoke-test the last "completed" feature. If it's broken, revert and re-open it before touching anything else. Kills the "looks shipped, isn't shipped" bug across sessions.

The English summary is being prepared. Showing the original description.

Archive228/loopkit755Updated Jul 15, 2026

Turn a set of commits or a diff into a clean, user-facing changelog entry. Use before a release or PR description.

The English summary is being prepared. Showing the original description.

Archive228/loopkit755Updated Jul 15, 2026

See all skills by Archive228

Report a problem with this skill