Claude Code plugins by LKC.
One idea runs through all of them: there are engineering techniques that were proven decades ago and are still barely used — not because they are difficult, but because they demand more patience than a person can sustain. Running the same test forty times and recording every verdict honestly. Reading two hundred mutated lines and judging each one.
An agent does not mind. That is the whole opportunity.
/plugin marketplace add lkc-studio/claude-plugins
/plugin install evidence@lkc-plugins
Then start a new session.
| Skill | Replaces the question | With |
|---|---|---|
| bisect | "I think this commit broke it" | A binary search over commits, inputs, config, dependencies, environment, or test ordering |
| mutants | "I think these tests are fine" | A measurement of which bugs the suite would actually catch |
| properties | "I think I tested enough examples" | A property that holds for every input — and proof it catches something |
| strays | "I think these failures are unrelated" | The one shared resource that is actually causing all of them |
| gatekeeper | "I think this skill is fine to install" | What it actually touches, next to what it claims to do |
| cents | "I think the money math is fine" | Every place money is computed in floating point |
| backtrack | "I think this regex is safe" | Which regexes a crafted input can freeze — proven, not guessed |
Each ships working, tested tooling rather than prose alone:
ddmin.py— delta debugging; shrinks a failing input to a 1-minimal core. Reduced a 200-line config to the single offending line in 12 probes.check-predicate.sh— proves a predicate is not flaky before a search spends an hour returning a confident wrong answer.mutate.py— diff-scoped mutation testing for Python. Scoping togit diffturns an hours-long audit into a minutes-long code-review step, which is the only version of this that survives contact with real work.property_strength.py— measures whether a property test actually catches anything, or is a tautology that passes for every input ever generated.strays.py— finds processes that outlived what started them, with reasons. Reports by default; never signals itself, its ancestors, or system processes.gatekeeper.py— inspects a skill before you install it, reporting what it touches against what it claims. Calibrated to zero false alarms on 25 official plugins.cents.py— finds money computed in floating point, where rounding silently compounds. Flags float-meets-money, stays quiet on scientific floats.backtrack.py— finds ReDoS-prone regexes and proves the dangerous ones by measuring the blow-up in a killable subprocess.
128 tests across the seven skills. Zero dependencies — Python standard library and bash.
These are the constraints every plugin here is held to. They are also why the list is short.
- Build on substrate that will not move.
git, POSIX exit codes, the Pythonastmodule. Nothing built on an internal file format that a version bump can invalidate. - Ship tools, not advice. If a skill cannot include something executable and tested, it is usually a paragraph pretending to be a product.
- Guard against being confidently wrong. A flaky predicate does not make a
bisect fail — it makes it return the wrong answer. A stale
.pycdoes not crash a mutation run — it invents a test gap that does not exist. Both are handled, and both were found by testing rather than by reasoning. - Say what was skipped. A survivor with a written reason is a decision on record. A survivor with no reason is an unexamined hole.
MIT — see LICENSE.