内容来源:alexop.dev。https://alexop.dev/posts/building-my-first-claude-code-plugin/
原题:How to Build a Claude Code Plugin: Skills, Agents & Commands
原发布时间:2025-11-08

兼容性说明(核对于 2026-07-20):当前插件文档仍然支持平铺的 commands/ 文件,但新插件建议使用 skills/<name>/SKILL.md。全新配置中,应当先注册插件市场,再执行安装命令。下文保留历史原文中的配置方式。

文章社交分享图

刚开始使用 Claude Code?

如果还不熟悉 Claude Code,或者想理解包括 MCP、Skills、子智能体、Hooks 和插件在内的完整生态,请先阅读我的 Claude Code 全技术栈完整指南。本文默认读者已经掌握基础知识。

问题

我已经使用 Claude Code 很长一段时间。它与工作流中的其他 AI 工具一起,成为我每天进行开发的主力。

但过去几个月里,我没有继续关注 Anthropic 发布了什么。Skills?没研究过。插件?甚至不知道它们存在。

今天,我终于补上了进度,并发现了一项一直错过的东西:插件。

这个概念立刻让我茅塞顿开。我过去在本地构建的一切,包括自定义命令、智能体和配置,都困在每个项目各自的 .claude/ 目录中。插件改变了这一点。你可以把它们打包,再跨项目共享,让 Claude Code 在任何地方获得新能力。

于是,我决定自己构建一个插件,用它生成斜杠命令、Skills、智能体,以及其他一直需要手工创建的内容。

💡 想直接查看代码?

这个插件已经开源,可以直接使用。前往 GitHub 仓库查看实现,或者立即安装。

在 GitHub 上查看

ℹ️ 什么是插件?

插件通过 Claude Code 插件系统,添加自定义命令、智能体、Hooks、Skills 和 MCP 服务器。它可以把功能打包,并在项目和团队之间共享。

插件可以包含:

斜杠命令——由用户显式触发的自定义工作流,例如 /analyze-deps
Skills——Claude 会在相关情形下自动使用的能力
智能体——用于专门任务的专业子智能体
Hooks——在工具使用、提示词提交等事件发生时运行的处理程序

完整技术规范和官方指南请参阅 Claude Code 插件文档

手工作业流程有多痛苦

使用插件之前,创建一条新命令需要:

1、在文档中查找正确的 Frontmatter 格式
2、创建 .claude/commands/my-command.md
3、复制粘贴模板
4、填写空白
5、祈祷文件结构没有写错

创建智能体时再做一遍,创建 Skills 时再做一遍,创建 Hooks 时还要再做一遍。

在样板内容上花十分钟,真正的逻辑只花五分钟。

每次都是相同问题:一件本应瞬间完成的工作,需要太多手工操作。

解决方案:Claude Code Builder

我构建了一个自动生成全部内容的插件,从而解决了这个问题。

插件包括以下命令:

命令 说明
/create-skill 生成由模型调用的 Skills
/create-agent 创建专业子智能体
/create-command 添加自定义斜杠命令
/create-hook 配置事件驱动 Hooks
/create-md 生成用于提供项目上下文的 CLAUDE.md
/create-output-style 创建自定义输出风格
/create-plugin 把现有配置打包成插件

每条命令都会负责文件结构、Frontmatter 和最佳实践,我只需提供名称和描述。

插件结构

目录结构如下:

├── .claude-plugin/
│   ├── marketplace.json  插件市场清单
│   └── plugin.json  插件元数据
├── .gitignore
├── LICENSE
├── README.md
└── commands/
    ├── create-agent.md
    ├── create-command.md
    ├── create-hook.md
    ├── create-md.md
    ├── create-output-style.md
    ├── create-plugin.md
    └── create-skill.md

命令文件:魔法发生的地方

每条命令都是带有 Frontmatter 的 Markdown 文件。下面以 /create-skill 命令为例:

---
description: 生成结构正确、包含 YAML Frontmatter 的新 Claude Skill
argument-hint: [skill-name] [description]
---

# /create-skill

## 目标

以官方文档为参考,生成结构正确、包含 YAML Frontmatter 的新 Claude Skill。

## 约定

**输入:**

- `$1`——SKILL_NAME,使用小写 Kebab Case,最多 64 个字符
- `$2`——DESCRIPTION,说明 Skill 的功能和使用时机,最多 1024 个字符
- `--personal`——创建在 `~/.claude/skills/` 中,默认选项
- `--project`——创建在 `.claude/skills/` 中

**输出:**`STATUS=<CREATED|EXISTS|FAIL> PATH=<path>`

## 操作说明

1. **验证输入:**
   - Skill 名称只能包含小写字母、数字和连字符
   - 描述不能为空,最多 1024 个字符

2. **确定目标目录:**
   - 个人级,默认:`~/.claude/skills/{{SKILL_NAME}}/`
   - 项目级:`.claude/skills/{{SKILL_NAME}}/`

3. **使用以下模板生成 SKILL.md:**
   [模板内容写在这里……]

💪 核心认识

命令只是提供给 Claude 的指令。编写时要像在教一名初级开发者严格遵循具体步骤。良好的提示词工程原则在这里同样适用。

下面是运行命令后,插件生成的内容:

生成的 Skill 文件示例,包含正确的结构和 Frontmatter

插件会创建结构正确的文件,并自动处理全部样板内容

发布到 GitHub

插件在本地运行成功后,发布过程非常简单:

1、推送到 GitHub
2、用户添加插件市场:/plugin marketplace add alexanderop/claude-code-builder
3、用户安装插件:/plugin install claude-code-builder@claude-code-builder

不需要 npm,也没有构建步骤,只需要 GitHub。

自己试试看

准备好停止复制粘贴 Claude Code 样板内容了吗?

第 1 步:安装插件

/plugin install claude-code-builder@claude-code-builder

第 2 步:验证安装

检查插件是否已经加载:

/plugins

列表中应该会出现 claude-code-builder

Claude Code 插件列表,显示已经安装 claude-code-builder

插件会出现在已安装插件列表中

第 3 步:使用新命令

现在,你已经可以使用七条新命令。先尝试创建第一个 Skill:

/create-skill commit-helper "生成清晰的提交消息;提交代码时使用"

安装插件后,Claude Code 中可以使用的全部七条命令

七条新命令已经触手可及

就是这样。现在,无须再接触文档,也能生成 Skills、智能体、命令以及更多内容。

下一步做什么

我每天都在使用这个插件。每当脑中出现“要是 Claude 能……”的念头,我不再搜索文档,而是直接运行 /create-skill

目前,我专注于优化工作流,也就是借助 Claude Code 更快地构建 Vue 应用。

我正在探索的问题是:如何教 Claude Code 编写优秀的 Vue 应用?

目前正在开发:

• 编码 Vue 最佳实践的 Skills
• 面向常见 Vue 模式的命令,例如 Composables、Stores 和组件
• 能够理解 Vue 架构决策的自定义智能体
• 用于外部工具的 MCP 服务器集成

这不只是为了提高速度,而是要教会 Claude Code 按照我思考软件开发的方式工作。

构建可以继续构建工具的工具,乐趣正是从这里开始。