Skills fail to load in GitHub Copilot CLI 1.0.65+ due to array-shaped `argument-hint`
- Dominant language
- TypeScript
- Stars
- 505
- Forks
- 105
- Avg merge
- 20h 16m
- Merged PRs (30d)
- 29
Description
## Summary
One or more `SKILL.md` frontmatters in this repo declare `argument-hint:` with bare YAML brackets, e.g. `argument-hint: [X]`. YAML parses that as a **one-element flow-sequence** (a list), not a **string**. GitHub Copilot CLI **1.0.65** tightened its skill-loader to require `argument-hint` to be a string, so on 1.0.65+ these skills silently fail to load — no error is surfaced to the user, they just don't appear in `copilot skill list` or the slash-command menu.
Same class of latent bug on Claude Code — see [anthropics/claude-code#22161](https://github.com/anthropics/claude-code/issues/22161) (accepts either shape today, but the documented contract is a string).
## Why bare brackets are a bug
Per YAML 1.2, a value starting with an unquoted `[` opens a flow-sequence node:
```yaml
argument-hint: [X] # → list ['X'] ❌
argument-hint: "[X]" # → string '[X]' ✅
argument-hint: ["X"] # → list ['X'] (STILL a list — quoting inside the brackets doesn't help)
```
Verifiable with any YAML 1.2 parser:
```bash
python3 -c 'import sys, yaml; fm = yaml.safe_load(open(sys.argv[1]).read().split("---")[1]); print(type(fm["argument-hint"]).__name__)' path/to/SKILL.md
# → list
```
## Reproducer
1. Install / upgrade to GitHub Copilot CLI 1.0.65 or later
2. Install this plugin / skill pack
3. Run `copilot skill list` — the affected skill(s) will be missing with no error
## Documented contract — string
- [VS Code Agent Skills docs](https://code.visualstudio.com/docs/agent-customization/agent-skills) — `argument-hint` documented as a string
- [Copilot CLI Skills tutorial (copilot-cli-for-beginners/05-skills)](https://github.com/github/copilot-cli-for-beginners/blob/main/05-skills/README.md) — every example wraps the value in double quotes
- [Copilot CLI 1.0.65 release notes](https://github.com/github/copilot-cli/releases) — skill-loader tightening enforcing the string type
## Fix
Two-character fix per file — wrap the value in double quotes. Full patch in #778.
## Broader context
Copilot CLI 1.0.65 dropped recently and about 30 other public agent-skills repos ship the same bug shape — the surface hasn't caught up yet.
Contributor guide
Research direction
Search the repository's SKILL.md frontmatters for bare argument-hint values, then run the provided Python YAML check to confirm their parsed types. Update each affected value so it is a string, and verify with the parser and copilot skill list that the skills load and appear in the slash-command menu.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, yaml
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100