Appearance
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 怎么工作、用什么流程")| 维度 | MCP | Plugin |
|---|---|---|
| 解决的问题 | 连接外部数据源和 API | 定义可复用的工作流和命令 |
| 类比 | 手机上装的各种 App | App 里的快捷指令/自动化 |
| 典型用途 | 连 GitHub、查数据库、发 Slack | /write-spec 写 PRD、/review-pr 审 PR |
| 安装方式 | claude mcp add | claude 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 sentry7.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.git7.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。
## 要求
- 语气友好、面向用户(非技术人员)
- 分类为:新功能、改进、修复
- 每条变更用一句简洁的话描述用户价值
- 不要包含纯技术性的重构或内部变更
## 版本信息
$ARGUMENTS7.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-planner | Sprint 规划辅助 |
feature-prioritization | RICE/ICE 功能优先级排序 |
metrics-dashboard | 产品指标看板设计 |
customer-journey-map | 用户旅程图生成 |
a-b-test-plan | A/B 测试方案设计 |
按需安装
192+ Skills 全部安装可能过于庞大。建议先浏览仓库的 README,挑选你实际需要的 Skill 文件,手动复制到 .claude/commands/ 或 .claude/skills/ 目录。
7.5 Plugin 发现资源
除了上面推荐的 Plugin,你还可以通过以下渠道发现更多实用的 Plugin 和 Skill:
7.5.1 在线资源
| 资源 | 地址 | 说明 |
|---|---|---|
| Claude Marketplaces | claudemarketplaces.com | 第三方 Plugin 和 Skill 市场,支持搜索和分类浏览 |
| Awesome Claude Code | GitHub 搜索 awesome-claude-code | 社区维护的 Claude Code 资源合集,包含精选 Plugin 列表 |
| prodmgmt.world | prodmgmt.world | 专注于产品管理的 AI 工具资源站 |
7.5.2 发现技巧
如何找到适合你的 Plugin
- 从问题出发 —— 先想清楚你要解决什么问题,再去找 Plugin
- 先试自定义 —— 简单的需求可以先创建一个 Slash Command,不一定需要完整 Plugin
- 看 Star 数和更新频率 —— GitHub 上选择活跃维护的项目
- 读源码 —— Plugin 本质上就是 Markdown 文件和配置,源码通常很容易读懂
- 参与社区 —— 在 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创建以下文件:
.claude/commands/standup.md—— 生成 Daily Standup 摘要.claude/commands/retro.md—— 整理 Sprint 回顾要点.claude/commands/estimate.md—— 辅助工作量评估
提交到 Git 后,团队成员 git pull 即可使用这些命令。
团队协作技巧
将 .claude/commands/ 提交到 Git 仓库后,整个团队都可以使用同一套 Slash Command。这是标准化团队 AI 工作流的有效方式。建议在 CLAUDE.md 中记录可用的自定义命令及其用途。
7.8 本章小结
在本章中,我们学习了:
- Plugin 的概念 —— 工作流扩展包,与 MCP(外部工具连接)互补
- 安装方式 ——
claude plugin install或从 Git URL 安装 - Slash Command —— 用 Markdown 文件定义可复用的命令模板,支持
$ARGUMENTS动态输入 - PM 常用 Plugin —— Product Management Plugin、Sentry Plugin、社区 Skill 库
- 发现资源 —— claudemarketplaces.com、awesome-claude-code、prodmgmt.world
- Skills vs Slash Commands —— 简单场景用 Commands(单文件),复杂场景用 Skills(目录结构)
下一步
在下一章中,我们将学习 Hooks(自动化钩子),它可以让 Claude Code 在特定事件发生时自动执行操作。如果说 Plugin 定义了"做什么",那么 Hooks 定义了"什么时候自动做"。