一天一个开源项目(第106篇):Claude Plugins Official - Anthropic 官方 Claude Code 插件生态全解析
引言
“Plugins extend Claude Code with commands, agents, skills, hooks, and MCP servers.”
这是"一天一个开源项目"系列的第106篇文章。今天带你了解的项目是claude-plugins-official。
这是 Anthropic 官方在 GitHub 上维护的 Claude Code 插件目录。如果你最近开始深度使用 Claude Code,一定见过/plugin install命令——这个仓库就是这条命令背后的官方插件源。
20.2k Stars,2.5k Forks,669 个 Open Issues。数字背后是一个正在快速成型的生态:Anthropic 内部工程师贡献了 30+ 款插件,涵盖 12 种语言的 LSP 支持、PR 多维评审工具包、Git 工作流自动化、代码质量分析;15 家外部合作伙伴(GitHub、Firebase、Linear、Terraform 等)也已接入。
但这篇文章想讲的不只是"有哪些插件"——更值得关注的是这套插件规范本身的设计:一个 plugin.json 文件、三种扩展方式(Skills/Commands/MCP)、两种触发机制(用户调用 vs 模型自动触发)。理解这套架构,你就理解了 Claude Code 可扩展性的边界和可能性。
你将学到什么
claude-plugins-official的完整插件目录结构(内部插件 vs 外部插件)- Claude Code 插件的标准规范:从
plugin.json到 Skills/Commands/MCP 三种扩展方式 - 五款重点插件的深度解析:
pr-review-toolkit、agent-sdk-dev、code-review、hookify、commit-commands - 如何从零创建一个符合规范的 Claude Code 插件
- 外部合作伙伴插件生态的现状与接入方式
前置知识
- 使用过 Claude Code(了解 slash command 的基本操作)
- 对 MCP(Model Context Protocol)有基本了解
- 有兴趣构建自己的 Claude Code 扩展
项目背景
项目简介
claude-plugins-official 是 Anthropic 维护的官方插件注册表,服务于 Claude Code 的插件生态。它同时承担两个角色:
- 插件注册表:用户通过
/plugin install <name>@claude-plugins-official安装插件 - 开发规范参考:
plugins/example-plugin是官方的完整示例,包含所有扩展方式的参考实现
仓库分为两大目录:
/plugins:Anthropic 工程师内部开发,涵盖 LSP、开发工作流、代码质量、输出风格等多个类别/external_plugins:合作伙伴和社区提交,须通过质量与安全审核
作者/团队介绍
这是一个多人协作的 Anthropic 内部项目,各插件由不同工程师主导:
- pr-review-toolkit:Daisy (daisy@anthropic.com)
- agent-sdk-dev:Ashwin Bhat (ashwin@anthropic.com)
- code-review:Boris Cherny (boris@anthropic.com)
- frontend-design:Prithvi Rajasekaran + Alexander Bricken
- commit-commands:Anthropic team
项目数据
- ⭐ GitHub Stars:20,200+
- 🍴 Forks:2,500+
- 👁️ Watchers:147
- 🐛 Open Issues:669
- 💻 主要语言: Python (31.6%), TypeScript (28.9%), HTML (19.5%), Shell (13.0%), JavaScript (7.0%)
- 🏷️ Topics:
skills,mcp,claude-code - 🌐 仓库: anthropics/claude-plugins-official
- 📖 文档: code.claude.com/docs/en/plugins
主要功能
核心作用
claude-plugins-official 提供了一套标准化的方式来扩展 Claude Code 的能力:
Claude Code 原生能力 ↓ /plugin install <name>@claude-plugins-official ↓ 扩展后的 Claude Code ├── 新增 Slash Commands(用户主动调用) ├── 新增 Skills(模型自动触发) ├── 新增 Agents(专用任务代理) └── 新增 MCP 工具(外部服务集成)快速开始
安装插件(命令行方式):
# 安装 PR 评审工具包/plugininstallpr-review-toolkit@claude-plugins-official# 安装 Git 提交命令套件/plugininstallcommit-commands@claude-plugins-official# 安装 Agent SDK 开发工具/plugininstallagent-sdk-dev@claude-plugins-official# 安装代码评审插件/plugininstallcode-review@claude-plugins-official# 安装 Hook 管理工具/plugininstallhookify@claude-plugins-official安装插件(UI 方式):
在 Claude Code 中输入: /plugin → 点击 "Discover" → 浏览并安装所需插件安装外部合作伙伴插件:
# GitHub 集成/plugininstallgithub@claude-plugins-official# Linear 项目管理集成/plugininstalllinear@claude-plugins-official# Firebase 集成/plugininstallfirebase@claude-plugins-official# Terraform 基础设施集成/plugininstallterraform@claude-plugins-official插件目录总览
内部插件(/plugins)
| 类别 | 插件 |
|---|---|
| LSP 语言支持 | clangd-lsp, csharp-lsp, gopls-lsp, jdtls-lsp, kotlin-lsp, lua-lsp, php-lsp, pyright-lsp, ruby-lsp, rust-analyzer-lsp, swift-lsp, typescript-lsp |
| 开发工作流 | agent-sdk-dev, claude-code-setup, commit-commands, feature-dev, mcp-server-dev, plugin-dev, pr-review-toolkit, ralph-loop |
| 代码质量 | code-modernization, code-review, code-simplifier, security-guidance |
| 输出风格 | explanatory-output-style, learning-output-style |
| 实用工具 | claude-md-management, cwc-makers, frontend-design, hookify, math-olympiad, session-report, skill-creator |
| 参考实现 | example-plugin |
外部合作伙伴插件(/external_plugins):asana, context7, discord, fakechat, firebase, github, gitlab, greptile, imessage, laravel-boost, linear, playwright, serena, telegram, terraform
五款重点插件深度解析
插件 1:pr-review-toolkit——六代理并行 PR 评审
这是整个 plugins 目录里设计最为精巧的插件之一:6 个专用代理并行运行,从不同维度审查同一个 Pull Request。
PR 提交 ↓ comment-analyzer ← 注释准确性、文档完整性、注释腐化 pr-test-analyzer ← 测试覆盖质量、边界用例、行为覆盖 vs 行覆盖 silent-failure-hunter ← 静默失败、空 catch 块、缺失错误日志 type-design-analyzer ← 类型封装、不变量(4 维度 1–10 评分) code-reviewer ← CLAUDE.md 合规性、风格、Bug(0–100 评分) code-simplifier ← 可读性、不必要复杂性、冗余抽象触发方式(自然语言驱动):
"测试覆盖是否足够?" → 自动触发 pr-test-analyzer "检查 API 客户端的错误处理" → 自动触发 silent-failure-hunter "这段文档注释准确吗?" → 自动触发 comment-analyzer "帮我简化这块代码" → 自动触发 code-simplifier完整 PR 评审(一次触发全部代理):
"我准备提 PR,请: 1. 检查测试覆盖 2. 检查静默失败 3. 验证注释准确性 4. 评审新增的类型设计 5. 整体代码评审"推荐工作流:
写代码 → code-reviewer 修复问题 → silent-failure-hunter(如果涉及错误处理) 补充测试 → pr-test-analyzer 加文档 → comment-analyzer polish → code-simplifier → 创建 PR插件 2:agent-sdk-dev——Agent SDK 项目脚手架
这个插件把"从零搭建一个 Claude Agent SDK 项目"压缩到一条命令。
/new-sdk-app命令(交互式项目创建):
/new-sdk-app my-agent-project# 接下来的交互提示:# 1. 语言选择: TypeScript 还是 Python?# 2. 代理类型: coding / business / custom# 3. 起点模板: minimal / basic / specific example# 4. 包管理器: npm/yarn/pnpm 或 pip/poetry执行后自动完成:
- 检查并安装最新 SDK 版本
- 创建项目文件结构、
.env.example、.gitignore - 运行类型检查(TS)或语法验证(Python)
- 自动运行对应的 Verifier 代理(验证项目是否符合 SDK 最佳实践)
两个 Verifier 代理:
# Python 项目验证"Verify my Python Agent SDK application"→ 检查: SDK 安装、requirements.txt/pyproject.toml、 SDK 使用模式、代理初始化/配置、.env 安全性、错误处理# TypeScript 项目验证"Verify my TypeScript Agent SDK application"→ 检查: SDK 安装、tsconfig.json、类型安全/导入、 代理初始化/配置、.env 安全性、错误处理Verifier 输出格式:
整体状态: PASS / PASS WITH WARNINGS / FAIL - 阻断性问题(Critical Issues) - 非最优模式警告(Warnings) - 通过的检查项 - 改进建议(附 SDK 文档链接)插件 3:code-review——置信度过滤的 4 代理代码评审
这个插件解决了 AI 代码评审中最常见的问题:误报太多。
工作流程:
1. 前置检查 — 跳过已关闭、Draft、微小 PR 2. 收集仓库 CLAUDE.md 指南文件 3. 总结 PR 变更 4. 并行启动 4 个代理: - Agent #1 & #2 → CLAUDE.md 合规性检查 - Agent #3 → Bug 检测(仅检查变更部分) - Agent #4 → Git blame/历史上下文分析 5. 对每个问题打 0–100 置信度分 6. 过滤掉低于阈值(默认 80)的问题 7. 发布只包含高置信度问题的评审评论置信度评分说明:
| 分数 | 含义 |
|---|---|
| 0 | 不确定,可能是误报 |
| 25 | 略有把握,可能是真实问题 |
| 50 | 中等把握,真实但次要 |
| 75 | 高度确信,真实且重要 |
| 100 | 完全确定,必须修复 |
被过滤掉的问题类型:
- PR 引入之前已存在的问题
- 看起来有问题但实际没问题的代码
- Lint 工具会处理的问题
- 有 lint-ignore 注释的条目
配置置信度阈值(在commands/code-review.md中修改):
# 将默认的 80 改为你的偏好值 Filter out any issues with a score less than 80.插件 4:hookify——自然语言创建 Claude Code Hooks
Claude Code 的 Hooks 功能(在工具执行前后触发自定义逻辑)配置起来需要手动编辑复杂的 JSON 文件。hookify 解决了这个问题。
核心命令:
# 用自然语言描述规则/hookify 当使用rm-rf命令时警告我# 分析对话历史,自动建议需要阻断的行为/hookify# 列出所有规则/hookify:list# 交互式启用/禁用规则/hookify:configure规则立即生效,无需重启 Claude Code。
规则文件格式(存储于.claude/hookify.<name>.local.md):
--- name: block-dangerous-rm enabled: true event: bash pattern: rm\s+-rf action: block --- ⚠️ **检测到危险的 rm 命令!** 请确认路径并确保有备份。进阶规则(多条件):
--- name: warn-sensitive-files enabled: true event: file action: warn conditions: - field: file_path operator: regex_match pattern: \.env$|credentials|secrets - field: new_text operator: contains pattern: KEY --- 🔐 **检测到敏感文件编辑!**事件类型和触发时机:
| event | 触发时机 |
|---|---|
bash | 执行 Bash 命令前 |
file | 文件读写操作 |
prompt | 用户输入提示词 |
stop | Claude 准备停止回复 |
all | 所有上述事件 |
实用规则示例:
# 阻断破坏性命令event:bashpattern:rm\s+-rf|dd\s+if=|mkfs|formataction:block# 警告调试代码event:filepattern:console\.log\(|debugger;action:warn# 停止前要求运行测试event:stopaction:blockconditions:-field:transcriptoperator:not_containspattern:npm test|pytest|cargo test# 防止 TypeScript 文件中硬编码 API Keyevent:fileconditions:-field:file_pathoperator:regex_matchpattern:\.tsx?$-field:new_textoperator:regex_matchpattern:(API_KEY|SECRET|TOKEN)\s*=\s*["']插件 5:commit-commands——三命令 Git 工作流
# 自动生成 commit message 并提交/commit# 完整一键流程:commit → push → 创建 PR/commit-push-pr# 清理远端已删除的本地分支/clean_gone/commit的执行逻辑:
- 分析暂存/未暂存的变更
- 查看近期提交历史(匹配仓库风格)
- 暂存文件并创建包含 Claude Code attribution 的 commit message
- 自动跳过
.env、credentials.json等敏感文件
/commit-push-pr的执行逻辑:
- 如果在
main分支,自动创建新分支 - 提交变更
- Push 到
origin - 通过 GitHub CLI 创建 PR(包含 Summary + 测试清单)
插件规范深度解析
标准插件目录结构
plugin-name/ ├── .claude-plugin/ │ └── plugin.json # 插件元数据(必须) ├── .mcp.json # MCP 服务器配置(可选) ├── skills/ # Skill 定义(推荐) │ ├── my-skill/ │ │ └── SKILL.md # 模型自动触发的 Skill │ └── my-command/ │ └── SKILL.md # 用户调用的 Slash Command(也用 SKILL.md) ├── commands/ # Slash 命令(旧格式) │ └── my-command.md ├── agents/ # 代理定义 └── README.mdplugin.json 元数据格式
{"name":"my-plugin","description":"A description of what this plugin does","author":{"name":"Your Name","email":"you@example.com"}}设计上刻意极简:只有三个字段,无版本号、无依赖声明。插件的能力由目录内容决定,而不是元数据。
三种扩展方式的对比
方式 1:Skills(推荐,新插件应使用)
# 模型自动触发(基于任务上下文)---name:security-reviewdescription:当检测到安全相关代码时自动触发安全审查version:1.0.0---# 用户手动触发(成为 /skill-name 命令)---name:my-commanddescription:短描述(显示在 /help 中)argument-hint:<arg1>[optional-arg]allowed-tools:[Read,Glob,Grep]---方式 2:Commands(旧格式,功能等价)
# commands/my-command.md --- # YAML frontmatter --- # 命令内容(同 SKILL.md)方式 3:MCP Servers(外部服务集成)
// .mcp.json{"my-service":{"type":"http","url":"https://api.myservice.com/mcp"}}两种 Skill 触发机制的关键区别
| 触发类型 | 激活方式 | 适用场景 |
|---|---|---|
| 用户触发 | 用户输入/skill-name | 明确的单次操作(提交、评审) |
| 模型自动触发 | Claude 根据任务上下文判断 | 持续的上下文增强(输出风格、安全检查) |
这个区别非常重要:frontend-design插件就是典型的模型自动触发——用户只需要说"创建一个仪表盘",Claude 会自动应用该插件的设计原则,无需用户明确调用。
外部插件提交流程
如果你想将自己的插件纳入官方目录:
1. 确保插件符合质量和安全标准 ↓ 2. 访问 https://clau.de/plugin-directory-submission ↓ 3. 填写插件提交表单 ↓ 4. Anthropic 审核(质量审查 + 安全审查) ↓ 5. 合并到 /external_plugins 目录审核标准(推断自文档):
- 插件必须有完整的 README 和 plugin.json
- MCP 服务器如有使用需标注清楚
- 不得包含恶意代码或未授权的数据采集
- 功能需有实际价值,非重复轮子
项目地址与资源
官方资源
- 🌟GitHub: https://github.com/anthropics/claude-plugins-official
- 📖插件开发文档: code.claude.com/docs/en/plugins
- 📝外部插件提交: clau.de/plugin-directory-submission
- 🔧参考实现:
/plugins/example-plugin(插件开发最佳起点)
适用人群
- Claude Code 深度用户:希望通过官方插件扩展工作流能力
- 插件开发者:学习如何构建符合规范的 Claude Code 插件
- 工具链工程师:将自有服务接入 Claude Code 生态(通过 MCP 服务器)
- 团队工程效能负责人:为团队定制 Claude Code 插件,统一开发规范
总结与展望
核心要点回顾
插件生态层面:
- 30+ 内部插件:覆盖 LSP(12种语言)、PR 评审、Git 工作流、代码质量、输出风格等核心开发场景
- 15 个外部插件:GitHub、Firebase、Linear、Terraform 等主流开发工具已接入
- 统一安装方式:
/plugin install <name>@claude-plugins-official一条命令搞定
插件规范层面:
- 极简元数据:
plugin.json只需 name、description、author 三个字段 - 三种扩展方式:Skills(推荐)/ Commands(旧格式)/ MCP Servers(外部服务)
- 两种触发机制:用户主动调用 vs 模型根据上下文自动触发
- 安全提示始终在场:官方文档明确指出不对第三方插件的 MCP 服务器负责,要求用户验证信任
五款重点插件的核心价值:
pr-review-toolkit:6 代理并行 → 多维视角,消除单一评审盲区agent-sdk-dev:一条命令脚手架 + 自动 Verifier → 降低 Agent SDK 入门门槛code-review:置信度过滤(默认阈值 80)→ 减少误报,专注真实问题hookify:自然语言创建 Hooks → 无需手写复杂 JSON 配置commit-commands:/commit-push-pr→ 从代码到 PR 全流程自动化
一句话评价
claude-plugins-official 不只是一个插件目录——它是 Anthropic 对"AI 工具应如何被扩展"这个问题的公开答案:最小化元数据、最大化组合灵活性,让 Skills 在正确的上下文自动出现,而不是强迫用户记住命令。
欢迎来我的个人主页找到更多有用的知识和有趣的产品
