Skip to content

fix(plugins): drop invalid skills path so single-skill plugins load - #95

Open
Kita-Toda wants to merge 1 commit into
ReScienceLab:mainfrom
Kita-Toda:fix/plugin-skills-path
Open

Kita-Toda wants to merge 1 commit into
ReScienceLab:mainfrom
Kita-Toda:fix/plugin-skills-path

Conversation

@Kita-Toda

Copy link
Copy Markdown

Problem

All 9 plugins under skills/ declare:

"skills": ["./SKILL.md"]

The skills manifest field takes directories containing <name>/SKILL.md, not a path to a SKILL.md file. As written it resolves to nothing, so none of these skills load after install — requesthunt, domain-hunter, seo-geo, logo-creator, banner-creator, nanobanana, reddit, twitter and producthunt are all affected.

Confirmed on a live install: the plugins install cleanly from the marketplace and appear in installed_plugins.json, but none of their skills appear in the session's available-skills list.

Why removing the field is the fix

Each plugin keeps SKILL.md at its root with no skills/ subdirectory. That is the documented single-skill plugin layout, and it is auto-loaded only when the manifest omits skills entirely — declaring the field at all suppresses the auto-load.

Repointing to "./" does not work either: the loader would then look for ./<name>/SKILL.md, which does not exist in this layout. (Worth noting since "./" is a natural-looking fix — it fails the same way, just more quietly.)

The alternative would be restructuring each plugin into skills/<name>/SKILL.md and pointing the field there, matching the layout plugins like postiz use. That works, but it is a large file-move diff and breaks existing path references for no functional gain over simply dropping the field.

Ref: Component path fields — "Custom skill directories containing <name>/SKILL.md. Adds to the default skills/ scan."

Change

Removes the skills key from all 9 manifests. 27 deletions, no file moves, no other behaviour change.

domain-hunter had the field as its last key, so the trailing comma on the preceding key was cleaned up too. All 9 files were re-parsed after editing to confirm they are still valid JSON and that skills was the only key removed.

🤖 Generated with Claude Code

Every plugin under skills/ declares:

    "skills": ["./SKILL.md"]

The `skills` manifest field takes *directories* that contain
`<name>/SKILL.md`, not a path to a SKILL.md file, so this entry
resolves to nothing and the skill never loads.

These plugins each keep SKILL.md at the plugin root with no `skills/`
subdirectory, which is the documented single-skill plugin layout: it is
auto-loaded when the manifest omits `skills` entirely. Declaring the
field at all suppresses that auto-load, so the fix is to remove it
rather than repoint it. (Repointing to "./" fails the same way — the
loader would look for ./<name>/SKILL.md, which does not exist.)

Removes the field from all 9 plugin manifests. No file moves, no
behaviour change beyond the skills now loading.

Ref: https://code.claude.com/docs/en/plugins-reference#component-path-fields

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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