Skip to content

v1.2.1 — the claim about what cannot be checked was itself unchecked

Choose a tag to compare

@skymanbp skymanbp released this 25 Aug 22:53
· 22 commits to master since this release

A documentation correction, and the claim it corrects had shipped in three releases.

Since 1.0.0 docs/ROADMAP.md has carried a section titled "the one thing a command cannot check", asserting that whether the bundled skill fires unprompted "needs an interactive session with a model deciding, which no test in this repository can stand in for".

That was wrong. claude plugin eval runs eval cases against a plugin, and its own --ablation help names the mechanism exactly:

graders marked with-only, incl. tool_used: Skill, are a plugin-fired indicator rather than part of the score

— with a no-plugin baseline arm for contrast. The property is measurable, and the roadmap had been asserting the opposite without ever checking it against the tooling it was describing.

Corrected status: measurable, and not measured

Two real blockers, now stated in place of the false one:

  • claude plugin eval reports plugin eval is currently in early access on this account, so neither it nor its init scaffold will run. The gate is a server-side entitlement — there is no eval key in the local experiment cache and no local flag.
  • The case schema is not publicly documented. The plugins reference covers skills, agents, hooks, MCP, LSP, monitors, themes, output styles, workflows, channels and dependencies — and not eval suites. Three fragments of --help text are the only description available.

Why no suite was written anyway

A case.yaml assembled from guessed field names could not be executed even once to see whether it loads. A suite that silently fails to load reads as a gate while checking nothing — which is precisely the defect this project shipped twice with an install line naming a package index it did not publish to, and once with a threshold sweep in which every setting scored identically. Guessing the schema would have reproduced the exact class of failure the roadmap exists to record.

What would close it

Written down instead of performed: early access granted, claude plugin eval init for the real schema, cases split between prompts that should fire the skill and matched controls that should not, --ablation with-without, and --runs above the default because a stochastic trigger cannot be read off one sample.

Since 1.2.0 the property also matters less than it did — four commands give a deterministic entry path that does not depend on a model choosing to fire anything.

No code changed. 352 tests unchanged, CI 11/11.