# 插件结构参考 (Plugin Structure Reference)
## 目录层级
plugin-name/
├── .claude-plugin/
│ └── plugin.json # 必需: 插件元数据清单
├── commands/ # 可选: 自定义斜杠命令
├── agents/ # 可选: 智能体定义
├── skills/ # 可选: 智能体技能
│ └── skill-name/
│ ├── SKILL.md # 每个技能必需
│ ├── scripts/ # 可选: 可执行代码
│ ├── references/ # 可选: 文档
│ └── assets/ # 可选: 输出文件
├── hooks/ # 可选: 事件处理器
│ └── hooks.json
└── .mcp.json # 可选: MCP 服务器集成
## 插件清单 (`plugin.json`)
**位置:** `.claude-plugin/plugin.json` (必须在此目录中)
**必需字段:**
- `name`: 唯一标识符 (kebab-case)
**标准元数据:**
- `version`: 语义化版本控制 (例如 "1.0.0")
- `description`: 插件用途
- `author`: 包含 name, email, url 的对象
- `homepage`: URL
- `repository`: URL
- `license`: SPDX 标识符
- `keywords`: 搜索词数组
**组件路径 (可选):**
- `commands`: 命令目录路径
- `agents`: 智能体目录路径
- `hooks`: 钩子配置路径
- `mcpServers`: MCP 配置路径
### plugin.json 示例
{
"name": "example-plugin",
"version": "1.0.0",
"description": "Example plugin for demonstration",
"author": {
"name": "Plugin Creator",
"email": "
[email protected]"
},
"keywords": ["example", "demo"]
}
## 组件类型
### 命令 (Commands)
**位置:** `commands/` 目录
**格式:** 带 frontmatter 的 Markdown 文件
**命名:** 子目录通过 `:` 创建命名空间
commands/
├── simple.md # 调用方式 /simple
└── namespace/
└── command.md # 调用方式 /namespace:command
### 智能体 (Agents)
**位置:** `agents/` 目录
**格式:** 描述智能体能力的 Markdown 文件
### 技能 (Skills)
**位置:** `skills/` 目录
**格式:** 包含 `SKILL.md` 文件的子目录
**结构:** 参见技能文档
### 钩子 (Hooks)
**位置:** `hooks/hooks.json` 或清单中指定的路径
**事件:** PreToolUse, PostToolUse, UserPromptSubmit, Notification, Stop, SubagentStop, SessionStart, SessionEnd, PreCompact
### MCP 服务器
**位置:** 插件根目录下的 `.mcp.json`
**目的:** 外部工具集成
## 路径要求
- 所有路径均相对于插件根目录