Plugin skills/ directory does not register slash commands — only commands/ works

Resolved 💬 2 comments Opened Apr 1, 2026 by dtadpole Closed Apr 26, 2026

Bug Description

Plugin skills defined in skills/*/SKILL.md are loaded as Agent Skills (model invocation via the Skill tool works), but they are not registered as user-invocable slash commands. Typing /plugin-name:skill-name at the CLI prompt returns Unknown skill.

Only files in the commands/ directory register as slash commands. This contradicts the official documentation.

Steps to Reproduce

  1. Create a plugin with a skill in skills/:
my-plugin/
├── .claude-plugin/
│   └── plugin.json        # {"name": "my-plugin", "version": "1.0.0"}
└── skills/
    └── hello/
        └── SKILL.md       # frontmatter: name, description
  1. Install or load the plugin (via marketplace or --plugin-dir)
  2. Run /reload-plugins — the skill count does not include skills from skills/
  3. Type /my-plugin:helloUnknown skill: my-plugin:hello

Expected Behavior

Per the Plugins documentation quickstart (Step 3–4):

Skills live in the skills/ directory. Each skill is a folder containing a SKILL.md file. The folder name becomes the skill name, prefixed with the plugin's namespace (hello/ in a plugin named my-first-plugin creates /my-first-plugin:hello).

The skill should be invocable as /my-plugin:hello.

Actual Behavior

  • /reload-plugins output counts only commands/*.md files in the "skills" total — skills/*/SKILL.md files are not counted
  • The Skill tool (model-side invocation) works fine — the skills appear in the system prompt and Claude can invoke them
  • But user-side / slash command invocation returns Unknown skill

Workaround

Adding a duplicate commands/hello.md file with the same content makes the slash command work. After adding commands/ files, the reload count increases and /plugin:skill resolves correctly.

This is not ideal because:

  • commands/ is marked as legacy in the Plugins reference: "Skill Markdown files (legacy; use skills/ for new skills)"
  • Content must be duplicated between commands/ and skills/ if both slash command and supporting-file features are needed

Environment

  • Claude Code version: 2.1.89
  • OS: Linux (Ubuntu)

Documentation References

View original on GitHub ↗

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