How to create, install, and manage Claude Code plugins and plugin marketplaces. Use when user asks about plugins, plugin creation, plugin distribution, or plugin marketplaces.
Create and manage Claude Code plugins through marketplaces. Use when users ask about building custom commands, agents, or skills, and need to distribute them across teams via git-based plugin catalogs.
/plugin marketplace add reggiechan74/claude-plugins/plugin install claude-code-metaskill@claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Plugins extend Claude Code with custom functionality including commands, agents, hooks, Skills, and MCP servers. They can be shared across projects and teams through marketplaces.
A plugin requires:
.claude-plugin/plugin.json) - metadatacommands/) - custom slash commandsmkdir test-marketplace/my-first-plugin
cd my-first-plugin
mkdir .claude-plugin commands
.claude-plugin/plugin.json){
"name": "my-first-plugin",
"description": "A simple greeting plugin",
"version": "1.0.0",
"author": {"name": "Your Name"}
}
Add command (commands/hello.md)
Contains: "Greet the user warmly and ask how you can help them today."
Create marketplace manifest (.claude-plugin/marketplace.json)
Lists your plugins with their source paths and descriptions.
Install locally
/plugin marketplace add ./test-marketplace
/plugin install my-first-plugin@test-marketplace
Markdown files in commands/ directory defining custom slash commands that Claude can invoke.
Agent definitions in agents/ directory for specialized task automation.
SKILL.md files in skills/ directory that extend Claude's autonomous capabilities. Model-invoked based on task context.
hooks.json for event handling and workflow automation.
.mcp.json configuration for external tool integration.
Add marketplace: /plugin marketplace add your-org/claude-plugins
Browse/install: /plugin opens interactive menu
Direct install: /plugin install formatter@org-name
Control: Enable, disable, or uninstall plugins as needed
Verify: Run /help to see newly available commands
Configure plugins at repository level via .claude/settings.json. When team members trust the folder, marketplaces and plugins install automatically.
plugin.jsonPlugin marketplaces are JSON-based catalogs that distribute Claude Code extensions. They enable centralized discovery, version management, and team distribution of plugins across multiple sources.
GitHub Repositories:
/plugin marketplace add owner/repo
Git Repositories:
/plugin marketplace add https://gitlab.com/company/plugins.git
Local Development:
/plugin marketplace add ./my-marketplace
/plugin marketplace add ./path/to/marketplace.json
/plugin marketplace add https://url.of/marketplace.json
Create .claude-plugin/marketplace.json in your repository:
{
"name": "company-tools",
"owner": {
"name": "DevTools Team",
"email": "[email protected]"
},
"plugins": [
{
"name": "code-formatter",
"source": "./plugins/formatter",
"description": "Automatic code formatting on save",
"version": "2.1.0"
}
]
}
Relative Paths:
{
"name": "my-plugin",
"source": "./plugins/my-plugin"
}
GitHub:
{
"name": "github-plugin",
"source": {
"source": "github",
"repo": "owner/plugin-repo"
}
}
Git Services:
{
"name": "git-plugin",
"source": {
"source": "url",
"url": "https://gitlab.com/team/plugin.git"
}
}
Specify marketplaces in .claude/settings.json:
{
"extraKnownMarketplaces": {
"team-tools": {
"source": {
"source": "github",
"repo": "your-org/claude-plugins"
}
}
}
}
/plugin marketplace list # Show all marketplaces
/plugin marketplace update name # Refresh metadata
/plugin marketplace remove name # Remove marketplace