Create a Claude Code plugin changedplugins/create
Upstream edited this page at 27 Sep 2026 16:27 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 28 Sep 2026 23:37 UTC.
Upstream edited
Recorded here
Lines+7added
Lines−7removed
From line
142
where the diff opens
First seen
25 Sep 2026
this site's first read of the page
Recorded edits7to this page, all time
The whole hunk
from line 142, old and new numbered
/
from line 142
142142
143143The table lists the directories most plugins start with, and the [full layout](/docs/en/plugins/manifest-reference#standard-layout) lists the rest.
144144
145| Location | Contents |
146| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
145| Location | Contents |
146| :- | :- |
147147| `.claude-plugin/plugin.json` | The manifest. When you load a plugin with `--plugin-dir` and it has no manifest, Claude Code names the plugin after its directory |
148| `skills/` | One `<name>/SKILL.md` directory per skill |
149| `commands/` | Flat Markdown files, the older form of skills. Use `skills/` for new plugins |
150| `agents/` | One Markdown file per subagent |
151| `hooks/hooks.json` | Hook configuration: a top-level `"hooks"` key whose value has the same shape as `hooks` in a settings file |
152| `.mcp.json` | MCP server definitions |
148| `skills/` | One `<name>/SKILL.md` directory per skill |
149| `commands/` | Flat Markdown files, the older form of skills. Use `skills/` for new plugins |
150| `agents/` | One Markdown file per subagent |
151| `hooks/hooks.json` | Hook configuration: a top-level `"hooks"` key whose value has the same shape as `hooks` in a settings file |
152| `.mcp.json` | MCP server definitions |
153153
154154<Warning>
155155 Only `plugin.json` goes inside `.claude-plugin/`. Components saved there don't load.
No line in this hunk matches that.