Skip to content

Plugins 插件系统

本章概览

在上一章中,我们学习了 MCP 如何让 Claude Code 连接外部工具和数据源。本章介绍的 Plugins 插件系统 则从另一个维度扩展 Claude Code——它不是连接外部服务,而是扩展 Claude Code 自身的工作流:自定义 Slash Command、打包可复用的 Subagent、注入 Skill 模板等。

学习目标

  • 理解 Plugin 是什么,它与 MCP 的区别
  • 学会安装和管理 Plugin
  • 掌握自定义 Slash Command 的创建方法
  • 了解产品经理常用的 Plugin 推荐
  • 理解 Skills 和 Slash Commands 的区别

7.1 什么是 Plugin?

7.1.1 Plugin 的定义

Plugin 是 Claude Code 的工作流扩展包。一个 Plugin 可以包含以下一种或多种能力:

能力类型说明举例
Slash Command/ 开头的快捷命令/write-spec/roadmap-update
Subagent专门领域的子智能体代码审查 Agent、产品分析 Agent
MCP Server捆绑的 MCP Server 配置Plugin 安装时自动注册 MCP Server
Hooks自动化钩子安装时自动注入 Hooks 配置
Skills可复用的指令模板带有上下文和约束的工作流模板

7.1.2 Plugin vs MCP:什么时候用哪个?

这两个概念经常让人混淆,但它们解决的问题完全不同:

MCP   = 外部工具连接("Claude 能调用什么外部服务")
Plugin = 工作流扩展  ("Claude 怎么工作、用什么流程")
维度MCPPlugin
解决的问题连接外部数据源和 API定义可复用的工作流和命令
类比手机上装的各种 AppApp 里的快捷指令/自动化
典型用途连 GitHub、查数据库、发 Slack/write-spec 写 PRD、/review-pr 审 PR
安装方式claude mcp addclaude plugin install 或手动创建文件
运行位置MCP Server 进程Claude Code 内部

一句话总结

MCP 让 Claude Code 能"看到"更多东西(数据、API);Plugin 让 Claude Code 能"做到"更多事情(工作流、自动化流程)。两者经常配合使用。


7.2 安装 Plugin

7.2.1 从 Registry 安装

最简单的安装方式是通过名称直接安装:

bash
# 基本语法
claude plugin install <plugin-name>

# 示例:安装 Sentry Plugin
claude plugin install sentry

7.2.2 从 Git URL 安装

你也可以从 Git 仓库安装第三方 Plugin:

bash
# 从 GitHub 安装
claude plugin install github:username/repo-name

# 从任意 Git URL 安装
claude plugin install https://github.com/username/plugin-repo.git

7.2.3 管理已安装的 Plugin

bash
# 查看已安装的 Plugin
claude plugin list

# 卸载 Plugin
claude plugin remove <plugin-name>

# 重新加载所有 Plugin(修改后无需重启 Claude Code)
/reload-plugins

热重载

在 Claude Code 交互式会话中输入 /reload-plugins,可以在不退出会话的情况下重新加载所有 Plugin。修改自定义 Slash Command 后特别有用。


7.3 自定义 Slash Command

Slash Command 是 Plugin 系统中最常用、也是最容易上手的功能。你不需要写任何代码——只需要创建一个 Markdown 文件。

7.3.1 基本原理

当你在 Claude Code 中输入 /my-command 时,Claude 会查找对应的 Markdown 文件,将其内容作为 System Prompt 注入当前对话。这意味着你可以用自然语言定义 Claude 的行为。

7.3.2 创建你的第一个 Slash Command

以产品经理最常用的"写 PRD"为例:

第 1 步:创建目录和文件

bash
# 项目级 Slash Command(仅当前项目可用)
mkdir -p .claude/commands

第 2 步:编写命令文件

创建 .claude/commands/prd.md

markdown
根据以下需求信息,撰写一份结构完整的 PRD(Product Requirements Document)。

## 输出格式要求

请按以下结构输出:

