Skip to content

fix: quote four skill descriptions that break YAML frontmatter, add a CI check - #54

Open
ziyiunity wants to merge 1 commit into
mainfrom
fix/skill-frontmatter-yaml
Open

ziyiunity wants to merge 1 commit into
mainfrom
fix/skill-frontmatter-yaml

Conversation

@ziyiunity

@ziyiunity ziyiunity commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

Fixes #44.

What

Four skills have an unquoted description: whose text contains ": " (colon followed by a space). A strict YAML parser reads that as a nested mapping and fails with mapping values are not allowed here, so agents that parse the frontmatter drop the skill silently. claude plugin list still reports the plugin as enabled; the only symptom is a shorter skill list.

Affected: ui, ui-imgui, physics-3d-collision, tilemap-ruletile-createfromsegment. ui is the routing entry point for the whole UI family, so its absence matters most.

Fix

Rewrite the four descriptions as folded block scalars (>-), the form optimize-text-mesh-pro and setup-multiplayer-services already use. The text is unchanged: the parsed value of each description is byte-identical to the old plain scalar, verified by parsing both. Only the frontmatter lines change; skill bodies are untouched.

Add scripts/check-skill-frontmatter.mjs and a Validate skills workflow that parses every skills/*/SKILL.md frontmatter with js-yaml (the parser Claude Code ships) and requires a non-empty name matching the folder and a non-empty description. Against main it reports exactly these four files; after this change all 31 pass.

Also updates the codex plugin list sample in the README from 0.1.0-beta to the current 0.1.6-beta.

Verify

npm install --no-save js-yaml@4
node scripts/check-skill-frontmatter.mjs skills

@ziyiunity
ziyiunity requested a review from a team as a code owner September 16, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 of 29 skills never load: unquoted description: containing ": " breaks YAML frontmatter

1 participant