Bug
Pack plugin.json files contain a non-standard "skills": "./" field that Claude Code interprets as a relative path and rejects as an escape attempt. After a seemingly successful install, claude plugin list shows:
Status: ✘ failed to load
Error: Path escapes plugin directory: ./ (skills)
Root cause
The skills field is not in the Claude Code plugin.json schema. The spec only allows: name, version, description, author, repository, homepage, license, keywords. Claude Code's validator treats unknown path-shaped values as relative paths and considers ./ an escape.
Skills auto-discovery works fine without this field — Claude Code automatically scans SKILL.md files inside the pack directory.
Scope
This affects every pack + many individual plugins in the marketplace. Confirmed via grep -rn '"skills": "\./"' ~/.claude/plugins/marketplaces/claude-code-skills — at least 30 plugin.json files contain this bug, including:
business-growth/.claude-plugin/plugin.json (pack-level)
engineering/.claude-plugin/plugin.json (pack-level)
product-team/.claude-plugin/plugin.json (pack-level)
finance/.claude-plugin/plugin.json (pack-level)
c-level-advisor/.claude-plugin/plugin.json (pack-level)
project-management/.claude-plugin/plugin.json (pack-level)
ra-qm-team/.claude-plugin/plugin.json (pack-level)
engineering-team/.claude-plugin/plugin.json (pack-level)
- Plus at least 20+ individual plugins inside those directories
During a 2026-04-14 install session, both marketing-skills@claude-code-skills and business-growth-skills@claude-code-skills installed without errors but showed failed to load in claude plugin list until the cached plugin.json files were patched.
Required fix
Remove the "skills": "./" line from every affected plugin.json:
// Before
{
"name": "business-growth",
...
"skills": "./"
}
// After
{
"name": "business-growth",
...
}
Skills auto-discovery will continue to work.
Workaround for users hitting this now
Critical: patching the marketplace clone does NOT fix this — Claude Code already copied the broken plugin.json to its cache during install. Users must patch the cache copy:
~/.claude/plugins/cache/claude-code-skills/<plugin-name>/<version>/.claude-plugin/plugin.json
After removing the skills line, run claude plugin list to confirm ✔ enabled. No reinstall needed.
Environment
- Claude Code CLI (user scope install)
- macOS 15.x (Darwin 25.2.0)
- Marketplace added via
claude plugin marketplace add alirezarezvani/claude-skills
- Affected versions: 2.1.2 (marketing-skills, business-growth-skills) — almost certainly earlier versions too
Bug
Pack
plugin.jsonfiles contain a non-standard"skills": "./"field that Claude Code interprets as a relative path and rejects as an escape attempt. After a seemingly successful install,claude plugin listshows:Root cause
The
skillsfield is not in the Claude Codeplugin.jsonschema. The spec only allows:name,version,description,author,repository,homepage,license,keywords. Claude Code's validator treats unknown path-shaped values as relative paths and considers./an escape.Skills auto-discovery works fine without this field — Claude Code automatically scans
SKILL.mdfiles inside the pack directory.Scope
This affects every pack + many individual plugins in the marketplace. Confirmed via
grep -rn '"skills": "\./"' ~/.claude/plugins/marketplaces/claude-code-skills— at least 30 plugin.json files contain this bug, including:business-growth/.claude-plugin/plugin.json(pack-level)engineering/.claude-plugin/plugin.json(pack-level)product-team/.claude-plugin/plugin.json(pack-level)finance/.claude-plugin/plugin.json(pack-level)c-level-advisor/.claude-plugin/plugin.json(pack-level)project-management/.claude-plugin/plugin.json(pack-level)ra-qm-team/.claude-plugin/plugin.json(pack-level)engineering-team/.claude-plugin/plugin.json(pack-level)During a 2026-04-14 install session, both
marketing-skills@claude-code-skillsandbusiness-growth-skills@claude-code-skillsinstalled without errors but showedfailed to loadinclaude plugin listuntil the cachedplugin.jsonfiles were patched.Required fix
Remove the
"skills": "./"line from every affectedplugin.json:Skills auto-discovery will continue to work.
Workaround for users hitting this now
Critical: patching the marketplace clone does NOT fix this — Claude Code already copied the broken
plugin.jsonto its cache during install. Users must patch the cache copy:After removing the
skillsline, runclaude plugin listto confirm✔ enabled. No reinstall needed.Environment
claude plugin marketplace add alirezarezvani/claude-skills