Skip to content

Feature request: config option to exclude skill scan locations and/or support namespaced skill names (e.g. ck:name) #2689

@rednam-ntn

Description

@rednam-ntn

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:

  1. A config option to exclude specific skill scan directories (e.g., ignoredSkillsLocations)
  2. 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:

// ~/.copilot/config.json
{
  "ignoredSkillsLocations": [
    "~/.claude/skills",
    "~/.agents/skills"
  ]
}

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:pluginsPlugin system, marketplace, hooks, skills, extensions, and custom agents
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions