Skip to content

fix: quote argument-hint YAML values so Copilot CLI ≥1.0.65 loads all skills (closes #68) - #69

Merged
Jooonnn merged 1 commit into
XBuilderLAB:mainfrom
thejesh23:fix/quote-argument-hint-yaml
Jul 21, 2026
Merged

Jooonnn merged 1 commit into
XBuilderLAB:mainfrom
thejesh23:fix/quote-argument-hint-yaml

Conversation

@thejesh23

Copy link
Copy Markdown
Contributor

Closes #68.

Summary

Purely mechanical single-character transform to 7 file(s): wrap the value after argument-hint: in double quotes so YAML parses it as a string instead of a flow-sequence array. Fixes GitHub Copilot CLI ≥ 1.0.65 silently dropping the skill.

- argument-hint: [foo]
+ argument-hint: "[foo]"

Bare [...] is YAML flow-sequence syntax → the loader receives ["foo"] (a list), fails its str validation, and rejects the SKILL without an error. Claude Code, VS Code Agent Skills, and every other loader document argument-hint as a string; the quoted-string form is what all reference docs show.

Files (7)

  • skills/cheat-trends/SKILL.md
  • skills/cheat-migrate/SKILL.md
  • skills/cheat-persona/SKILL.md
  • skills/cheat-recommend/SKILL.md
  • skills/cheat-seed/SKILL.md
  • skills/cheat-init/SKILL.md
  • SKILL.md

Verification

  • YAML round-trip via yaml.safe_load on every changed frontmatter reports argument-hint as str
  • Regression sweep: no unquoted-bracket argument-hint: lines remain in these files
  • No vulnerable value contained " or \, so bare double-quote wrapping is safe

Sources

… skills

`argument-hint: [foo]` YAML-parses as a flow sequence (array), not a
string. Downstream slash-command loaders that validate `argument-hint`
as a string — notably GitHub Copilot CLI ≥ 1.0.65 — silently reject
the skill on load, and the command disappears from the CLI menu.

Wrap the value in double quotes so it parses as a string. No behaviour
change on Claude Code.
@Jooonnn
Jooonnn merged commit 08ef95a into XBuilderLAB:main Jul 21, 2026
EndlessBlueWJL added a commit to EndlessBlueWJL/cheat-on-content that referenced this pull request Sep 19, 2026
Correction to my earlier description: I originally claimed these four files
carry TWO invalid frontmatter values. That was wrong, and I verified it:

  - argument-hint unquoted with "key: value" inside a flow sequence
    -> the actual and only cause of the parse failure
  - description containing raw ASCII double quotes
    -> VALID YAML, not a fault

Evidence (yaml package parser, upstream main):
  original                          -> fails
  fix description only              -> still fails
  fix argument-hint only            -> parses, all fields present
  fix both                          -> parses

So �rgument-hint alone is sufficient; the description's ASCII quotes parse
fine (checked with the quotes left in place: description length 127, 10 ASCII
double quotes, no error).

This PR therefore changes only the four argument-hint values, and additionally
pairs the ASCII quotes in description as a cosmetic consistency pass. The
cosmetic part is optional and can be dropped without affecting the fix.

Upstream main still has the unquoted argument-hint in:
  skills/cheat-learn-from/SKILL.md
  skills/cheat-predict/SKILL.md
  skills/cheat-publish/SKILL.md
  skills/cheat-retro/SKILL.md
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.

Skills fail to load in GitHub Copilot CLI ≥1.0.65 due to array-shaped argument-hint

2 participants