a11y-pass
Catch the accessibility failures that ship in almost every AI-built UI. Use after building any interactive component.
Review a diff against the goal spec assuming the code is BROKEN. The reviewer
$ npx -y skills add Archive228/loopkit --skill adversarial-verify --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/adversarial-verifyContext preview
The summary Claude sees to decide when to auto-load this skill.
Review a diff against the goal spec assuming the code is BROKEN. The reviewer
name: adversarial-verify description: 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. when_to_use: a code change is "done", before flipping a task to complete, before commit
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.
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.
{"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.
33 battle-tested skills + minimal .claude harness for any coding agent (Claude Code, Cursor, Codex, Gemini CLI).
Catch the accessibility failures that ship in almost every AI-built UI. Use after building any interactive component.
Before compaction Loopkit extracts decisions into claude-decisions.json (machine-readable). Read it alongside claude-progress.txt…
Verify that an endpoint checks ownership, not just authentication. Use on any handler that reads or mutates user data.
Find the exact commit that introduced a bug. Use when something worked before and broke, and you don't know which change did it.
Before picking new work, smoke-test the last "completed" feature. If it's broken, revert and re-open it before touching anything…
Turn a set of commits or a diff into a clean, user-facing changelog entry. Use before a release or PR description.