Skip to content

fix(skills): quote argument-hint YAML values as strings#121

Open
thejesh23 wants to merge 1 commit into
daymade:mainfrom
thejesh23:fix/copilot-cli-1.0.65-argument-hint-string
Open

fix(skills): quote argument-hint YAML values as strings#121
thejesh23 wants to merge 1 commit into
daymade:mainfrom
thejesh23:fix/copilot-cli-1.0.65-argument-hint-string

Conversation

@thejesh23

@thejesh23 thejesh23 commented Jul 3, 2026

Copy link
Copy Markdown

Description

Fixes a YAML frontmatter bug in 7 skills + 1 documentation example. GitHub Copilot CLI 1.0.65 tightened its skill-loader validation to require argument-hint to be a string. When the value is written with bare YAML brackets, YAML parses it as a one-element flow sequence — a list, not a string — so the loader silently rejects the skill and it disappears from the command menu.

# Before — parses as list ['takeout-zip-path']  ❌
argument-hint: [takeout-zip-path]

# After — parses as string '[takeout-zip-path]'  ✅
argument-hint: "[takeout-zip-path]"

Verified with yaml.safe_load — every changed frontmatter now returns argument-hint as str, not list.

Also latent on Claude Code today; see anthropics/claude-code#22161.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)

Files changed (8)

Real skill frontmatters (7):

  • gemini-history-analyzer/SKILL.md
  • product-analysis/SKILL.md
  • feishu-doc-scraper/SKILL.md
  • notify-wecom/SKILL.md
  • daymade-audio/asr-transcribe-to-text/SKILL.md
  • daymade-claude-code/continue-claude-work/SKILL.md
  • daymade-claude-code/marketplace-dev/SKILL.md

Documentation example (1):

  • daymade-skill/skill-creator/SKILL.md — the "YAML Frontmatter Reference" code block (around line 235) previously showed argument-hint: [topic] as the canonical example, which taught downstream skill authors to reproduce the bug. Updated to argument-hint: "[topic]". Left intact: the "Bad:" example around line 389 — that block deliberately shows a buggy pattern to warn users NOT to overload argument-hint with manual flags, and rewriting it would defeat the pedagogical point.

Test plan

  • yaml.safe_load on each changed frontmatter — type(argument-hint) == str for all 7 real files
  • find . -name '*.md' | xargs grep '^argument-hint: \[' — only the intentional "Bad:" doc example on line 389 remains
  • On Copilot CLI 1.0.65+, copilot skill list shows all 7 skills after install (maintainer to verify locally if desired)

Related Issues

None open on this repo. Same class of latent bug on Claude Code: anthropics/claude-code#22161.

Copilot CLI 1.0.65 tightened its skill-loader validation to require
`argument-hint` to be a string. When the value is written with bare
YAML brackets (e.g. `[takeout-zip-path]`), YAML parses it as a
one-element flow sequence — an array, not a string — so the loader
silently rejects the skill and it stops appearing in the command menu.

Wrap each buggy value in double quotes so YAML round-trips to `str`.
Verified with `yaml.safe_load` on each frontmatter.

Files:

  - gemini-history-analyzer/SKILL.md
  - product-analysis/SKILL.md
  - feishu-doc-scraper/SKILL.md
  - notify-wecom/SKILL.md
  - daymade-audio/asr-transcribe-to-text/SKILL.md
  - daymade-claude-code/continue-claude-work/SKILL.md
  - daymade-claude-code/marketplace-dev/SKILL.md
  - daymade-skill/skill-creator/SKILL.md (frontmatter reference example
    that was teaching the buggy pattern; updated to model the correct
    quoted form; the "Bad:" example lower in the same file is left
    intact — it exists to teach users NOT to overload argument-hint
    with manual flags)

Also latent on Claude Code today; see anthropics/claude-code#22161.
@thejesh23

Copy link
Copy Markdown
Author

Tracking issue: #122 — captures the bug diagnosis and reproducer separately for anyone searching the repo who lands there before this PR.

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.

1 participant