Repository navigation
Installed SKILL.md frontmatter has unquoted description with an embedded colon, breaking strict YAML parsers (e.g. npx skills ls -g) #1554
Description
Version
codebase-memory-mcp 0.10.0
Platform
Windows (x64)
Install channel
GitHub release archive / install.sh / install.ps1
Binary variant
standard
What happened, and what did you expect?
After codebase-memory-mcp install, the generated skill file emitted by the installer has an unquoted description whose value contains a colon. For example, on Windows the installer writes ~/.agents/skills/codebase-memory/SKILL.md with this frontmatter (literal, line 2 — the value includes Triggers on:):
---
name: codebase-memory
description: Use the codebase knowledge graph for structural code queries. Triggers on: explore the codebase, understand the architecture, what functions exist, ... how to use search_graph.
---In strict-compact-flow mode (the default for most YAML parsers, including js-yaml's load and npx skills's frontmatter reader), a : followed by a space inside an unquoted scalar is interpreted as a nested-mapping indicator, so the file is rejected with:
YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14:
name: codebase-memory
^
npx skills ls -g prints that warning, and downstream agents that index skills strictly (Zed, Claude Code, Cursor, OpenCode, Kiro, etc.) silently drop codebase-memory from their skill list. Manual workaround is to wrap line 2 in double quotes:
description: "Use the codebase knowledge graph for structural code queries. Triggers on: ... how to use search_graph."After that, npx skills ls -g no longer warns and the skill becomes visible to every tool that uses strict parsing.
Expected: the installer should emit description as a quoted scalar (either single or double quotes), so that embedded colons do not collide with the YAML compact-flow grammar.
Reproduction
- Clean any prior install:
codebase-memory-mcp uninstall -yand remove%USERPROFILE%\.agents\skills\codebase-memoryand%USERPROFILE%\.pi\agent\skills\codebase-memory(paths on macOS/Linux are~/.agents/skills/codebase-memoryand~/.pi/agent/skills/codebase-memory). - Re-run:
codebase-memory-mcp install -y. - Inspect
%USERPROFILE%\.agents\skills\codebase-memory\SKILL.md(or its non-Windows equivalent). Line 2 readsdescription: Use the codebase ... Triggers on: ...— unquoted, with an embedded colon. - Run
npx skills ls -g. Observe:YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14:. - Edit line 2 to
description: "Use the codebase ... Triggers on: ..."(just wrap the value in double quotes). Re-runnpx skills ls -g— warning gone, skill now visible to all strict parsers.
The only diff between the broken generated output and the working manual fix is wrapping the value in double quotes. No content change is needed.
Logs
YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14:
name: codebase-memory
^
(The same warning is emitted by js-yaml when load() is called on the file directly, and by any consumer that uses a strict-compact-flow YAML frontmatter reader.)
Diagnostics trajectory (memory / performance / leak issues)
N/A — authoring bug in a generated config file, not a runtime / memory / leak issue.
Project scale (if relevant)
N/A
Confirmations
- I searched existing issues and this is not a duplicate.
- My reproduction uses shareable code (a dummy snippet or a public OSS repository), not proprietary code.
Activity
fix(cli): quote the skill description so strict YAML readers accept it (
DeusData commentedon Aug 12, 2026
Thank you @xezzon — precise diagnosis, and apologies for not replying sooner; this was fixed the same day.
Your analysis is exactly the failure:
Triggers on:puts a colon-space inside an unquoted YAML scalar, which strict readers treat as a nested-mapping indicator and reject. The consequence is worse than a cosmetic parse warning — the skill does not load at all, and nothing in the install output says why.The description is now quoted, with the text unchanged. One deliberate choice worth mentioning: the regression test checks the rule rather than this string — for every skill, any frontmatter value containing
": "must be quoted — because pinning the current wording would let the next skill someone adds reintroduce exactly this bug. I verified the test is not vacuous by reverting the fix and watching it go red.Fixed in commit
2bb94372, shipping in v0.10.3 (releasing now).chore(plugin): resync plugin/ with the quoted skill description
DeusData commentedon Aug 13, 2026
v0.10.3 is published — https://github.com/DeusData/codebase-memory-mcp/releases/tag/v0.10.3 (GitHub archives, npm, and PyPI are all serving it).
This fix is in it. Please give it a try when you get a chance: if it behaves in your setup, feel free to close this out, and if anything still looks off, say so and we'll pick it straight back up. Thank you again for the report.
xezzon commentedon Aug 13, 2026
Thanks — confirmed fixed in v0.10.3. Re-running
codebase-memory-mcp install -ynow emits a quoteddescription, andnpx skills ls -gno longer warns. Appreciate the quick turnaround, and the regression test guarding against it.DeusData commentedon Aug 13, 2026
Closing as confirmed fixed in v0.10.3 by commit
2bb94372. The generated description is quoted, and the regression test now protects the general YAML rule for any frontmatter value containing:.Thank you @xezzon for retesting the release and confirming both the parser warning and skill visibility are resolved.