Backfill
π» The friendly ghost in your git. Your AI said done β Casper makes it prove it. Claim-evidence hooks + a verdict ledger for Claude Code.
npx -y skills add ronniepinnell/casper --skill backfillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 27 days oldThe repository was created 27 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.
- 0 stars0 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.
What its author says it does
Copied from the file, not written here
Retroactively grade merged PRs against the claim-evidence discipline β which done-claims shipped with evidence, which shipped unproven. Zero-LLM (gh CLI); optionally seeds the verdicts ledger with UNVERIFIED BACKFILL rows. Use when adopting the toolkit on a repo with history, before trusting old "done"s, or to measure how the discipline is trending.
SKILL.md
2.6 KB, 540 tokens by cl100k_base, as published. Nobody here has run it
/backfill β Grade the Dones You Already Shipped
The gates protect the next hundred PRs; history is where the false-dones you can already feel came from. This runs the claim-evidence check retroactively: every merged PR is graded EVIDENCED / UNEVIDENCED / NO-CLAIM, mechanically.
Invocation
/backfill # last 100 merged PRs, current repo
/backfill --since 2026-01-01 --ledger .claude/verdicts.log # window, not the whole history
/backfill --limit 300 # hard cap either way
Procedure
- Run
python3 <toolkit>/scripts/backfill.py [--repo β¦] [--since DATE] [--limit N]β on a repo with thousands of PRs, ALWAYS pass--since(server-side filter); grade a window and widen only if the baseline needs it. (same claim words and evidence paths as the claim-evidence hook: anEvidence:line in the body, or test files in the diff). - Read the UNEVIDENCED list β those are the PRs whose "done" was asserted, never proven. Spot-check the worst 3 against reality (the layer rule: observe the deployed behavior, not the diff).
- With
--ledger, the summary + each UNEVIDENCED PR land as append-onlyBACKFILL | UNVERIFIEDrows β history can be graded, not re-run, so retro rows are never CONFIRMED/REFUTED. - The score is the baseline: re-run monthly; the trend is the report.
BACKFILL: <repo> | <n> merged PRs | <c> done-claims | <e> evidenced (p%) | <u> shipped unproven
Rules
- Report, never a gate β exit 0 always. The gate is the claim-evidence hook you install so the next PRs grade better.
- Retro rows are UNVERIFIED by construction; upgrading one requires actually re-verifying the claim today (that's a /refute, logged separately).
Composes with
- claim-evidence hook β the forward-looking half of the same check.
/refuteβ how an UNEVIDENCED PR's claim gets actually tested today./calibrateβ the monthly trend of the backfill score./verdictβ the ledger the--ledgerflag writes to.