You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The repo-root marketplace manifest .claude-plugin/marketplace.json declares every skill source path relative to the repo root (e.g. ./appsec/sast-semgrep), but the skills actually live under skills/ (e.g. skills/appsec/sast-semgrep). As a result Claude Code resolves all 31 source paths to non-existent directories, every one of the 7 plugins loads 0 skills, and /doctor reports setup errors (14 in my install).
Notably, the second manifest at skills/.claude-plugin/marketplace.json has paths that DO resolve (relative to skills/). The root copy appears to be a stale/incorrect duplicate.
Impact
All 5 enabled plugins (devsecops, secsdlc, compliance, incident-response, threatmodel) plus appsec and offsec load no skills and surface errors in /doctor. Users must disable the plugins as a workaround.
Suggested fix
Either:
Prefix every source/skills path in .claude-plugin/marketplace.json with skills/ (e.g. ./skills/appsec/sast-semgrep), or
Remove the duplicate root .claude-plugin/marketplace.json and make skills/.claude-plugin/marketplace.json the canonical manifest.
The existing validate_skill.py / pre-commit hook (added in 6e25a4b) could be extended to assert that every declared source path resolves to an existing directory, which would have caught this.
Workaround
Disable the affected plugins in ~/.claude/settings.jsonenabledPlugins until fixed.
I can take this bug. I will correct the root .claude-plugin/marketplace.json skill paths, add a regression check that every declared root skill resolves under skills/, and run the repository validation/tests before opening a PR.
Activity
lolcubaba31 commentedon Sep 14, 2026
I can take this bug. I will correct the root .claude-plugin/marketplace.json skill paths, add a regression check that every declared root skill resolves under skills/, and run the repository validation/tests before opening a PR.
fix(tooling): pin plugin source to ./skills in generate_marketplace.py