Feature Request: Allow excluding skill scan locations and/or support namespaced skill names (e.g., ck:name)
Summary
Two related quality-of-life improvements for skills loading in GitHub Copilot CLI:
- A config option to exclude specific skill scan directories (e.g.,
ignoredSkillsLocations)
- Support for namespaced skill names containing
: (colon), such as ck:agent-browser
Problem
Copilot CLI auto-scans several hardcoded directories for skills, including ~/.claude/skills and ~/.agents/skills. These paths are also used by other AI tools (Claude Code, OpenCode, etc.) which have more permissive skill name validation — they accept names with colons, like ck:agent-browser.
When skills stored in ~/.claude/skills use the ck: namespacing convention, Copilot CLI fails to load them with errors like:
✖ The following skills failed to load:
• ~/.claude/skills/agent-browser/SKILL.md: name: Skill name must contain only letters, numbers, hyphens, underscores, dots, and spaces
• ~/.claude/skills/code-review/SKILL.md: name: Skill name must contain only letters, numbers, hyphens, underscores, dots, and spaces
... (repeated for every skill in the directory)
This produces noisy errors on every Copilot CLI startup — even though the user has no intention of using those skills in Copilot CLI. The errors cannot currently be suppressed:
disabledSkills in config.json works by skill name, but since these skills fail to parse, the name is never registered — so disabledSkills cannot silence the errors.
- There is no config key to exclude a directory from scanning.
Proposed Solutions
Option A — ignoredSkillsLocations config key (preferred)
Add a config.json key that lists directories to exclude from the auto-scan:
This gives users full control to opt out of auto-scanning shared directories they use for other tools.
Option B — Allow : in skill names (namespace support)
Relax the skill name validation regex to accept colons, enabling namespaced names like ck:agent-browser:
Current regex (inferred): ^[a-zA-Z0-9\-_. ]+$
Proposed regex: ^[a-zA-Z0-9\-_. :]+$
This would allow skills shared across multiple AI tools to use a common namespacing convention without modification.
Option C — Both (ideal)
Both options are complementary:
- Option A helps users who want clean separation between tool-specific skill directories.
- Option B helps users who want shared skill libraries with namespaced names to work uniformly across tools.
Current Workaround
Users must either:
- Duplicate and rename skills into
~/.copilot/skills with modified names (lossy, requires manual sync)
- Accept the noisy startup errors with no way to suppress them
Environment
- Platform: macOS
- Tool: GitHub Copilot CLI
- Related auto-scanned paths:
~/.claude/skills, ~/.agents/skills, ~/.copilot/skills
Feature Request: Allow excluding skill scan locations and/or support namespaced skill names (e.g.,
ck:name)Summary
Two related quality-of-life improvements for skills loading in GitHub Copilot CLI:
ignoredSkillsLocations):(colon), such asck:agent-browserProblem
Copilot CLI auto-scans several hardcoded directories for skills, including
~/.claude/skillsand~/.agents/skills. These paths are also used by other AI tools (Claude Code, OpenCode, etc.) which have more permissive skill name validation — they accept names with colons, likeck:agent-browser.When skills stored in
~/.claude/skillsuse theck:namespacing convention, Copilot CLI fails to load them with errors like:This produces noisy errors on every Copilot CLI startup — even though the user has no intention of using those skills in Copilot CLI. The errors cannot currently be suppressed:
disabledSkillsinconfig.jsonworks by skill name, but since these skills fail to parse, the name is never registered — sodisabledSkillscannot silence the errors.Proposed Solutions
Option A —
ignoredSkillsLocationsconfig key (preferred)Add a
config.jsonkey that lists directories to exclude from the auto-scan:This gives users full control to opt out of auto-scanning shared directories they use for other tools.
Option B — Allow
:in skill names (namespace support)Relax the skill name validation regex to accept colons, enabling namespaced names like
ck:agent-browser:Current regex (inferred):
^[a-zA-Z0-9\-_. ]+$Proposed regex:
^[a-zA-Z0-9\-_. :]+$This would allow skills shared across multiple AI tools to use a common namespacing convention without modification.
Option C — Both (ideal)
Both options are complementary:
Current Workaround
Users must either:
~/.copilot/skillswith modified names (lossy, requires manual sync)Environment
~/.claude/skills,~/.agents/skills,~/.copilot/skills