OFFICIAL SOURCE ANALYSIS

插件系统 · 技能系统

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 的边界,让扩展更加自然。

MCP Prompts 也是 Skill 来源:通过 MCP 协议连接的外部服务可以暴露 Prompts,这些 Prompts 会被 Claude Code 当作 Skills 处理。这意味着一个 MCP 服务器不仅可以提供工具,还可以提供领域知识,极大扩展了集成的可能性。
.prompt 文件格式详解

一个 .prompt 文件本质上是一个 Markdown 文件,头部包含 YAML frontmatter 定义元数据:

--- name: my-skill description: 一句话描述这个 Skill 做什么 trigger: 何时触发(关键词或模式匹配描述) --- # Skill 正文内容(Markdown) 这里是模型会读到的专业知识和指导... 可以包含代码示例、最佳实践、约束规则等。

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 的边界,让扩展更加自然。

MCP Prompts 也是 Skill 来源:通过 MCP 协议连接的外部服务可以暴露 Prompts,这些 Prompts 会被 Claude Code 当作 Skills 处理。这意味着一个 MCP 服务器不仅可以提供工具,还可以提供领域知识,极大扩展了集成的可能性。
.prompt 文件格式详解

一个 .prompt 文件本质上是一个 Markdown 文件,头部包含 YAML frontmatter 定义元数据:

--- name: my-skill description: 一句话描述这个 Skill 做什么 trigger: 何时触发(关键词或模式匹配描述) --- # Skill 正文内容(Markdown) 这里是模型会读到的专业知识和指导... 可以包含代码示例、最佳实践、约束规则等。

frontmatter 中的 trigger 字段告诉 Skill 发现系统何时应该激活这个 Skill。系统会将用户输入与所有已注册 Skill 的触发条件进行匹配,并选择最相关的 Skill 注入上下文。