Tech Update / Adventures with Claude Code #14

Plugins – your team setup in one package

Quite a lot has come together over the last few parts: subagents (part 1), skills (part 3), MCP servers (part 5), hooks (part 11). Then a new colleague joins and asks: “How do I set all of this up on my machine?”

The answer is a plugin. It bundles skills, agents, hooks and MCP servers into one package. One command, and everything's there.

📦 What a plugin looks like

our-team-setup/
├── .claude-plugin/
│   └── plugin.json
├── skills/
├── agents/
├── hooks/
└── .mcp.json

At its core it's a folder with exactly the files you already know from the previous parts, plus a short description in plugin.json.

🏪 Your own marketplace

A marketplace is a Git repository with a .claude-plugin/marketplace.json listing your plugins. You install straight from Claude Code:

/plugin marketplace add our-company/claude-plugins
/plugin install our-team-setup@company-tools

(company-tools is the name you give it in marketplace.json.)

👥 For the whole team

Add the marketplace and plugin to the project's .claude/settings.json and commit the file:

{
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": { "source": "github", "repo": "our-company/claude-plugins" }
    }
  },
  "enabledPlugins": {
    "our-team-setup@company-tools": true
  }
}

Anyone who opens the project and trusts the folder is offered the installation. A quick test with a fresh checkout is still worth it.

A word of caution:

A plugin is code that runs with your permissions: hooks execute commands, MCP servers access your systems. So only install plugins from sources you trust. And treat your own plugin like production code: with reviews, versions and a changelog.

My rule of thumb:

  • Just for me? ~/.claude/.
  • Just for this project? .claude/ in the repository.
  • For several projects and the whole team? Plugin.

← Back to overview