When to use plugins vs standalone configuration
Claude Code supports two ways to add custom skills, agents, and hooks:Quickstart
This quickstart walks you through creating a plugin with a custom skill. You’ll create a manifest (the configuration file that defines your plugin), add a skill, and test it locally using the--plugin-dir flag.
Prerequisites
- Claude Code installed and authenticated
Create your first plugin
1
Create the plugin directory
Every plugin lives in its own directory containing your skills, agents, or hooks, optionally alongside a The remaining steps run from the parent directory and reference paths like
.claude-plugin/plugin.json manifest. The location doesn’t matter for this quickstart because you’ll point Claude Code at the directory with --plugin-dir in the test step. Create it anywhere convenient, such as a scratch folder or a projects directory:my-first-plugin/... relative to it.2
Create the plugin manifest
The manifest file at Then create
.claude-plugin/plugin.json defines your plugin’s identity: its name, description, and version. Claude Code uses this metadata to display your plugin in the plugin manager.Create the .claude-plugin directory inside your plugin folder:my-first-plugin/.claude-plugin/plugin.json with this content:my-first-plugin/.claude-plugin/plugin.json