fix: quote SKILL.md descriptions containing colons (silent skill-load failure) #3

Merged
Ghost merged 1 commits from fix/skill-frontmatter-yaml-colons into main 2026-08-11 22:53:48 +00:00

What

mosaic-deploy and mosaic-woodpecker never load: their frontmatter description: values contain an inner : (...projects: push branch..., CI URL: https://...), which is invalid YAML (mapping values are not allowed here). Every loader that parses the frontmatter (packages/mosaic/src/skills/catalog.ts in mosaicstack/mosaic, and harness skill scanners) throws on parse and drops the skill with no message — the skill is simply absent from the catalog.

Fix: quote the two description values. No content change.

Verification

  • yaml.safe_load on the frontmatter: fails on both files before, parses all six mosaic-* SKILL.md after.
  • Applied the same quoting to a deployed ~/.config/mosaic/skills/ copy: both skills immediately registered in a live harness session.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Lqpn98b2DeiWd29oL7WhR7

## What `mosaic-deploy` and `mosaic-woodpecker` never load: their frontmatter `description:` values contain an inner `: ` (`...projects: push branch...`, `CI URL: https://...`), which is invalid YAML (`mapping values are not allowed here`). Every loader that parses the frontmatter (`packages/mosaic/src/skills/catalog.ts` in mosaicstack/mosaic, and harness skill scanners) throws on parse and drops the skill with no message — the skill is simply absent from the catalog. Fix: quote the two description values. No content change. ## Verification - `yaml.safe_load` on the frontmatter: fails on both files before, parses all six `mosaic-*` SKILL.md after. - Applied the same quoting to a deployed `~/.config/mosaic/skills/` copy: both skills immediately registered in a live harness session. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Lqpn98b2DeiWd29oL7WhR7
Ghost added 1 commit 2026-08-11 22:02:00 +00:00
mosaic-deploy and mosaic-woodpecker both have a ': ' inside the description
value ('...projects: push branch...' and 'CI URL: https://...'). YAML
rejects a mapping value there ('mapping values are not allowed here'), the
frontmatter parse throws, and every catalog/harness loader that parses the
frontmatter drops the skill without a message — the skill is simply absent.

Verified: yaml.safe_load fails on both files before this change and parses
all six mosaic-* SKILL.md files after it; both skills register in a live
harness session once quoted.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Lqpn98b2DeiWd29oL7WhR7
Ghost merged commit a0dd77cd91 into main 2026-08-11 22:53:48 +00:00
Sign in to join this conversation.