一天一个开源项目(第106篇):Claude Plugins Official - Anthropic 官方 Claude Code 插件生态全解析

0 阅读12分钟

引言

"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 内部项目,各插件由不同工程师主导:

项目数据

  • ⭐ 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/plu…

主要功能

核心作用

claude-plugins-official 提供了一套标准化的方式来扩展 Claude Code 的能力:

Claude Code 原生能力
        ↓
  /plugin install <name>@claude-plugins-official
        ↓
  扩展后的 Claude Code
  ├── 新增 Slash Commands(用户主动调用)
  ├── 新增 Skills(模型自动触发)
  ├── 新增 Agents(专用任务代理)
  └── 新增 MCP 工具(外部服务集成)

快速开始

安装插件(命令行方式)

# 安装 PR 评审工具包
/plugin install pr-review-toolkit@claude-plugins-official

# 安装 Git 提交命令套件
/plugin install commit-commands@claude-plugins-official

# 安装 Agent SDK 开发工具
/plugin install agent-sdk-dev@claude-plugins-official

# 安装代码评审插件
/plugin install code-review@claude-plugins-official

# 安装 Hook 管理工具
/plugin install hookify@claude-plugins-official

安装插件(UI 方式)

在 Claude Code 中输入: /plugin
→ 点击 "Discover"
→ 浏览并安装所需插件

安装外部合作伙伴插件

# GitHub 集成
/plugin install github@claude-plugins-official

# Linear 项目管理集成
/plugin install linear@claude-plugins-official

# Firebase 集成
/plugin install firebase@claude-plugins-official

# Terraform 基础设施集成
/plugin install terraform@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 维度 110 评分)
code-reviewer         ← CLAUDE.md 合规性、风格、Bug(0100 评分)
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: bash
pattern: rm\s+-rf|dd\s+if=|mkfs|format
action: block

# 警告调试代码
event: file
pattern: console\.log\(|debugger;
action: warn

# 停止前要求运行测试
event: stop
action: block
conditions:
  - field: transcript
    operator: not_contains
    pattern: npm test|pytest|cargo test

# 防止 TypeScript 文件中硬编码 API Key
event: file
conditions:
  - field: file_path
    operator: regex_match
    pattern: \.tsx?$
  - field: new_text
    operator: regex_match
    pattern: (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-review
description: 当检测到安全相关代码时自动触发安全审查
version: 1.0.0
---

# 用户手动触发(成为 /skill-name 命令)
---
name: my-command
description: 短描述(显示在 /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 服务器如有使用需标注清楚
  • 不得包含恶意代码或未授权的数据采集
  • 功能需有实际价值,非重复轮子

项目地址与资源

官方资源

适用人群

  • 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 在正确的上下文自动出现,而不是强迫用户记住命令。


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