Release drift report
Report 011: Claude Opus 5.5 on release day, three skills
claude-opus-5 claude-opus-5-5
2026-09-23
A SKILL.md teaches an AI coding agent how you like things done. A skill's own tests passing is one answer. Driftproof asks two more: whether the scores with the skill and without it separate beyond their spread, and whether that held when the model changed. Each answer is a dated, hash-verified receipt, and when there were too few draws to tell, the receipt says so.
Install in Claude Code
claude plugin marketplace add driftproofhq/driftproof
claude plugin install driftproof@driftproofhq
Then run /driftproof:run on a skill in your repository. For CI, npx and the GitHub Action are further down.
Verdict Passing
Model claude-haiku-4-5
Date 2026-09-17
Skill commit-message-conventions
Range 0.434 without, 0.822 with
Receipt hash fad883d1018d3a4b3c75bc60b1eaec50032256cbf69fba3299999edf7978589c
Every receipt has its own page, with its verdict, its two arms and a way to verify it yourself. How this is built describes how the tool itself is checked.
That range is a band. The dated file that records all of it is a receipt. What changes between two receipts is drift.
Move the floor and change what counts as a band to see the verdict change. This is the bundled example receipt's own per-case data.
On the report that measured it, draw-to-draw spread reaches sd 0.355 on a single case (semver-hidden-breaking-change). That is the across-draw spread of the model writing a different answer, not of the scorer re-reading one, and it is wider than the scorer's.
We publish refusals instead of guesses, and we publish our own instrument defects, including what outside audits found. Read the methodology, or read what we will not claim.
See whether it helps before you publish, and on which model.
See which of your skills stopped separating when the model changed.
An evidence trail for the skills your agents run in production.
claude plugin marketplace add driftproofhq/driftproof
claude plugin install driftproof@driftproofhq
That installs /driftproof:init, /driftproof:run and /driftproof:badge. The plugin hands your arguments to the pinned runner and writes the receipt that runner would have written; /driftproof:run spends your Claude Code subscription rather than an API key, and it never edits a skill.
Driftproof is tested on Linux and macOS. In an outside retest on macOS the shipped gate failed only in the publishing helper, which needs GNU realpath -m. Windows is untested: from Node's source the plugin would not find npx there, but that failure has never been observed. A CI matrix across Linux, macOS and Windows is planned, and the findings page has the figures.
You need Node 22 or newer and an ANTHROPIC_API_KEY. From a clean checkout to a receipt for your own skill:
npx driftproof init my-skill # scaffold SKILL.md + evals/evals.json + .driftproofrc
# edit the 3 example cases so each is grounded in a claim your SKILL.md makes
export CLAUDE_PROVIDER=api
read -rsp "Anthropic API key: " ANTHROPIC_API_KEY && export ANTHROPIC_API_KEY
npx driftproof run my-skill --models claude-haiku-4-5
cat receipts/*.summary.md # read the receipt + human summary
Wire it into a repository with the GitHub Action (uses: driftproofhq/driftproof@v0.11.2): it re-runs the suite on every push, uploads the receipts, and fails the job when a case separated downward. driftproof badge turns a receipt into a badge that carries the model and the date it was measured.
Release drift report
claude-opus-5 claude-opus-5-5
2026-09-23
Writing: Three model releases later: what actually happens to agent skills, the launch essay, revised to read all eleven reports together on what a moving model does to encoded expertise.
Your address goes to Buttondown, our newsletter provider, and nowhere else. One email per model release. Unsubscribe any time.
Every report is also in the Atom feed.