插件系统 · 技能系统
Plugin 安装与生命周期、Skills 按需加载与 .prompt 格式、MCP Prompts 集成。
6. Plugin 插件系统
Plugin 系统是 Claude Code 的扩展框架。插件可以向系统添加新的命令、工具和技能,实现核心系统没有内置的功能。插件的安装、管理和生命周期由 Plugin Manager 统一协调。
插件的生命周期包括:发现(从注册表或本地路径找到插件)、安装(下载并验证插件包)、加载(初始化插件代码并注册其提供的命令/工具/技能)、运行(插件响应用户操作)和卸载(清理并移除插件)。
通过 /plugin 命令可以进入插件管理面板,查看已安装的插件、搜索新插件或配置现有插件。/reload-plugins 支持热更新——无需重启 Claude Code 即可重新加载所有插件,这在插件开发调试时非常方便。
/ 菜单中)、新的工具(被模型直接调用)和新的技能(在 Skill 发现中出现)。这三种扩展点可以组合使用。
版本管理与缓存清理
每个插件都有版本号。Plugin Manager 在加载时检查版本兼容性——如果插件要求的 Claude Code 最低版本高于当前版本,会发出警告并跳过加载。插件的缓存(如编译后的代码、元数据索引)存储在 ~/.claude/plugins/cache/ 中,可以通过管理面板中的清理选项手动清除。
| 操作 | 命令 | 说明 |
|---|---|---|
| 查看已安装插件 | /plugin list | 列出所有已安装插件及其状态 |
| 安装插件 | /plugin install <name> | 从注册表安装指定插件 |
| 热更新 | /reload-plugins | 不重启地重新加载所有插件 |
| 卸载插件 | /plugin remove <name> | 移除插件并清理其注册项 |
7. Skills 技能系统(详细版)
Skills 是 Claude Code 的知识扩展机制。与 Plugin 不同,Skill 本质上是一个结构化的 .prompt 文件——它包含描述、触发条件和专业知识内容。当用户的请求匹配到某个 Skill 时,该 Skill 的内容会被注入到模型的上下文中,让模型临时获得这个领域的专业能力。
Skill 的来源分为三种:Bundled Skills(随 Claude Code 一起发布的内置技能)、用户 Skills(存放在 ~/.claude/skills/ 中的个人技能)和项目 Skills(存放在项目的 .claude/skills/ 目录中、随代码仓库分发的团队技能)。
Skill 发现机制在启动时扫描所有 Skill 来源目录,读取每个 Skill 的 manifest(名称、描述、触发条件),但不会预加载 Skill 的完整内容——只有当 Skill 被触发时才会读取。这种懒加载策略确保即使有大量 Skill,启动时间也不会受到影响。
一个重要的设计决策是:Skill 可以变成 Slash Command。当一个 Skill 被安装后,它会自动注册为一个同名的斜杠命令。例如,一个名为 commit 的 Skill 会让用户可以通过 /commit 直接调用它。这模糊了 Skill 和 Command 的边界,让扩展更加自然。
.prompt 文件格式详解
一个 .prompt 文件本质上是一个 Markdown 文件,头部包含 YAML frontmatter 定义元数据:
frontmatter 中的 trigger 字段告诉 Skill 发现系统何时应该激活这个 Skill。系统会将用户输入与所有已注册 Skill 的触发条件进行匹配,并选择最相关的 Skill 注入上下文。
7. Skills 技能系统(详细版)
Skills 是 Claude Code 的知识扩展机制。与 Plugin 不同,Skill 本质上是一个结构化的 .prompt 文件——它包含描述、触发条件和专业知识内容。当用户的请求匹配到某个 Skill 时,该 Skill 的内容会被注入到模型的上下文中,让模型临时获得这个领域的专业能力。
Skill 的来源分为三种:Bundled Skills(随 Claude Code 一起发布的内置技能)、用户 Skills(存放在 ~/.claude/skills/ 中的个人技能)和项目 Skills(存放在项目的 .claude/skills/ 目录中、随代码仓库分发的团队技能)。
Skill 发现机制在启动时扫描所有 Skill 来源目录,读取每个 Skill 的 manifest(名称、描述、触发条件),但不会预加载 Skill 的完整内容——只有当 Skill 被触发时才会读取。这种懒加载策略确保即使有大量 Skill,启动时间也不会受到影响。
一个重要的设计决策是:Skill 可以变成 Slash Command。当一个 Skill 被安装后,它会自动注册为一个同名的斜杠命令。例如,一个名为 commit 的 Skill 会让用户可以通过 /commit 直接调用它。这模糊了 Skill 和 Command 的边界,让扩展更加自然。
.prompt 文件格式详解
一个 .prompt 文件本质上是一个 Markdown 文件,头部包含 YAML frontmatter 定义元数据:
frontmatter 中的 trigger 字段告诉 Skill 发现系统何时应该激活这个 Skill。系统会将用户输入与所有已注册 Skill 的触发条件进行匹配,并选择最相关的 Skill 注入上下文。