Plugin skills don't show namespace prefix in autocomplete (commands do)

Resolved 💬 3 comments Opened Feb 2, 2026 by jackal-lch Closed Mar 5, 2026

Description

When using a plugin with both skills and commands, the autocomplete (/ command) shows different namespace behavior:

  • Commands show WITH plugin prefix: /opensdd:blueprint
  • Skills show WITHOUT prefix: /create-blueprint

However, internally skills ARE registered with the prefix (visible in system prompt as opensdd:create-blueprint).

Expected Behavior

Skills should show with the plugin namespace prefix in autocomplete, consistent with commands:

  • /opensdd:blueprint (command) ✓
  • /opensdd:create-blueprint (skill) ← expected but shows as /create-blueprint

Actual Behavior

❯ /blueprint
───────────────────────────────────────────────────────────────────────────────────────────
  /opensdd:blueprint               AI-guided blueprint creation...  (COMMAND - has prefix)
  /opensdd:spec                    Generate technical specification...  (COMMAND - has prefix)
  /create-blueprint                AI-guided blueprint creation...  (SKILL - NO prefix)
  /create-spec                     Generate technical specification...  (SKILL - NO prefix)
  /package-spec                    Split spec.yaml...  (SKILL - NO prefix)

Plugin Structure

my-plugin/
├── .claude-plugin/
│   └── plugin.json
├── commands/
│   └── blueprint.md          → shows as /opensdd:blueprint ✓
└── skills/
    └── create-blueprint/
        └── SKILL.md          → shows as /create-blueprint ✗

plugin.json:

{
  "name": "opensdd",
  "version": "0.1.0",
  "skills": "./skills/",
  "commands": "./commands/"
}

Impact

This inconsistency makes it difficult to maintain structured namespacing for plugins. Plugin authors who want all their capabilities namespaced (e.g., /opensdd:*) must create redundant command wrappers for each skill.

Environment

  • Claude Code CLI
  • macOS
  • Plugin installed via marketplace

Suggested Fix

Apply the same plugin-name: prefix to skills in autocomplete display that is already applied to commands.

View original on GitHub ↗

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