Claude Code Docs 主页!图片 1:光徽标!图2:黑暗标志
⌘K问AI
克劳德开发者平台 网络上的克劳德代码
工具和插件
创建插件
入门与 Claude 一起构建代码部署管理配置参考什么新资源
创建自定义子代理 运行代理团队
疑难解答
工具和插件
创建自定义插件以使用技能、代理、挂钩和 MCP 服务器来扩展 Claude Code。
插件允许您使用可在项目和团队之间共享的自定义功能来扩展 Claude Code。本指南涵盖使用技能、代理、挂钩和 MCP 服务器创建您自己的插件。想要安装现有插件?请参阅发现并安装插件。有关完整的技术规范,请参阅插件参考。
何时使用插件与独立配置
Claude Code 支持两种添加自定义技能、代理和挂钩的方式:
| 方法 | 技能名称 | 最适合 |
|---|---|---|
独立(.claude/目录) | /你好 | 个人工作流程、特定于项目的定制、快速实验 |
插件(带有 .claude-plugin/plugin.json 的目录) | /插件名称:hello | 与队友共享、分发到社区、版本化发布、跨项目可重用 |
**在以下情况下使用独立配置: 您正在为单个项目定制 Claude Code 配置是个人的,不需要共享 在打包之前你正在尝试技能或钩子 您需要简短的技能名称,例如“/hello”或“/deploy”
在以下情况下使用插件: 您可以使用诸如“/my-plugin
”之类的命名空间技能(命名空间可以防止插件之间发生冲突)从“.claude/”中的独立配置开始进行快速迭代,然后在准备好共享时转换为插件。
快速入门
本快速入门将引导您创建具有自定义技能的插件。您将创建一个清单(定义插件的配置文件),添加一项技能,并使用“--plugin-dir”标志在本地测试它。
先决条件
Claude Code 已安装并经过身份验证
如果您没有看到“/plugin”命令,请将 Claude Code 更新到最新版本。有关升级说明,请参阅故障排除。
创建您的第一个插件
创建插件目录
每个插件都位于自己的目录中,其中包含清单和您的技能、代理或挂钩。立即创建一个:
mkdir 我的第一个插件
创建插件清单
.claude-plugin/plugin.json 处的清单文件定义了插件的身份:其名称、描述和版本。 Claude Code 使用此元数据在插件管理器中显示您的插件。在插件文件夹中创建 .claude-plugin 目录:
mkdir my-first-plugin/.claude-plugin
然后使用以下内容创建 my-first-plugin/.claude-plugin/plugin.json :
我的第一个插件/.claude-plugin/plugin.json
“名称”:“我的第一个插件”, "description": "一个学习基础知识的问候语插件", “版本”:“1.0.0”, “作者”:{ “名字”:“你的名字”
| 领域 | 目的 |
|---|---|
名称 | 唯一标识符和技能命名空间。技能以此为前缀(例如/my-first-plugin:hello)。 |
描述 | 浏览或安装插件时显示在插件管理器中。 |
版本 | 使用语义版本控制 跟踪版本。 |
作者 | 选修的。有助于归因。 |
有关“homepage”、“repository”和“license”等其他字段,请参阅完整清单架构。
添加技能
技能位于“skills/”目录中。每个技能都是一个包含“SKILL.md”文件的文件夹。文件夹名称成为技能名称,以插件的命名空间为前缀(名为“my-first-plugin”的插件中的“hello/”创建“/my-first-plugin
”)。在插件文件夹中创建一个技能目录:mkdir -p my-first-plugin/技能/你好
然后使用以下内容创建 my-first-plugin/skills/hello/SKILL.md :
我的第一个插件/技能/hello/SKILL.md
描述:用友好的消息向用户打招呼 禁用模型调用:true
热情地问候用户并询问今天您可以如何帮助他们。
测试你的插件
使用 --plugin-dir 标志运行 Claude Code 来加载您的插件:
克劳德 --plugin-dir ./my-first-plugin
一旦 Claude Code 开始,请尝试您的新技能:
/我的第一个插件:你好
你会看到克劳德回应问候。运行“/help”以查看插件命名空间下列出的您的技能。
为什么命名空间? 插件技能总是命名空间(如“/my-first-plugin
”),以防止多个插件具有相同名称的技能时发生冲突。要更改命名空间前缀,请更新“plugin.json”中的“name”字段。添加技能参数
通过接受用户输入使您的技能充满活力。 $ARGUMENTS 占位符捕获用户在技能名称后提供的任何文本。更新您的 SKILL.md 文件:
我的第一个插件/技能/hello/SKILL.md
描述:用个性化消息问候用户
#你好技能
热情地问候名为“$ARGUMENTS”的用户,并询问您今天可以如何帮助他们。使问候语个性化并具有鼓励性。
运行“/reload-plugins”以获取更改,然后使用您的名字尝试该技能:
/我的第一个插件:你好亚历克斯
克劳德会叫出你的名字来迎接你。有关将参数传递给技能的更多信息,请参阅技能。
您已经成功创建并测试了具有以下关键组件的插件:
插件清单 (.claude-plugin/plugin.json):描述插件的元数据
技能目录 (skills/):包含您的自定义技能
技能参数 ($ARGUMENTS):捕获动态行为的用户输入
--plugin-dir 标志对于开发和测试很有用。当您准备好与其他人共享您的插件时,请参阅创建和分发插件市场。
插件结构概述
您已经创建了一个具有技能的插件,但插件可以包含更多内容:自定义代理、挂钩、MCP 服务器和 LSP 服务器。
常见错误:不要将 commands/、agents/、skills/ 或 hooks/ 放在 .claude-plugin/ 目录中。只有“plugin.json”位于“.claude-plugin/”内部。所有其他目录必须位于插件根级别。
| 目录 | 地点 | 目的 |
|---|---|---|
.claude-plugin/ | 插件根目录 | 包含 plugin.json 清单(如果组件使用默认位置则可选) |
命令/ | 插件根目录 | Markdown 文件形式的技能 |
代理/ | 插件根目录 | 自定义代理定义 |
技能/ | 插件根目录 | 带有“SKILL.md”文件的代理技能 |
钩子/ | 插件根目录 | hooks.json 中的事件处理程序 |
.mcp.json | 插件根目录 | MCP 服务器配置 |
.lsp.json | 插件根目录 | 用于代码智能的 LSP 服务器配置 |
bin/ | 插件根目录 | 启用插件时,可执行文件添加到 Bash 工具的“PATH” |
| 的 |