Describe the bug
Typing / in the interactive prompt opens a skill/command picker. Entries are shown under an installed plugin's namespace, but several of them are not actually bundled with that plugin and fail when invoked.
Specifically, after installing a plugin from a private marketplace that only configures MCP servers (no skills), the / picker still lists several skill-style entries (e.g. names unrelated to the plugin's actual purpose) all namespaced under that plugin's prefix.
None of these are real. The installed plugin's own plugin.json declares zero skills (only a handful of MCP server integrations), and there is no skills/ directory in the installed plugin's cache on disk. One of the phantom entries actually corresponds to a completely separate, independently-installable plugin in the same marketplace — so the picker is misattributing an unrelated plugin's skill to the wrong namespace.
copilot skill list (the authoritative/ground-truth command) correctly excludes all of these phantom entries, confirming the mismatch is isolated to the / picker's rendering/grouping logic, not the actual skill registry.
Affected version
GitHub Copilot CLI 1.0.93
Steps to reproduce the behavior
- Install a plugin (from any marketplace) that bundles only MCP servers and no skills
- In the interactive prompt, type
/ to open the command/skill picker
- Scroll to that plugin's namespace group
- Observe several skill-style entries listed under the plugin's namespace that have nothing to do with the plugin's declared purpose
- Run
copilot skill list and compare — none of these phantom entries appear there
- Try invoking one of the phantom entries — it fails ("file not found") because no such skill file exists
Expected behavior
The / picker should only show skills that are actually bundled with and resolvable from the installed plugin (i.e., match what copilot skill list reports). Skill names should not be attributed to a plugin namespace they don't belong to, and no unresolvable/phantom entries should appear in the picker.
Additional context
- Operating system: Windows
- Terminal: Windows Terminal
- Confirmed via:
copilot skill list, copilot plugin list, and inspecting the installed plugin's .github/plugin/plugin.json and on-disk cache (no skills/ folder present).
Describe the bug
Typing
/in the interactive prompt opens a skill/command picker. Entries are shown under an installed plugin's namespace, but several of them are not actually bundled with that plugin and fail when invoked.Specifically, after installing a plugin from a private marketplace that only configures MCP servers (no skills), the
/picker still lists several skill-style entries (e.g. names unrelated to the plugin's actual purpose) all namespaced under that plugin's prefix.None of these are real. The installed plugin's own
plugin.jsondeclares zero skills (only a handful of MCP server integrations), and there is noskills/directory in the installed plugin's cache on disk. One of the phantom entries actually corresponds to a completely separate, independently-installable plugin in the same marketplace — so the picker is misattributing an unrelated plugin's skill to the wrong namespace.copilot skill list(the authoritative/ground-truth command) correctly excludes all of these phantom entries, confirming the mismatch is isolated to the/picker's rendering/grouping logic, not the actual skill registry.Affected version
GitHub Copilot CLI 1.0.93
Steps to reproduce the behavior
/to open the command/skill pickercopilot skill listand compare — none of these phantom entries appear thereExpected behavior
The
/picker should only show skills that are actually bundled with and resolvable from the installed plugin (i.e., match whatcopilot skill listreports). Skill names should not be attributed to a plugin namespace they don't belong to, and no unresolvable/phantom entries should appear in the picker.Additional context
copilot skill list,copilot plugin list, and inspecting the installed plugin's.github/plugin/plugin.jsonand on-disk cache (noskills/folder present).