Skip to content

fix(marketplace): use ./skills/ prefix for skill paths#31

Open
igord7737 wants to merge 1 commit into
AgentSecOps:mainfrom
igord7737:fix/marketplace-skill-paths
Open

fix(marketplace): use ./skills/ prefix for skill paths#31
igord7737 wants to merge 1 commit into
AgentSecOps:mainfrom
igord7737:fix/marketplace-skill-paths

Conversation

@igord7737
Copy link
Copy Markdown

@igord7737 igord7737 commented May 20, 2026

Summary

Skill directories in this repo live under ./skills/<category>/<name>/, but .claude-plugin/marketplace.json references them as ./<category>/<name>/ (missing the skills/ prefix). Claude Code's plugin loader resolves these paths literally, so every skill in 6 of 7 plugins fails to load with Path not found.

Root cause

Example: devsecops-skills plugin declares
```json
"skills": ["./devsecops/secrets-gitleaks", ...]
```
but the directory at that path doesn't exist. Actual location: ./skills/devsecops/secrets-gitleaks/SKILL.md. Same drift applies to appsec, secsdlc, compliance, incident-response, threatmodel, and offsec plugins.

Reproduction on `main` @ 6e25a4b:

  1. `claude plugin marketplace add AgentSecOps/SecOpsAgentKit`
  2. `claude plugin install devsecops-skills@agent-sec-ops-kit-skills`
  3. `claude doctor` → `6 plugin error(s) detected: ... Path not found: .../devsecops/secrets-gitleaks (skills)` × 6

Fix

Prefix all 31 skill paths with `./skills/` so they match the on-disk layout. No skill content changes — manifest paths only.

Test plan

  • `claude plugin uninstall devsecops-skills@agent-sec-ops-kit-skills`
  • Patched `marketplace.json` locally with this PR's diff
  • `claude plugin install devsecops-skills@agent-sec-ops-kit-skills` — succeeds
  • `ls ~/.claude/plugins/cache/agent-sec-ops-kit-skills/devsecops-skills/*/skills/devsecops/` — all 6 skill dirs present
  • `claude doctor` — 0 plugin errors (was 6 before fix)
  • (reviewer) Repeat verification for any of the other 5 plugins (`appsec-skills`, `secsdlc-skills`, etc.) — same fix pattern applied to all

Skill directories live under ./skills/<category>/<name>/ in this repo,
but the marketplace manifest referenced them as ./<category>/<name>/
(missing the skills/ prefix). Result: Claude Code plugin loader reports
"Path not found" for every skill in 6 out of 7 plugins, so none of the
declared skills are usable.

Verified by:
- ls ./skills/devsecops/ shows all 6 expected skills exist
- After fix: claude plugin uninstall + install + claude doctor → 0 errors
- Same pattern applied to all 7 plugins (appsec, devsecops, secsdlc,
  compliance, incident-response, threatmodel, offsec) — total 33 paths
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant