Plugin skills not discovered when .claude/ directory exists in plugin
Bug Description
When a Claude Code plugin contains a .claude/ directory (for settings, hooks, etc.), the plugin's skills/ root directory is completely ignored during skill discovery. Skills are not loaded with the pluginName:skillName prefix.
Steps to Reproduce
- Create a plugin with:
.claude-plugin/plugin.json(standard plugin manifest)skills/my-skill/SKILL.md(plugin skills at root).claude/settings.json(project-level settings/hooks)
- Install the plugin:
claude plugin install <plugin>
- Run
/reload-plugins— skills fromskills/are not loaded
- Remove
.claude/directory from the plugin cache
- Run
/reload-plugins— skills fromskills/are now loaded withpluginName:prefix
Expected Behavior
Plugin skills in skills/ should be discovered regardless of whether .claude/ directory exists. The .claude/ directory is used for settings/hooks and should coexist with plugin skills.
Actual Behavior
When .claude/ directory is present in a plugin, the skills/ root directory is ignored. Only .claude/skills/ is searched for skills (if it exists).
Evidence
Tested with 5 plugins on Claude Code v2.1.92:
| Plugin | .claude/ dir | Skills loaded? |
|--------|---------------|---------------|
| oh-my-claudecode (4.10.2) | ❌ absent | ✅ Yes |
| my-skills (1.3.0) | ❌ absent | ✅ Yes |
| scheduler (0.2.0) | ❌ absent | ✅ Yes |
| codex (1.0.2) | ❌ absent | ✅ Yes |
| laplace-dev-hub (1.9.0) | ✅ present | ❌ No |
All plugins use the same skills/<name>/SKILL.md structure with identical frontmatter format.
What I've tried (none worked)
- Adding
"skills": "./skills/"to.claude-plugin/plugin.json - Removing
.claude/skills/subdirectory while keeping.claude/ - Creating symlink
.claude/skills -> ../skills
Workaround
None found. The .claude/ directory contains essential settings and hooks that cannot be removed.
Timeline
- Skills worked when plugin only had
skills/(no.claude/dir) — Feb 13, 2026 - Skills stopped working after
.claude/directory was added — ~Feb 25, 2026
Environment
- Claude Code: v2.1.92
- macOS Darwin 25.2.0
- Plugin installed via marketplace (scope: user)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