{"slug": "claude-code-plugins-install-build-and-publish", "title": "Claude Code plugins: install, build and publish", "summary": "A developer guide details how Claude Code plugins bundle skills, slash commands, subagents, hooks and MCP servers into a single installable package distributed through Git-based marketplaces. Plugins are installed with commands like `/plugin marketplace add` and `/plugin install`, and authors can publish their own marketplace via a `.claude-plugin/marketplace.json` manifest, with Anthropic's own skills such as Frontend Design and Code Review published in the `claude-plugins-official` marketplace.", "body_md": "A Claude Code plugin bundles skills, slash commands, subagents, hooks and MCP servers so they install together from a marketplace with one command. This guide explains what goes in a plugin, how to install one, how plugins differ from plain skills, and how to publish your own marketplace.\n\nA **skill** is one folder with a `SKILL.md`: instructions for one job. A **plugin** is a package that can contain many skills plus other extensions, with a manifest that tells Claude Code what is inside.\n\n| You want to | Use | \n|---|---|\n| Teach Claude one method | A skill | \n| Ship several skills together | A plugin | \n| Add a slash command or a subagent alongside skills | A plugin | \n| Connect an MCP server that the skills depend on | A plugin with `.mcp.json` | \n| Let a team install everything with one command | A plugin in a marketplace | \n| Install one community skill from GitHub | `skillgild install <slug>` (no plugin needed) | \n\nMost of the popular skills on SkillGild ship both ways: as a plain folder you can copy, and as a plugin in the author's marketplace. Anthropic's own skills, such as [Frontend Design](https://skillgild.dev/skills/frontend-design) and [Code Review](https://skillgild.dev/skills/code-review), are published as plugins in the `claude-plugins-official` marketplace.\n\nMarketplaces are Git repositories (or local folders) that contain a `.claude-plugin/marketplace.json`. Add a marketplace, then install plugins from it:\n\n```\n/plugin marketplace add anthropics/claude-plugins-official\n/plugin install frontend-design@claude-plugins-official\n```\n\n`/plugin` on its own opens a browser where you can search marketplaces, install, enable, disable and uninstall. Installed plugins apply to every project by default; team settings can pin a marketplace and a plugin list for a repository so everyone gets the same set.\n\nOther marketplaces people add most often, from the skills listed on SkillGild:\n\n```\n/plugin marketplace add obra/superpowers-marketplace\n/plugin install superpowers@superpowers-marketplace\n\n/plugin marketplace add pbakaus/impeccable\n/plugin install impeccable@impeccable\n\n/plugin marketplace add makenotion/notion-workspace-plugin\n/plugin install notion-workspace@notion-workspace-plugin\n```\n\nEach listing on SkillGild shows the plugin commands when the project publishes them, next to the one-line `skillgild install` that copies the skill folder without the plugin.\n\n```\nmy-plugin/\n├── .claude-plugin/\n│   └── plugin.json       # name, description, version, author\n├── skills/\n│   └── paper-figure/\n│       └── SKILL.md\n├── commands/\n│   └── release.md        # a slash command\n├── agents/\n│   └── reviewer.md       # a subagent\n├── hooks/\n│   └── hooks.json        # run scripts on events\n└── .mcp.json             # MCP servers the plugin needs\n```\n\nOnly the manifest is required:\n\n```\n{\n  \"name\": \"my-plugin\",\n  \"description\": \"Figures, release notes and a reviewer for our papers repo.\",\n  \"version\": \"1.0.0\",\n  \"author\": { \"name\": \"Your Name\" }\n}\n```\n\nEverything else is optional and discovered by folder: skills in `skills/`, commands in `commands/`, agents in `agents/`. When the plugin is installed, its skills behave like personal skills, and its commands appear in the slash menu namespaced by plugin.\n\n`~/.claude/skills/`, following `skills/`.\n\n```\nclaude --plugin-dir ./my-plugin\nclaude plugin validate ./my-plugin\n```\n\nKeep plugins small. One plugin per job area (\"release tooling\", \"design review\") installs faster, reads better in the browser and is easier to disable when it misfires.\n\nA marketplace is a repository with a `.claude-plugin/marketplace.json` that lists plugins and where to fetch them:\n\n```\n{\n  \"name\": \"acme-marketplace\",\n  \"owner\": { \"name\": \"Acme\" },\n  \"plugins\": [\n    {\n      \"name\": \"my-plugin\",\n      \"source\": \"./plugins/my-plugin\",\n      \"description\": \"Figures, release notes and a reviewer for our papers repo.\"\n    },\n    {\n      \"name\": \"design-review\",\n      \"source\": { \"source\": \"github\", \"repo\": \"acme/design-review\" },\n      \"description\": \"A design review skill and a /review command.\"\n    }\n  ]\n}\n```\n\nPlugins can live inside the marketplace repository (relative `source`) or in their own repositories. People then run `/plugin marketplace add acme/acme-marketplace` and install by name. Anyone with the repository URL can add it; there is no central approval.\n\nA plugin can declare MCP servers in `.mcp.json` so a skill's tools arrive with it. SkillGild's own hosted skills work this way: the SkillGild MCP server exposes `skillgild_search_skills`, `skillgild_run_skill` and the session tools, and a skill's wrapper tells Claude how to call them. If you publish a plugin for a team that uses SkillGild, add the server once in `.mcp.json`:\n\n```\n{\n  \"mcpServers\": {\n    \"skillgild\": {\n      \"command\": \"skillgild\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\nEvery team member who installs the plugin then has the hosted catalog available by name, after `skillgild login`.\n\n`.claude-plugin/marketplace.json` at the root.`description` does not match how you ask. Fix the description; reinstall is not needed for local `--plugin-dir` testing.\nFor the differences between every extension type, read [skills vs agents, commands and plugins](https://skillgild.dev/learn/claude-skills-vs-agents-commands-plugins). To see which MCP servers people add alongside plugins, read [the best MCP servers for Claude Code](https://skillgild.dev/learn/best-mcp-servers-for-claude-code).\n\n*Originally published at [skillgild.dev](https://skillgild.dev/learn/claude-code-plugins).*", "url": "https://wpnews.pro/news/claude-code-plugins-install-build-and-publish", "canonical_source": "https://dev.to/skillgild/claude-code-plugins-install-build-and-publish-372f", "published_at": "2026-10-06 22:01:40+00:00", "updated_at": "2026-10-06 22:17:56.466252+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "agent-protocols"], "entities": ["Claude Code", "Anthropic", "SkillGild", "claude-plugins-official", "Frontend Design", "Code Review", "MCP"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/claude-code-plugins-install-build-and-publish", "markdown": "https://wpnews.pro/news/claude-code-plugins-install-build-and-publish.md", "text": "https://wpnews.pro/news/claude-code-plugins-install-build-and-publish.txt", "jsonld": "https://wpnews.pro/news/claude-code-plugins-install-build-and-publish.jsonld"}}