Introduction
A plugin in Claude Code is a self-contained package that bundles together multiple features — skills, hooks, MCP servers, and configuration — so you can install them all at once. Think of plugins like browser extensions: one install gives you a coordinated set of capabilities instead of setting up each piece individually.
This folder contains complete plugin examples that bundle multiple Claude Code features into cohesive, installable packages.
Plugins matter because real-world workflows rarely need just one feature. For example, a "code quality" plugin might combine a pre-commit hook that runs linting, a skill that formats error messages, and an MCP server that connects to your team's style guide. Without plugins, you would configure each of these separately and hope they work together. A plugin ensures they are designed as a unit.
A typical plugin lives in a folder with a structure like this:
my-plugin/
plugin.json # Declares the plugin name, version, and components
hooks/
pre-commit.sh # Hook that runs before commits
skills/
review.md # Skill for code review
README.md # Usage instructions
You install a plugin by copying its folder into your .claude/plugins/ directory, or by using an install script that places each component in the right location. Once installed, all bundled features activate automatically — hooks fire on their configured events, skills respond to their trigger phrases, and MCP servers start when needed.
Key takeaway: plugins are the distribution format for sharing complete Claude Code workflows — study these examples to understand how hooks, skills, and servers work together before building your own.