当前位置: 首页 > news >正文

一天一个开源项目(第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-toolkitagent-sdk-devcode-reviewhookifycommit-commands
  • 如何从零创建一个符合规范的 Claude Code 插件
  • 外部合作伙伴插件生态的现状与接入方式

前置知识

  • 使用过 Claude Code(了解 slash command 的基本操作)
  • 对 MCP(Model Context Protocol)有基本了解
  • 有兴趣构建自己的 Claude Code 扩展

项目背景

项目简介

claude-plugins-official 是 Anthropic 维护的官方插件注册表,服务于 Claude Code 的插件生态。它同时承担两个角色:

  1. 插件注册表:用户通过/plugin install <name>@claude-plugins-official安装插件
  2. 开发规范参考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用户输入提示词
stopClaude 准备停止回复
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的执行逻辑:

  1. 分析暂存/未暂存的变更
  2. 查看近期提交历史(匹配仓库风格)
  3. 暂存文件并创建包含 Claude Code attribution 的 commit message
  4. 自动跳过.envcredentials.json等敏感文件

/commit-push-pr的执行逻辑:

  1. 如果在main分支,自动创建新分支
  2. 提交变更
  3. Push 到origin
  4. 通过 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.md

plugin.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 插件,统一开发规范

总结与展望

核心要点回顾

插件生态层面

  1. 30+ 内部插件:覆盖 LSP(12种语言)、PR 评审、Git 工作流、代码质量、输出风格等核心开发场景
  2. 15 个外部插件:GitHub、Firebase、Linear、Terraform 等主流开发工具已接入
  3. 统一安装方式/plugin install <name>@claude-plugins-official一条命令搞定

插件规范层面

  1. 极简元数据plugin.json只需 name、description、author 三个字段
  2. 三种扩展方式:Skills(推荐)/ Commands(旧格式)/ MCP Servers(外部服务)
  3. 两种触发机制:用户主动调用 vs 模型根据上下文自动触发
  4. 安全提示始终在场:官方文档明确指出不对第三方插件的 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 在正确的上下文自动出现,而不是强迫用户记住命令。


欢迎来我的个人主页找到更多有用的知识和有趣的产品

http://www.jsqmd.com/news/854708/

相关文章:

  • 极为罕见!35米宽小行星近距离掠过地球
  • PR导出视频太大?教你调整【H.264编码】的【比特率设置】,文件缩小90%清晰度几乎不变
  • PPTXjs终极指南:3分钟学会在浏览器中完美预览PPTX文件
  • Docker Hello World
  • 从AngularJS到jQuery:盘点那些年我们绕过的前端框架XSS(含实战Payload)
  • LabelCloud点云标注工具实测:对比PCAT,它到底‘简单’在哪里?
  • 我发现了Claude Code里藏着的这个终极杀器
  • 【Perplexity数据验证黄金标准】:基于ISO/IEC 25010质量模型的6维可信度评估框架
  • 动态本体的“动态”
  • 告别环境配置烦恼:手把手教你搞定Qualcomm AI Engine Direct在Windows和Linux下的开发环境
  • 5分钟创建专属AI歌手:RVC语音克隆终极指南
  • RAG 系列(二十三):多模态 RAG——图片、表格也能检索
  • DeepSeek-R1 MoE架构逆向工程报告(基于HuggingFace源码+NCCL trace分析):专家粒度、FFN维度与token路由热力图首次披露
  • 保姆级排错指南:华为交换机Portal认证配置全通了,但用户就是弹不出页面?
  • 什么是好的辅助决策系统?
  • 构建企业级HTML到DOCX转换引擎:html-to-docx架构深度解析
  • 从Launcher到输入法:拆解Android 13窗口栈,看你的App窗口到底在第几层
  • 音乐解锁技术全解析:Unlock Music开源工具深度实践指南
  • 从与非门到CPU:拆解一个老式计算器,看CMOS芯片如何改变世界
  • 终极AI自瞄指南:5分钟搭建你的智能游戏辅助系统
  • 墨水屏高效开发:架构、开源库与实战优化指南
  • 全息智绘全域时空,无感定义空间未来——全域时空孪生与无感空间智能技术解析方案
  • 3个加速度+4个高度传感器:聊聊量产CDC悬架里最“抠门”的传感器方案
  • 免费本地语音识别的终极解决方案:3步实现完全离线实时语音转文字
  • 谷歌搜索过时了?AnySearch想建AI时代搜索的底层世界
  • ACAP架构解析:从FPGA到自适应计算,如何突破冯·诺依曼瓶颈
  • GitLab分支管理避坑指南:从‘摘樱桃’到高效协作,我的团队这样用Cherry-pick
  • 别再死磕原生OpenStack了!华为云Stack HCS 8.0的极简部署与高可用设计,真香!
  • 镜像视界(浙江)科技有限公司 数字孪生·视频孪生·无感定位 行业地位核心优势 专业白皮书文案
  • HDMI转RGB,一款单端口HDMI 1.4b接收器,专门用于将HDMI输入信号转换为并行RGB/TTL数字信号输出,最大支持4K@30Hz