From f61000f8cec76cd5b6eb20d9f8760c63e90f61c0 Mon Sep 17 00:00:00 2001 From: thejesh Date: Fri, 3 Jul 2026 00:46:58 -0700 Subject: [PATCH] fix(skills): quote argument-hint as string, not one-element array MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Five SKILL.md files declare argument-hint using the flow-sequence form `argument-hint: [""]`. YAML parses a bare `[` as the start of a flow sequence, so the resulting value is a one-element array of strings, not a string. That worked as long as consumers were permissive, but GitHub Copilot CLI 1.0.65 tightened its skill loader to require argument-hint to be a plain string. Under 1.0.65+ these skills silently fail to load — the CLI drops the manifest without surfacing an error. Fix: strip the outer brackets so the value is a plain double-quoted scalar. Semantics inside the string (Copilot / VS Code Agent Skills argument-hint syntax) are unchanged. Files fixed: - .windsurf/skills/sprang-analyze/SKILL.md - .windsurf/skills/sprang-chat/SKILL.md - .windsurf/skills/sprang-explain/SKILL.md - .windsurf/skills/sprang-knowledge/SKILL.md - skills/sprang-analyze/SKILL.md The other six SKILL.md files in each tree (sprang, sprang-why, sprang-team, sprang-onboard, sprang-health, sprang-diff, sprang-domain) have no argument-hint field and are unaffected. .claude-plugin/ and .copilot-plugin/ do not vendor per-skill SKILL.md files in this repo, so no other trees are impacted. Refs: - GitHub Copilot CLI 1.0.65 release notes (skill loader tightening) - VS Code Agent Skills docs — argument-hint must be a string - copilot-cli-for-beginners/05-skills tutorial — canonical shape - Egonex-AI/Understand-Anything#540 — diagnostic write-up of the same YAML parsing issue (root cause reference; not merged prior art) - Same latent bug affects Claude Code: anthropics/claude-code#22161 --- .windsurf/skills/sprang-analyze/SKILL.md | 2 +- .windsurf/skills/sprang-chat/SKILL.md | 2 +- .windsurf/skills/sprang-explain/SKILL.md | 2 +- .windsurf/skills/sprang-knowledge/SKILL.md | 2 +- skills/sprang-analyze/SKILL.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.windsurf/skills/sprang-analyze/SKILL.md b/.windsurf/skills/sprang-analyze/SKILL.md index 5a8986a..9f5a934 100644 --- a/.windsurf/skills/sprang-analyze/SKILL.md +++ b/.windsurf/skills/sprang-analyze/SKILL.md @@ -1,7 +1,7 @@ --- name: sprang-analyze description: Analyze a codebase to produce a rich semantic knowledge graph — file summaries, architecture layers, guided tour, domain map, risk scores. Use when the user says "/sprang-analyze", "analyze the codebase", "full analysis", or "run sprang-analyze". -argument-hint: ["[path] [--full] [--language ] [--chunk ]"] +argument-hint: "[path] [--full] [--language ] [--chunk ]" --- Analyze the codebase and produce `.sprang/knowledge-graph.json` with full semantic enrichment. diff --git a/.windsurf/skills/sprang-chat/SKILL.md b/.windsurf/skills/sprang-chat/SKILL.md index e6e1ef9..0540025 100644 --- a/.windsurf/skills/sprang-chat/SKILL.md +++ b/.windsurf/skills/sprang-chat/SKILL.md @@ -1,7 +1,7 @@ --- name: sprang-chat description: Ask any question about the codebase using the knowledge graph. Use when the user says "/sprang-chat", "ask about the codebase", "what does X do", or any question about code that should be answered from the knowledge graph. -argument-hint: [""] +argument-hint: "" --- Answer questions about this codebase grounded entirely in `.sprang/knowledge-graph.json`. diff --git a/.windsurf/skills/sprang-explain/SKILL.md b/.windsurf/skills/sprang-explain/SKILL.md index eecf62d..933bb0d 100644 --- a/.windsurf/skills/sprang-explain/SKILL.md +++ b/.windsurf/skills/sprang-explain/SKILL.md @@ -1,7 +1,7 @@ --- name: sprang-explain description: Deep-dive explanation of a specific file, function, or module. Use when the user says "/sprang-explain", "explain this file", "what does this function do", or "deep dive on X". -argument-hint: [""] +argument-hint: "" --- Provide a comprehensive explanation of a specific code component. diff --git a/.windsurf/skills/sprang-knowledge/SKILL.md b/.windsurf/skills/sprang-knowledge/SKILL.md index 946b099..a11b56d 100644 --- a/.windsurf/skills/sprang-knowledge/SKILL.md +++ b/.windsurf/skills/sprang-knowledge/SKILL.md @@ -1,7 +1,7 @@ --- name: sprang-knowledge description: Build an interactive knowledge graph from a folder of markdown notes — Obsidian, Logseq, Dendron, Foam, Zettelkasten, or plain markdown. Use when the user says "/sprang-knowledge", "index my notes", "build graph from notes", or "analyze my Obsidian vault". -argument-hint: ["[path] [--format obsidian|logseq|dendron|foam|zettelkasten|plain] [--language ] [--full]"] +argument-hint: "[path] [--format obsidian|logseq|dendron|foam|zettelkasten|plain] [--language ] [--full]" --- Analyze a folder of markdown notes and produce a `.sprang/knowledge-graph.json` with typed nodes (article/entity/topic/claim/source), wikilink edges, topic clusters, and a guided reading tour. diff --git a/skills/sprang-analyze/SKILL.md b/skills/sprang-analyze/SKILL.md index 132b5bf..3daefb2 100644 --- a/skills/sprang-analyze/SKILL.md +++ b/skills/sprang-analyze/SKILL.md @@ -1,7 +1,7 @@ --- name: sprang-analyze description: Analyze a codebase to produce a rich semantic knowledge graph — file summaries, architecture layers, guided tour, domain map, risk scores. Use when the user says "/sprang-analyze", "analyze the codebase", "full analysis", or "run sprang-analyze". -argument-hint: ["[path] [--full] [--language ] [--chunk ]"] +argument-hint: "[path] [--full] [--language ] [--chunk ]" --- Analyze the codebase and produce `.sprang/knowledge-graph.json` with full semantic enrichment.