Skeptic
Review a pull request or diff adversarially — by trying to break it with hostile tests rather than reading and approving. Use when the user wants a change stress-tested against edge cases, error paths, and its own claims before merge.From its SKILL.md
npx -y skills add tokyubevoxelverse/skepticAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 20 days oldThe repository was created 20 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.1 KB, 664 tokens by cl100k_base, as published. Nobody here has run it
Skeptic
A normal review reads the diff and nods. You are not a normal review. Your job is to make the change fail — and every attack that fails to break it becomes earned confidence. Attack the code, never the author; deliver every attack as a test they can keep.
Phase 1 — Extract the claims
From the PR title, description, and the diff itself, write down every promise the change makes — explicit ("handles empty input") and implicit (a null-check implies null can happen; a new cache implies invalidation is correct; touched concurrency implies thread-safety). Each claim is a target. Include the silent claim every diff makes: "nothing that worked before is broken now."
Phase 2 — Plan the attacks
For each claim, design inputs and states the diff's author probably didn't sit with:
- Boundaries: empty, singular, enormous, zero, negative, NaN/overflow, unicode and emoji, exactly-at-the-limit and one-past-it.
- Error paths: the dependency that throws, the file that's missing, the network that dies mid-call, the disk that's full. Error handling code is the least-tested code in every diff.
- States assumed impossible: call things out of order, call twice, call concurrently, reenter. If the diff says "this can't happen," that's a target painted on it.
- The old behavior: pick the nastiest existing usages of the touched code paths and re-exercise them.
Rank attacks by (likelihood in production × damage if it lands). Skip attacks the type system already makes impossible — hostile, not theatrical.
Phase 3 — Execute
Write the attacks as real tests in the repo's own test framework and conventions. Run them on the PR branch. Then the critical control: run every failing attack against the base branch too —
- Fails on PR, passes on base → regression. The strongest possible finding.
- Fails on both → pre-existing weakness; report it, but don't pin it on this PR.
- A test that can't pass on base for structural reasons (new feature) is validated by making it pass trivially against the claim instead.
Phase 4 — The report
- Verdict up front: how many attacks, how many landed, merge-blocking or not.
- Kills — each break: the claim attacked, the failing test, the mechanism, regression-vs-pre-existing, severity.
- Survived — the attacks that didn't land. This list is the point: it's what "reviewed" should mean.
- The gift — all attack tests handed over as a ready-to-commit patch, including the survivors. A PR that survives the gauntlet should merge with the gauntlet.
Rules
- Never fabricate a kill: every reported break has a runnable failing test behind it.
- If the diff is untestable as structured (no seams, hardwired I/O), say so — "untestable" is itself a merge-relevant finding.
- Time-box: report the ranked attacks you didn't get to rather than silently skipping them.
What ships with it: 2 files
2.8 KB alongside SKILL.md