Summary
Plugin manifests can declare skills, but those skills are not currently merged into Zero's skill discovery. That means an installed plugin can ship a skills: entry in plugin.json, yet the existing skill tool/listing path will not see or load it.
The docs already call this out as a current limitation:
AGENTS.md section 3: plugin-declared skills are not yet merged into the loader, so a skills: entry inside a plugin's plugin.json is not visible to the skill tool today.
AGENTS.md section 6 repeats the same limitation for plugin-managed skills.
Proposed behavior
Installed, enabled plugins that declare skills in plugin.json should expose those skills through the same discovery path used by regular user skills.
For example, a plugin manifest like:
{
"id": "github-pr-review",
"skills": [
{ "path": "./skills/review-checklist/SKILL.md" }
]
}
should make review-checklist available to the skill listing/loading flow, using the existing SKILL.md metadata rules.
Suggested scope
- Merge plugin-declared skills into the skill loader/discovery result.
- Resolve relative skill paths against the plugin directory.
- Ignore disabled plugins.
- Preserve existing duplicate-name behavior or document/handle precedence explicitly.
- Add tests for plugin skill discovery and relative-path resolution.
Why
This closes a documented feature gap and makes plugins more useful as self-contained capability bundles. Plugin authors can ship tools, hooks, and skills together instead of asking users to install skills separately.
Non-goals
- Full in-UI plugin manager.
- Marketplace browsing.
- Project-scoped skill directories.
- Redesigning the plugin enable/disable model.
Summary
Plugin manifests can declare skills, but those skills are not currently merged into Zero's skill discovery. That means an installed plugin can ship a
skills:entry inplugin.json, yet the existing skill tool/listing path will not see or load it.The docs already call this out as a current limitation:
AGENTS.mdsection 3: plugin-declared skills are not yet merged into the loader, so askills:entry inside a plugin'splugin.jsonis not visible to theskilltool today.AGENTS.mdsection 6 repeats the same limitation for plugin-managed skills.Proposed behavior
Installed, enabled plugins that declare skills in
plugin.jsonshould expose those skills through the same discovery path used by regular user skills.For example, a plugin manifest like:
{ "id": "github-pr-review", "skills": [ { "path": "./skills/review-checklist/SKILL.md" } ] }should make
review-checklistavailable to the skill listing/loading flow, using the existingSKILL.mdmetadata rules.Suggested scope
Why
This closes a documented feature gap and makes plugins more useful as self-contained capability bundles. Plugin authors can ship tools, hooks, and skills together instead of asking users to install skills separately.
Non-goals