### 1. 背景与目标
- 项目背景
- 核心目标
- 成功指标(可量化)

### 2. 用户故事
- 以 "作为 [角色],我想要 [功能],以便 [价值]" 的格式
- 列出所有关键用户故事

### 3. 功能需求
- 按优先级 P0/P1/P2 分类
- 每条需求包含:描述、验收标准、边界情况

### 4. 非功能性需求
- 性能、安全、可用性等

### 5. 里程碑与排期
- 分阶段交付计划

## 需求信息
$ARGUMENTS

第 3 步:使用

你:/prd 用户希望在 App 中添加暗色模式,支持跟随系统设置自动切换

Claude:# PRD:暗色模式功能

## 1. 背景与目标
### 项目背景
用户反馈显示,约 42% 的用户在夜间使用我们的 App...
(Claude 会按照模板生成完整的 PRD)

7.3.3 $ARGUMENTS 动态输入

$ARGUMENTS 是一个特殊占位符,它会被替换为你在 Slash Command 之后输入的所有内容:

/prd 暗色模式功能
     ^^^^^^^^^ 这部分就是 $ARGUMENTS

你可以在 Markdown 模板的任意位置使用 $ARGUMENTS,甚至使用多次:

markdown
请分析以下功能的竞品情况:$ARGUMENTS

然后基于竞品分析,给出 $ARGUMENTS 在我们产品中的差异化方案。

7.3.4 两种作用域

作用域存放路径使用范围适用场景
项目级.claude/commands/仅当前项目项目专属的工作流,如该项目的 PRD 模板
用户级~/.claude/commands/所有项目个人通用的工作流,如写周报、写邮件

注意

项目级 .claude/commands/ 目录会被提交到 Git 仓库,团队成员可以共享这些命令。如果命令中包含团队私有信息,请使用用户级目录。

7.3.5 更多 PM 实用 Slash Command 示例

周报生成 (.claude/commands/weekly-report.md):

markdown
请根据以下信息生成一份产品周报。

## 格式要求

### 本周进展
- 已完成的功能/任务
- 关键 Milestone 达成情况

### 下周计划
- 计划推进的事项
- 需要协调的资源

### 风险与阻塞
- 当前面临的风险
- 需要上级决策的事项

## 输入信息
$ARGUMENTS

竞品分析 (.claude/commands/competitive-analysis.md):

markdown
请对以下产品/功能进行竞品分析。

## 分析维度
1. 功能对比矩阵
2. 用户体验差异
3. 定价策略对比
4. 各家的差异化优势
5. 我方的机会点和建议

输出格式使用 Markdown 表格,便于直接放入文档。

## 分析对象
$ARGUMENTS

发版通知 (.claude/commands/release-notes.md):

markdown
请根据最近的 Git 提交记录和变更,生成一份面向用户的 Release Notes。

## 要求
- 语气友好、面向用户(非技术人员)
- 分类为:新功能、改进、修复
- 每条变更用一句简洁的话描述用户价值
- 不要包含纯技术性的重构或内部变更

## 版本信息
$ARGUMENTS

7.4 PM 常用 Plugin 推荐

7.4.1 Product Management Plugin

这是专为产品经理打造的 Plugin 集合,包含以下 Slash Command:

命令功能使用场景
/write-spec生成产品规格文档从草稿需求生成结构化 Spec
/roadmap-update更新产品路线图整理和更新 Roadmap 文档
/stakeholder-update生成 Stakeholder 通报定期向管理层汇报项目进展
/synthesize-research汇总用户研究整合多个访谈/调研的发现

安装和使用:

bash
# 安装
claude plugin install product-management

# 使用示例
/write-spec 我们需要一个用户反馈收集功能,支持文字、截图和录屏

使用效果

你:/write-spec 电商 App 需要添加"先用后付"功能,对标 Klarna

Claude:# 产品规格文档:先用后付功能

## 概述
为电商 App 添加"先用后付"(Buy Now Pay Later, BNPL) 功能...

