Overview
Plugin manifests allow you to:- Declare skills explicitly instead of relying on directory conventions
- Group multiple skills under a named plugin
- Define multi-plugin repositories (marketplace catalogs)
- Maintain compatibility with Claude Code’s plugin system
Plugin manifests are optional. The CLI will still discover skills in standard locations even without manifests.
Supported Manifest Files
The CLI looks for these files in a repository:marketplace.json
Multi-plugin catalog
Location:
Location:
.claude-plugin/marketplace.jsonplugin.json
Single plugin
Location:
Location:
.claude-plugin/plugin.jsonMarketplace Manifest
A marketplace manifest defines multiple plugins in a single repository.File Location
Schema
Fields
Global metadata for the marketplace
Array of plugin definitions
Path Resolution
Paths are resolved in this order:- Start with repository root
- Apply
metadata.pluginRootif present - Apply
plugin.sourceif present - Apply each skill path from
plugin.skills
Plugin Manifest
A plugin manifest defines a single plugin at the repository root.File Location
Schema
Fields
Plugin name for grouping skills
Array of skill paths relative to the repository root. Each path must start with
./Path Resolution
Paths are resolved relative to the repository root:Security: Path Validation
All paths in plugin manifests are validated to prevent path traversal attacks.Validation Rules
Containment check
Resolved paths must be contained within the repository root (no
.. segments allowed)Invalid Paths
How Discovery Works
When you runskills add <source>, the CLI searches for skills in this order:
Discovery Flow
Plugin Grouping
Skills discovered from manifests can be grouped by plugin name.In Lock Files
When a skill is installed from a manifest with aname field, the plugin name is stored:
In Skill Lists
Theskills list command can group skills by plugin:
Implementation Details
Source Code
Plugin manifest support is implemented insrc/plugin-manifest.ts:
API
Extract skill search directories from plugin manifests
Get a map of skill paths to plugin names
Examples
Basic Marketplace
Marketplace with Plugin Root
Simple Plugin
Related Documentation
Lock Files
See how pluginName is stored in lock files
Claude Code Plugins
Learn about the Claude Code plugin marketplace