Skip to content

Installed SKILL.md frontmatter has unquoted description with an embedded colon, breaking strict YAML parsers (e.g. npx skills ls -g) #1554

Closed

Description

@xezzon

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

  1. Clean any prior install: codebase-memory-mcp uninstall -y and remove %USERPROFILE%\.agents\skills\codebase-memory and %USERPROFILE%\.pi\agent\skills\codebase-memory (paths on macOS/Linux are ~/.agents/skills/codebase-memory and ~/.pi/agent/skills/codebase-memory).
  2. Re-run: codebase-memory-mcp install -y.
  3. Inspect %USERPROFILE%\.agents\skills\codebase-memory\SKILL.md (or its non-Windows equivalent). Line 2 reads description: Use the codebase ... Triggers on: ... — unquoted, with an embedded colon.
  4. Run npx skills ls -g. Observe: YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14:.
  5. Edit line 2 to description: "Use the codebase ... Triggers on: ..." (just wrap the value in double quotes). Re-run npx 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

  1. added
    editor/integrationEditor compatibility and CLI integration
    parsing/qualityGraph extraction bugs, false positives, missing edges
    windowsWindows-specific issues
    on Aug 12, 2026
  2. DeusData commented on Aug 12, 2026

    @DeusData
    Owner

    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).

  3. added
    bugSomething isn't working
    ux/behaviorDisplay bugs, docs, adoption UX
    priority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.
    on Aug 12, 2026
  4. DeusData commented on Aug 13, 2026

    @DeusData
    Owner

    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.

  5. xezzon commented on Aug 13, 2026

    @xezzon
    Author

    Thanks — confirmed fixed in v0.10.3. Re-running codebase-memory-mcp install -y now emits a quoted description, and npx skills ls -g no longer warns. Appreciate the quick turnaround, and the regression test guarding against it.

  6. DeusData commented on Aug 13, 2026

    @DeusData
    Owner

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingeditor/integrationEditor compatibility and CLI integrationparsing/qualityGraph extraction bugs, false positives, missing edgespriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.ux/behaviorDisplay bugs, docs, adoption UXwindowsWindows-specific issues

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions