crank-test-prune
Installation
SKILL.md
Test Prune
Goal
A leaner suite judged against the rewrite test: tests exist to catch behavior regressions, not to pin the shape of the code. Prune aggressively; fewer, sharper tests beat a thicker suite that resists refactoring.
Hard Rules
- Every test in scope gets exactly one verdict — KEEP, DELETE, REFACTOR, or MERGE. No sampling.
- Expected values come from an oracle — a hand-verified literal from a real fixture or committed snapshot — never recomputed with the same formula the code under test uses.
- Redundancy is judged suite-wide, not per file — two tests pinning the same behavior at the same seam are one KEEP and one DELETE, even when they live in different files. Which one keeps: the test at the truer seam; at equal seam fidelity, the cheaper, faster one — a slow end-to-end test duplicating behavior already pinned lower survives only as one of a handful of happy-path journeys.
- Tests only. This skill edits and deletes test code; production code is never touched. A pruning pass that surfaces a production bug reports it, it doesn't fix it.
- Baselines come from a throwaway worktree, never
git stash. Any clean-tree comparison (formatter, lint, the suite at HEAD) runs in a disposablegit worktree addcheckout of HEAD, removed after.git stashstays banned for the whole run, coordinator and subagents alike: a later drop destroys the uncommitted user work it swept up. - Green gate. The full suite runs after applying; the pass isn't done until it's green.