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

@igord7737 igord7737 commented May 20, 2026

Copy link
Copy Markdown

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

1 participant