## 用户故事
- 作为消费者,我希望在结账时选择分期付款,以便降低一次性支付压力
- 作为商家,我希望提供 BNPL 选项,以便提高转化率和客单价
...

7.4.2 Sentry Plugin

Sentry Plugin 安装后会自动注册 Sentry MCP Server,并添加 /seer 命令用于智能错误分析。

bash
# 安装
claude plugin install sentry

安装后你将获得:

  • /seer 命令 —— 智能分析 Sentry 中的错误,给出根因推断和修复建议
  • Sentry MCP Server 自动配置 —— 无需手动 claude mcp add
你:/seer 分析最近 24 小时内影响用户数最多的前 5 个错误

Claude:以下是过去 24 小时影响面最大的 5 个错误:

1. TypeError: Cannot read property 'map' of undefined
   - 影响用户数:1,234
   - 首次出现:6 小时前
   - 根因推断:商品列表接口返回 null 时前端未做防御...

7.4.3 alirezarezvani/claude-skills 社区技能库

这是一个社区维护的大型 Skill 集合,包含 192+ Skills,覆盖产品管理、工程、设计等多个领域。

bash
# 安装全部 Skills
claude plugin install github:alirezarezvani/claude-skills

# 也可以只安装特定类别
# 克隆仓库后,将需要的 Skill 文件复制到 .claude/commands/ 目录

PM 相关的 Skills 包括:

Skill 名称功能
user-story-writer生成标准的用户故事
sprint-plannerSprint 规划辅助
feature-prioritizationRICE/ICE 功能优先级排序
metrics-dashboard产品指标看板设计
customer-journey-map用户旅程图生成
a-b-test-planA/B 测试方案设计

按需安装

192+ Skills 全部安装可能过于庞大。建议先浏览仓库的 README,挑选你实际需要的 Skill 文件,手动复制到 .claude/commands/.claude/skills/ 目录。


7.5 Plugin 发现资源

除了上面推荐的 Plugin,你还可以通过以下渠道发现更多实用的 Plugin 和 Skill:

7.5.1 在线资源

资源地址说明
Claude Marketplacesclaudemarketplaces.com第三方 Plugin 和 Skill 市场,支持搜索和分类浏览
Awesome Claude CodeGitHub 搜索 awesome-claude-code社区维护的 Claude Code 资源合集,包含精选 Plugin 列表
prodmgmt.worldprodmgmt.world专注于产品管理的 AI 工具资源站

7.5.2 发现技巧

如何找到适合你的 Plugin

  1. 从问题出发 —— 先想清楚你要解决什么问题,再去找 Plugin
  2. 先试自定义 —— 简单的需求可以先创建一个 Slash Command,不一定需要完整 Plugin
  3. 看 Star 数和更新频率 —— GitHub 上选择活跃维护的项目
  4. 读源码 —— Plugin 本质上就是 Markdown 文件和配置,源码通常很容易读懂
  5. 参与社区 —— 在 GitHub Discussions 或 Discord 分享你的使用经验

7.6 Skills vs Slash Commands

Claude Code 有两种定义可复用指令的机制:传统的 Slash Commands 和较新的 Skills。它们的核心理念相同(用 Markdown 文件定义 Claude 的行为),但在文件结构和能力上有所不同。

7.6.1 对比速查表

维度Slash Commands (传统)Skills (新机制)
文件路径.claude/commands/name.md.claude/skills/name/SKILL.md
用户级路径~/.claude/commands/name.md~/.claude/skills/name/SKILL.md
文件结构单个 Markdown 文件目录结构,可包含多个文件
动态输入$ARGUMENTS$ARGUMENTS
附带资源不支持可以在同一目录中放置示例文件、模板等
调用方式/command-name/command-name(相同)
复杂度简单场景需要上下文资源的复杂场景

7.6.2 什么时候用哪个?

选择 Slash Commands(简单场景):

.claude/commands/
├── prd.md              # 写 PRD
├── weekly-report.md    # 写周报
└── bug-report.md       # 写 Bug 报告

每个文件就是一个独立的 Prompt 模板,适合大部分日常使用。

