Skills with user-invocable: true don't show plugin prefix in autocomplete
Description
Skills with user-invocable: true in skills/*/SKILL.md work for invocation but don't appear in autocomplete with the plugin prefix (e.g., /plugin:skillname). Only commands in commands/*.md get proper autocomplete with prefix.
Steps to Reproduce
- Create a plugin with skills using the newer
skills/directory format:
````
skills/
my-skill/
SKILL.md # with user-invocable: true in frontmatter
- Install the plugin
- Type
/in Claude Code CLI to see autocomplete suggestions
Expected Behavior
Skills with user-invocable: true should appear in autocomplete with the plugin prefix, e.g., /myplugin:my-skill
Actual Behavior
- Skills appear in
/contextoutput WITHOUT the plugin prefix (e.g., justmy-skill) - Commands in
commands/*.mdDO appear with prefix (e.g.,plugin-dev:create-plugin)
Evidence
Comparing plugins:
| Plugin | Structure | Autocomplete Display |
|--------|-----------|---------------------|
| plugin-dev | commands/create-plugin.md | plugin-dev:create-plugin ✅ |
| claude-hud | commands/setup.md | claude-hud:setup ✅ |
| ork | skills/commit/SKILL.md with user-invocable: true | commit (no prefix) ❌ |
Environment
- Claude Code version: 2.1.19
- Platform: macOS (darwin)
Questions
- Is
user-invocable: truesupposed to make skills behave like commands for autocomplete purposes? - Should plugins use
commands/for autocomplete andskills/for context-loaded guidance, or should both work the same? - Is this a bug or intended behavior?
Workaround
Currently using commands/*.md for user-invocable functionality, but this duplicates content if you also want the skill available for context loading.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