Reactify Solutions

Plugins and marketplaces

Package commands, skills, hooks, and MCP servers into one installable bundle. Worth it once a dozen or more people need identical setup.

Claude CodeLast reviewed September 3, 2026
In one minute
  • A plugin bundles slash commands, subagents, skills, hooks, and MCP servers into one installable pack.
  • A marketplace is just a public GitHub repo. No npm package, no hosting required.
  • Reach for this once roughly a dozen or more people need identical setup. Below that, shared skills in a shared repo are simpler.
  • Do not put a plugin-level CLAUDE.md in the bundle expecting it to load. The plugin system ignores it. Use a skill instead.

What it is

Everything else on this reference, commands, skills, hooks, MCP servers, is something you set up once, in one project. A plugin packages several of those together so a whole team can install identical tooling in one step, instead of copying files around by hand.

The smallest working example

my-plugin/
my-plugin/
├── .claude-plugin/
│   └── plugin.json      # required: name, version, description
├── commands/
├── agents/
├── skills/
│   └── api-tester/
│       └── SKILL.md
├── hooks/
└── .mcp.json
my-plugin/.claude-plugin/plugin.json
{
"name": "api-tester",
"version": "1.0.0",
"description": "Shared API testing commands and a skill."
}
  • plugin.json needs at minimum a name. version, description, author, and keywords are all optional but worth setting.
  • Anything under commands/, agents/, skills/, and hooks/ is picked up automatically by folder convention. No manifest entry per file.
Check it worked.

Run claude --plugin-dir ./my-plugin from anywhere. Its commands and skills are available immediately, without publishing anything.

Publishing one for your team

A marketplace is a public GitHub repository with a marketplace.json at its root, listing one or more plugins by name and source.

marketplace.json
{
"name": "acme-plugins",
"owner": "Acme Inc",
"plugins": [
  { "name": "api-tester", "source": "./plugins/api-tester" }
]
}

Install from it with /plugin install api-tester@acme-plugins, a direct GitHub URL, or a local path. No npm registry or hosting step required.

When to reach for this

Plugins are worth the extra packaging step once a dozen or more people need the exact same setup. The install becomes one command instead of a setup document everyone has to follow by hand. Below that scale, a shared skill or a shared .claude/ folder in your repo does the same job with less machinery.

Enterprise distribution▾

Organizations can enforce a managed marketplace and, with strictPluginOnlyCustomization, lock out file-based skills, commands, and agents entirely. Plugins then become the only way anyone can customize Claude Code, giving IT a single audited distribution channel. This is a managed-settings-only policy. It is not something an individual project can turn on for itself.

Last reviewed September 3, 2026 · verified against Anthropic's Claude Code docs, Sep 2026