Claude Code glossary

Plugin

A plugin bundles Claude Code extensions like skills, agents, and servers into a distributable package.

Also called: claude code plugin, plugins, plugin.json

A plugin is a distributable bundle of Claude Code extensions. It packages a collection of components, such as skills, agents, hooks, MCP servers, or LSP servers, into a single unit for easier distribution and management.

The plugin manifest, a file named plugin.json, is located within the plugin's .claude-plugin/ directory. Skills included in a plugin reside in the skills/ subdirectory. These skills are automatically namespaced using the plugin's name. For instance, a skill at my-plugin/skills/review/SKILL.md is accessed as /my-plugin:review. This namespacing prevents conflicts with skills installed locally or within a project.

For a skill located directly in the plugin's root directory (a plugin-root SKILL.md), the command name is determined by the name field in its frontmatter. If the name field is absent, the plugin's directory name is used as the command name.

Conversely, a skill folder can also function as a plugin by including a .claude-plugin/plugin.json file. This allows a single skill directory to bundle additional components like agents, hooks, and MCP servers. When using this method within a project's .claude/skills/ directory, the workspace trust dialog must be accepted first.

For security reasons, subagents within plugins have certain frontmatter fields disabled: hooks, mcpServers, and permissionMode. To apply changes made to a plugin's hooks/, .mcp.json, agents/, and output-styles/ directories, you must run the /reload-plugins command.

← All glossary terms