-
Notifications
You must be signed in to change notification settings - Fork 199
Description
Hello,
I'm trying to import the skills into my Claude UI and I'm getting "Failed to add Marketplace".
I've used values like "Microsoft/skills" as well as the url "https://raw.githubusercontent.com/microsoft/skills/refs/heads/main/.claude-plugin/marketplace.json"
Not sure if it's helpful but when I asked Claude Chat about what's wrong, here's what I get:
Issue 1 — pluginRoot path doesn't match plugin source paths
The metadata declares:
json"pluginRoot": "./.github/plugins"
But every plugin's source is a relative path like "./deep-wiki", "./azure-skills", etc. — without the .github/plugins/ prefix. When Claude Code resolves these, it will look for the plugins at the repo root (e.g., ./deep-wiki), not at .github/plugins/deep-wiki where they actually live.
The fix is either:
Change pluginRoot to "." if sources are meant to be absolute from repo root, or
Change all source values to use the full path: "./.github/plugins/deep-wiki", etc., or
Keep pluginRoot as-is and change sources to just "deep-wiki" (no ./ prefix) so they resolve relative to pluginRoot
The third option is the cleanest — consistent with how pluginRoot + short source is meant to work.
Issue 2 — deep-wiki plugin has strict: true but inline commands, skills, agents fields
The deep-wiki entry sets "strict": true, which means Claude Code expects a plugin.json to exist inside the plugin directory and treats the marketplace entry as supplemental only. But it also defines commands, skills, and agents inline in the marketplace entry. With strict: true, those inline fields are supplemental to the plugin.json — if plugin.json doesn't exist or defines different paths, this can cause conflicts or be silently ignored.
The other plugins correctly omit strict (defaulting to false) and define only skills inline. The deep-wiki entry should either:
Drop "strict": true and ensure the inline fields are complete, or
Keep "strict": true and make sure a plugin.json exists inside the plugin directory that defines those paths
Issue 3 — commands and agents fields on deep-wiki use trailing slashes inconsistently with the other plugins
The skills field on other plugins uses "skills/" (trailing slash). The deep-wiki entry matches that for skills but also adds "commands": "commands/" and "agents": "agents/". This isn't wrong per se, but worth confirming those directories actually exist in that plugin — if they don't, it'll fail silently or throw path errors on install.