v1.14.0
1.14.0 - 2026-08-16
Four things the grader was telling you that were not true, and three files it was never looking at.
Do you need to do anything?
No. Nothing here changes your grade until you raise the standard line in your own library.json. If you change nothing, nothing changes.
Unless you have no standard line at all - then you are graded against the newest rules the moment they ship. Add one and pick a version.
One thing is worth checking even if you do nothing: if your plugin has an agents/ folder, read the third section below. It describes files that were shipping and being loaded without anyone noticing.
Four wrong answers, now fixed
Each of these was the grader reporting a problem that did not exist. A false alarm is worse than a missed defect - it costs you time and teaches you to ignore the report.
- "That workflow doesn't exist" - when it did. A command saying
maps-to: my-workflowwas reported as pointing at nothing. - "That agent file isn't on disk" - when it was. Honestly declaring
agents/_helper.mdgot you told it was missing. - "Your description doesn't say when to use it" - said to descriptions that said exactly that, in French. The scorer awarded more than a third of its points for English phrasing.
- "Your command's description is too weak" - it would have been, if we had shipped what we planned. We measured first: 0 of 14 commands in our own reference set would have met the bar we were about to impose. We did not ship it.
Three files your runtime loads and the grader never read
Claude Code registers every .md file under agents/. Not the ones you declared - every one. A folder README.md sitting there becomes a subagent named README, with no description and no purpose, silently.
Check your own agents/ folder. If it holds a README, a template, or a scratch file, your plugin is shipping a phantom subagent right now. The grader now reports these; it never did before.
What deliberately did not change
Your frontmatter can carry whatever keys you like. We considered restricting the vocabulary, and measured before deciding: 44.9 percent of 2342 skills across the ecosystem carry a key our Standard does not name. Restricting would have failed nearly half of everything. We did not.
A marketplace-level problem will never become a requirement on your plugin. If two plugins in a catalogue collide on a skill name, neither author can fix it alone - it depends on who they were listed beside. A requirement you cannot discharge by yourself is not a requirement.
How this was checked before shipping
- Codex was actually run.
codex-cli 0.144.5ingested the emitted.codex-plugin/plugin.jsonand discovered the skills it points at. Listing is not ingestion, and a test that only checks the file parses has proved nothing. - 1252 tests, no failures, on Windows and Linux, on Node 22.12 and 24.
- Six plugins in our reference set graded before and after every change. No grade moved.
Where this release came from
Seven decisions were written and measured before any code was written. Three of those measurements overturned the decision they were testing - including the command-description bar that would have failed all fourteen of our own commands.
That is the whole method: write down what you intend, measure it against something real, and let the measurement win. Three times out of seven it did.