Day 35 of 52 · about 20 min · Skills · Bonus
Share plugins through your own marketplace
Sending a zip of your plugin to each teammate means nobody knows which version they have. A marketplace in a git repository lists the plugins your team reviewed, and everyone installs and updates them by name.
You’ll finish with
- A
team-plugins/marketplace whosemarketplace.jsonlistsacme-kit acme-kit@acme-teaminstalled from it- Project settings that offer the marketplace to everyone who trusts the repository
You’ll need
- The Day 34 plugin in
plugins/acme-kit/, or this day’s practice kit - For the last two steps: a GitHub or other git repository you can push to
Before you start
Tell us about your setup and the steps change to fit it. Your answers stay in this browser, and you can change them at any time.
Which system are you on?
Commands differ between systems. Pick the one you’ll run Claude Code on.
The steps
One step at a time. When a step’s check matches, tick it and the next one opens.
Step 1 of 5: Set up the marketplace folder
A marketplace is a folder with .claude-plugin/marketplace.json and the plugins it lists.team-plugins/
- folder .claude-plugin
- marketplace.jsonNewthe catalog
- folder plugins
- folder acme-kitNewa copy of the Day 34 plugin
In real use, team-plugins/ is its own git repository. The kit has these files. In your own project, ask Claude:Create team-plugins/.claude-plugin/ and team-plugins/plugins/, then copy plugins/acme-kit into team-plugins/plugins/. Don’t change the original.Check it worked
team-plugins/plugins/acme-kit/.claude-plugin/plugin.jsonexists.Step 2 of 5: Write marketplace.json
Name the marketplace and its owner, and add one entry per plugin.team-plugins/.claude-plugin/marketplace.jsonJSON{ "name": "acme-team", "description": "Plugins the Acme Quotes team has reviewed and shares", "owner": { "name": "Acme Quotes team" }, "plugins": [ { "name": "acme-kit", "source": "./plugins/acme-kit", "description": "The client-update skill and a hook that blocks edits to .env files and test/" } ] }.claude-plugin/marketplace.json- name: acme-team
- What people type after
@to install - owner.name: "Acme Quotes team"
- Required: who maintains it
- plugins[0].name: acme-kit
- Must match the
namein the plugin’s plugin.json - plugins[0].source: ./plugins/acme-kit
- A path from the marketplace root, with no
..
name, owner and plugins are required. Check it worked
claude plugin validate ./team-pluginsends with✔ Validation passed.Step 3 of 5: Add it and install the plugin
Register the folder as a marketplace, then install the plugin by name.In Claude CodeYou type: /plugin marketplace add ./team-plugins
What happens: Registers it under the name in marketplace.json:
acme-team.You type: /plugin install acme-kit@acme-team
What happens: Opens the plugin in
/plugin. Choose Install for you, in this repo only (local scope).A plugin id is the entry name, @, then the marketplace name. Check it worked
Type
/acme-kitand/acme-kit:client-updateis offered.Step 5 of 5: Offer it in project settings
Commit settings so everyone who trusts the repository gets the marketplace and the plugin.TerminalRun: claude plugin marketplace remove acme-team
Run: claude plugin marketplace add your-org/team-plugins --scope project
Run: claude plugin install acme-kit@acme-team --scope project
What happens: The first removes your local test copy. Use your own repository in the second.
Run these from your app’s repository root, then commit .claude/settings.json. Check it worked
.claude/settings.jsonnow mentionsacme-teamandacme-kit@acme-team.If it didn’t work
A teammate sees the plugin enabled but not installed
They run
claude plugin install acme-kit@acme-team --scope projectonce in the repository.
Finish · 5 of 5 steps to go
Your team installs reviewed plugins by name
What you’ll have checked
claude plugin validate ./team-pluginspasses.claude/settings.jsonoffersacme-teamto the repository
Lesson updates by email
Get lesson updates by email
Leave your email and we’ll tell you when we add or update a lesson.
Claude Code for your team
Want Claude Code set up across your team?
HorizonLux sets up and repairs Claude Code for teams: CLAUDE.md rules, hooks that enforce them and reviewed MCP servers. Book a free call to talk it through.
Related
Questions
Questions about Day 35
How do teammates get updates?
Raise `version` and push. They run `/plugin marketplace update acme-team`, or turn on auto-update for it under Marketplaces in `/plugin`.
Sources
Checked against the official Claude Code docs on .
- Create a marketplace
- Host and maintain a marketplace
- Manage plugins for your organization
- Install plugins
- Marketplace reference
Independent resource, not affiliated with Anthropic. HorizonLux wrote this lesson; Claude Code is made by Anthropic.