选择 Skills(复杂场景):

.claude/skills/
├── api-design/
│   ├── SKILL.md        # Skill 主文件(定义行为)
│   ├── template.yaml   # API 规范模板
│   └── examples/       # 示例文件
│       ├── good.yaml
│       └── bad.yaml
└── data-analysis/
    ├── SKILL.md
    └── sql-templates/  # SQL 模板集合
        ├── retention.sql
        └── funnel.sql

当你的指令需要引用额外的模板文件、示例代码或配置文件时,Skills 的目录结构更加灵活。

7.6.3 Skills 的 SKILL.md 文件格式

一个典型的 SKILL.md 文件:

markdown
---
name: API 设计规范
description: 根据需求生成符合团队规范的 API 设计文档
arguments:
  - name: requirement
    description: API 需求描述
    required: true
---

请根据以下需求设计 RESTful API,严格遵循本目录中 template.yaml 的格式规范。

参考 examples/ 目录中的示例:
- good.yaml:符合规范的示例
- bad.yaml:常见错误示例

## 需求
$ARGUMENTS

建议

如果你刚开始使用 Plugin 系统,建议从 Slash Commands 开始。它足够简单,一个 Markdown 文件就能解决问题。等你的需求变得更复杂(需要引用模板、示例文件等),再迁移到 Skills。


7.7 动手实践

7.7.1 练习 1:创建一个 PM Slash Command

目标: 创建一个 /user-story 命令,输入功能描述后自动生成标准的用户故事。

第 1 步:创建文件

bash
mkdir -p .claude/commands

创建 .claude/commands/user-story.md

markdown
请根据以下功能描述,生成一组完整的用户故事(User Stories)。

## 输出格式
每个用户故事使用标准格式:
- **标题**:简洁的一句话描述
- **作为** [用户角色]
- **我想要** [功能/行为]
- **以便** [业务价值]
- **验收标准**(Acceptance Criteria,用 Given-When-Then 格式)
- **优先级**:P0 / P1 / P2

## 要求
- 考虑不同的用户角色(终端用户、管理员等)
- 包含正常流程和边界情况
- 优先级需要给出理由

## 功能描述
$ARGUMENTS

第 2 步:测试

在 Claude Code 中输入:

/user-story 电商 App 的购物车功能,支持加减商品数量、删除商品、选择优惠券

7.7.2 练习 2:创建团队共享的 Slash Command 集

目标: 为你的项目创建一组团队共享的 PM 命令。

bash
mkdir -p .claude/commands

创建以下文件:

  1. .claude/commands/standup.md —— 生成 Daily Standup 摘要
  2. .claude/commands/retro.md —— 整理 Sprint 回顾要点
  3. .claude/commands/estimate.md —— 辅助工作量评估

提交到 Git 后,团队成员 git pull 即可使用这些命令。

团队协作技巧

.claude/commands/ 提交到 Git 仓库后,整个团队都可以使用同一套 Slash Command。这是标准化团队 AI 工作流的有效方式。建议在 CLAUDE.md 中记录可用的自定义命令及其用途。


7.8 本章小结

在本章中,我们学习了:

  1. Plugin 的概念 —— 工作流扩展包,与 MCP(外部工具连接)互补
  2. 安装方式 —— claude plugin install 或从 Git URL 安装
  3. Slash Command —— 用 Markdown 文件定义可复用的命令模板,支持 $ARGUMENTS 动态输入
  4. PM 常用 Plugin —— Product Management Plugin、Sentry Plugin、社区 Skill 库
  5. 发现资源 —— claudemarketplaces.com、awesome-claude-code、prodmgmt.world
  6. Skills vs Slash Commands —— 简单场景用 Commands(单文件),复杂场景用 Skills(目录结构)

下一步

在下一章中,我们将学习 Hooks(自动化钩子),它可以让 Claude Code 在特定事件发生时自动执行操作。如果说 Plugin 定义了"做什么",那么 Hooks 定义了"什么时候自动做"。