agentleFS
ronniepinnellronniepinnell/casper/skills/refute/SKILL.md

refute

Skill1 starsChanged 4 months agoMITView on GitHub

Adversarial claim verification. Before accepting any "it works / it's done / it's fixed" claim, construct the concrete input that would break it and run it. Use before commits, PR creation, closing issues, or whenever a completion claim is made.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. TheAxeC/ordo★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository16 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Default posture: the claim is false until step 3 fails to break it.

    line 49
  2. Distinctive:

    If step 2 produces a refutation you can't afford to run (e.g.

    line 57
  3. Distinctive:

    Never soften REFUTED. "Mostly works" = REFUTED with details.

    line 59

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/refute — Try to Break the Claim

The single highest-leverage quality procedure. Plausible-but-wrong is the default failure mode of every model and every tired human. This skill converts skepticism into a forced procedure. Repo-agnostic: works on any project, any language.

Invocation

/refute                          # refute the most recent completion claim in this session
/refute the pagination fix works # refute a specific claim

Procedure (all 5 steps, in order — no skipping)

  1. State the claim precisely. One sentence, falsifiable. "The fix works" is not a claim. "GET /players?page=2 returns rows 51–100 with HTTP 200" is.
  2. Enumerate the ways it could be false. Minimum 3, each concrete:
    • Wrong input class (empty, null, unicode, huge, negative, concurrent)
    • Wrong environment (fresh clone, missing env var, prod-shaped data volume)
    • Wrong layer (the symptom moved, the root cause didn't)
    • Untested path (error branch, permission denied, timeout)
  3. Pick the strongest refutation and RUN it. Actual command, actual output. Not "this should handle it" — execute. If it can't be executed, say so explicitly and downgrade the claim to UNVERIFIED.
  4. Verdict, one of exactly three:
    • CONFIRMED — refutation attempted and failed; paste the command + output as evidence
    • REFUTED — found the break; the claim is false, say so plainly, fix or file
    • UNVERIFIED — could not execute a real test; the claim stays unproven and must be reported as such (never silently upgraded to done)
  5. Record. The verdict + evidence goes wherever the claim was going: commit message (Evidence: line), PR body, issue comment. A claim without its verdict attached did not happen.

Rules

  • Default posture: the claim is false until step 3 fails to break it.
  • The layer rule (done-claims). Refute a done-claim at the layer where it is EXPERIENCED, not where it was produced. "Merged" proves the code layer; "done" asserts the user layer — unpromoted branches, undeployed builds, and unapplied migrations all manufacture false-dones that commit-level evidence can't catch. Without observing the live artifact, the honest verdict is CONFIRMED (code layer) / UNVERIFIED (live) — name both layers.
  • One refutation run beats ten paragraphs of reasoning about why it's probably fine.
  • If step 2 produces a refutation you can't afford to run (e.g. prod-only), that is a finding: name the coverage gap in the verdict.
  • Never soften REFUTED. "Mostly works" = REFUTED with details.

Worked example (real ruling, 2026-07-09 — reproduced as a static transcript)

Claim: "the judgment hooks work from a cold clone" (as first shipped).

  1. Falsifiable form: in a fresh sandbox with only shipped files, spec-citation blocks a protected-path edit (exit 2) and passes an unprotected one (exit 0).
  2. Failure candidates: wrong env (cold clone), config not read, glob mismatch.
  3. Ran the sandbox matrix with a hand-written config → spec-citation FAILED to block: exit 0 where 2 was expected. Before declaring REFUTED, refuted the refuter: the test config used invented keys (protected/spec_hint); the shipped keys are protected_globs/specs_hint.
  4. Re-ran against the shipped judgment.json.example → block=2, pass=0, fire-once marker all green (hooks/judgment/test.sh).
  5. CONFIRMED — evidence: sandbox matrix vs shipped example config, all green. The first red was the harness's fault — which is the lesson: refute the refutation's setup before trusting a red.

Composes with

  • /gate — a kill-gate threshold is a pre-agreed refutation.
  • /premortem — premortem failure modes are refutation candidates.
  • /altitude — after a cause-layer fix, refute the original SYMPTOM-layer claim to prove the fix propagated.
  • /drift — a drift sweep is batch refutation of a spec's claims against the code.
  • /verdict — REFUTED/SURVIVED outcomes worth remembering get logged there.
  • /sweep — a sweep's Phase 2 is /refute run adversarially at scale.
  • claim-evidence hook (hooks/judgment/claim-evidence.sh) — mechanically blocks done-claims in commits that carry no evidence; /refute is how you produce it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.