[BUG] Plugin skills with name in frontmatter lose their plugin prefix

Resolved 💬 4 comments Opened Jan 31, 2026 by hxnk Closed Mar 1, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Skills from a plugin that have a name field in their SKILL.md frontmatter are registered without the plugin namespace prefix. The name value is used directly as the slash command, bypassing the {plugin}: prefix entirely.

  • Skill with name in frontmatter → /my-skill (no prefix)
  • Skill without name in frontmatter → /my-plugin:my-skill (correct prefix)
  • Command (no name field) → /my-plugin:command-name (correct prefix)

What Should Happen?

The skill should appear as /my-plugin:my-skill regardless of whether name is present in the frontmatter. The name field should set the display name but not bypass the plugin namespace prefix. This is consistent with how commands are namespaced and prevents naming conflicts between plugins.

Error Messages/Logs

Steps to Reproduce

  1. Create a minimal plugin with this structure:
my-plugin/
  .claude-plugin/
    plugin.json
  skills/
    my-skill/
      SKILL.md
  1. Set the plugin name in plugin.json:
{
  "name": "my-plugin",
  "description": "Test plugin",
  "version": "0.1.0"
}
  1. Create skills/my-skill/SKILL.md with a name field:
---
name: my-skill
description: Example skill to test prefix behavior
---

# My Skill

This is a test skill.
  1. Install the plugin (e.g., via /install-plugin or by placing it in a project's plugin path).
  1. Start a new Claude Code session and type /my- in the prompt.
  1. Observe: The skill appears as /my-skill without the my-plugin: prefix.
  1. Now remove the name field from the frontmatter:
---
description: Example skill to test prefix behavior
---
  1. Restart the session and type /my- again.
  1. Observe: The skill now correctly appears as /my-plugin:my-skill with the prefix.

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.27

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

_No response_

View original on GitHub ↗

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