Marketplace plugin source.path not used as root for skill discovery

Resolved 💬 4 comments Opened Apr 5, 2026 by benissimo Closed Apr 5, 2026

Description

When a marketplace plugin definition specifies a source.path to point at a subdirectory within a monorepo, Claude Code clones the full repo into the plugin cache but does not use the path offset as the plugin root for skill discovery. Skills defined at <repo>/<path>/skills/*/SKILL.md are not found because the loader only looks at <cache-root>/skills/.

Reproduction Steps

  1. Create a marketplace with a monorepo source that uses path:

``json
{
"plugins": [
{
"name": "my-plugin",
"source": {
"source": "github",
"repo": "org/monorepo",
"path": "plugins/my-plugin"
}
}
]
}
``

  1. In the monorepo, define skills at plugins/my-plugin/skills/my-skill/SKILL.md
  1. Install the plugin at user level and restart Claude Code
  1. Run /skills — the skills do not appear

Evidence

Comparing two plugins from the same monorepo installed from the same marketplace:

  • Plugin A (temporal) was cached on Apr 2 when the repo still had a root-level skills/ directory. Its skills appear in /skills because they were found at <cache-root>/skills/.
  • Plugin B (ai-docs) was cached on Apr 5 after the root skills/ directory was removed. Its skills at <cache-root>/ai-plugins/ai-docs/skills/ are not discovered.

After deleting Plugin A's stale cache, its skills also disappear — confirming that source.path is not being applied.

Expected Behavior

When source.path is specified, the plugin loader should use <cache-root>/<source.path>/ as the plugin root for skill discovery (scanning skills/*/SKILL.md relative to that path).

Environment

  • Claude Code CLI, macOS
  • Marketplace type: local directory source
  • Plugin source: GitHub monorepo with path offset

View original on GitHub ↗

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