0.9.9
Frontmatter description diet (milestone 16)
- Cut all 24 plugin frontmatter descriptions (21
skills/*/SKILL.md, 3agents/*.md) to a single independent clause of 25 words or fewer naming only what that skill or agent does — the always-on description budget drops from 1,411 words to 452 (−68%), and the longest single description from 149 words to 23. - Restructured the six heaviest descriptions from scratch and shortened the nine mid-weight ones, deleting their trigger-phrase lists, mechanics, commit subjects, sequencing, cross-skill references, "Use when…" framing, and design provenance outright — a description is a routing label, never a record, so nothing cut was relocated.
- Compressed the three agent descriptions into that same shape while keeping each invocation contract as a short clause naming what the prompt carries (the task's heading text, the question's Short Title).
- Enforced two machine-checkable bars across the set: no semicolon or colon in any description, and every raw frontmatter loads under
yaml.safe_loadwith itsdescription:line left unquoted — so the transpiler's re-quoting fallback survives as an unexercised net. - Extended
CLAUDE.md's Skill Frontmatter invariant into the single home of every rule governing the frontmatterdescriptionkey. - Regenerated the checked-in Antigravity tree at
.agents/plugins/cairn/, with each of the 24 generated files byte-identical to its source.
Runtime layer de-duplication (milestone 15)
- De-duplicated the whole 32-file runtime layer (
skills/*/SKILL.md,agents/*.md,shared/*.md) across eleven per-file sweeps, removing 7,597 words (32,758 → 25,161, −23.2%) under the rule that a sentence may be cut only where its content survives earlier in the same file, in a referenced shared procedure, or in aCLAUDE.mdinvariant. - Retired the
## Rulesheading across the layer (−3,221 words), relocating each surviving rule into the step it constrains or into the file's opening description paragraph. - Moved editor-facing rationale out of the runtime files into the
CLAUDE.mdinvariants (−2,772 words) and trimmed cross-file narration of counterparts to the one sentence each contract needs (−1,303 words). - Consolidated the
CLAUDE.mdinvariants section in a single post-sweep pass, merging ten overlapping bullets (35 bullets → 25). - Ran seven fresh-context whole-layer re-audits with fix tasks between them; the runtime layer returned zero lost constraints for the last five passes and zero residual restatements for the last three.
- Extended
scripts/migrate_skills_to_agy.pyto copyshared/into the generated Antigravity tree, so every${CLAUDE_PLUGIN_ROOT}/shared/<name>.mdreference resolves to a file that is present.
Full Changelog: 0.9.8...0.9.9