Skills with user-invocable: true don't show plugin prefix in autocomplete

Resolved 💬 3 comments Opened Jan 25, 2026 by yonatangross Closed Jan 29, 2026

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

  1. Create a plugin with skills using the newer skills/ directory format:

``
skills/
my-skill/
SKILL.md # with user-invocable: true in frontmatter
``

  1. Install the plugin
  1. 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 /context output WITHOUT the plugin prefix (e.g., just my-skill)
  • Commands in commands/*.md DO 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

  1. Is user-invocable: true supposed to make skills behave like commands for autocomplete purposes?
  2. Should plugins use commands/ for autocomplete and skills/ for context-loaded guidance, or should both work the same?
  3. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