用途:本资料是 Claude Code 插件的结构指南,说明如何按标准目录布局组织插件,使命令、智能体、技能、钩子与 MCP 服务器能被自动发现并正常加载。
主要能力:
- 目录结构:插件根目录下放置 .claude-plugin/plugin.json 清单;commands、agents、skills、hooks 等组件目录必须位于插件根级,不能嵌套在 .claude-plugin/ 内;仅创建实际使用的组件目录;目录与文件名使用 kebab-case。
- 清单配置:plugin.json 必填 name(kebab-case、唯一、无空格或特殊字符),推荐 version、description、author、homepage、repository、license、keywords;版本遵循语义化版本。可用 commands、agents、hooks、mcpServers 指定自定义路径,路径须相对插件根并以 ./ 开头,不支持绝对路径,且自定义路径是补充而非替换默认目录。
- 组件组织:commands 与 agents 为带 YAML frontmatter 的 .md 文件,自动发现;skills 为每个技能一个子目录并含 SKILL.md,可附带 scripts、references、examples 等;hooks 通过 hooks/hooks.json 或清单内联配置,支持 PreToolUse、PostToolUse、Stop、SubagentStop、SessionStart、SessionEnd、UserPromptSubmit、PreCompact、Notification 等事件;MCP 服务器通过 .mcp.json 或清单内联定义,插件启用时自动启动。
- 可移植路径:所有插件内路径引用应使用 ${CLAUDE_PLUGIN_ROOT},避免硬编码绝对路径、工作目录相对路径或 ~ 快捷方式。
- 自动发现:启用插件时读取清单并扫描各目录,安装时注册组件,启用后可用,无需重启,下次会话生效。
使用方式:按约定创建目录与文件,编写 plugin.json 与各组件文件,必要时在清单中补充自定义路径;在钩子脚本中可用 echo $CLAUDE_PLUGIN_ROOT 验证路径。
适用场景:需要为 Claude Code 打包命令、子智能体、技能、钩子或 MCP 集成的插件开发者。
限制:资料未提供具体安装命令、收费信息或平台支持范围;自定义路径不会替换默认目录,组件命名需避免冲突。