fix: quote argument-hint values starting with '[' in SKILL frontmatter by thejesh23 · Pull Request #778 · coinbase/cds · GitHub
Skip to content

fix: quote argument-hint values starting with '[' in SKILL frontmatter - #778

Open
thejesh23 wants to merge 3 commits into
coinbase:masterfrom
thejesh23:fix/copilot-cli-1.0.65-argument-hint-string
Open

thejesh23 wants to merge 3 commits into
coinbase:masterfrom
thejesh23:fix/copilot-cli-1.0.65-argument-hint-string

Conversation

@thejesh23

@thejesh23 thejesh23 commented Jul 3, 2026 •

Copy link
Copy Markdown

What changed? Why?

Two SKILL.md files have argument-hint: values whose first non-whitespace character is [. In YAML, an unquoted value starting with [ is a flow sequence (array), not a string. This makes the frontmatter fail validation in tools that expect argument-hint to be a string.

The most immediate example is GitHub Copilot CLI 1.0.65, which rejects the file with a schema error when argument-hint parses as an array. The same latent issue has been reported against Claude Code (see anthropics/claude-code#22161).

Fix: quote the two affected values so YAML parses them as strings.

Root cause (required for bugfixes)

YAML 1.2 flow-style sequences begin with [. Any plain scalar whose first character is [ is interpreted as the start of a flow sequence, not a string. Quoting the whole value forces string parsing regardless of the contents.

Files changed:

  • .claude/skills/git.detect-breaking-changes/SKILL.md
    • Before: argument-hint: [Number of commits to review]
    • After: argument-hint: "[Number of commits to review]"
  • .claude/skills/research.component-libs/SKILL.md
    • Before: argument-hint: [research goal (e.g. "theming architecture", ...)]
    • After: argument-hint: '[research goal (e.g. "theming architecture", ...)]' (single-quoted because the value contains embedded double quotes)

Other SKILL.md files in .claude/skills/ were audited:

  • deprecate-cds-api/SKILL.md, cds-migrator-transform/SKILL.md — already single-quoted strings. No change.
  • components.styles/SKILL.md, components.write-docs/SKILL.md, git.backport/SKILL.md — start with <, which is a valid first character for a YAML plain scalar (parses as string). No change.

UI changes

None. This change only affects the YAML frontmatter of two .claude/skills/*/SKILL.md files (developer-tooling metadata); no runtime code, no user-facing UI.

Testing

How has it been tested?

  • Unit tests
  • Interaction tests
  • Pseudo State tests
  • Manual - Web
  • Manual - Android (Emulator / Device)
  • Manual - iOS (Emulator / Device)

Verified with a YAML parser that the argument-hint field now parses as str rather than list in both files:

$ python3 -c "import yaml; ..."
.claude/skills/git.detect-breaking-changes/SKILL.md -> str '[Number of commits to review]'
.claude/skills/research.component-libs/SKILL.md -> str '[research goal (e.g. "theming architecture", "progress bar component API", "styling solutions")]'

Testing instructions

  1. Open either affected SKILL.md file in a YAML-schema-aware tool (e.g. GitHub Copilot CLI 1.0.65).
  2. Confirm the file is accepted and argument-hint is treated as a string.

Illustrations/Icons Checklist

Not applicable — no files under packages/illustrations/** or packages/icons/** are changed.

Change management

type=routine
risk=low
impact=sev5

automerge=false

References

Unquoted values starting with '[' are parsed by YAML as flow sequences
(arrays), not strings. Downstream tools such as GitHub Copilot CLI 1.0.65
require argument-hint to be a string and error out otherwise.

Wrap the two affected values in quotes so YAML parses them as strings.
@cb-heimdall

cb-heimdall commented Jul 3, 2026 •

Copy link
Copy Markdown
Collaborator

@thejesh23

Copy link
Copy Markdown
Author

This branch has not been deployed

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants