最近不少团队都在折腾 Claude Code,插件越攒越多,从顺手写几个 slash command,到塞满几十个 MCP 和 Skills,最后发现每个人本地的~/.claude目录结构都不一样,换台机器就废,新人入职配置半天。标题里说的“108 个 Claude Code 插件”,这就是典型的插件膨胀现场。与其每个插件单独散播,不如把它们看成一个完整的“插件包”,做好打包、Setup、Ship 三个环节,让整个团队用同一套配置。
这篇文章不打算逐个介绍那 108 个插件的名字,而是把“插件包怎么设计、怎么一键安装、怎么分发给团队”这件事讲透。你会看到 Claude Code 的插件机制包含哪些层级,团队级配置仓库应该长什么样,setup 脚本怎么写才能在 macOS 和 Windows 上都跑通,以及分发之后怎么验证、怎么排错。
1. Claude Code 插件体系核心能力速览
| 能力项 | 说明 |
|---|---|
| 项目类型 | 终端 AI 编程助手 Claude Code 的扩展机制与团队工程化方案 |
| 插件形态 | Slash Commands、Hooks、MCP Server、Skills、CLAUDE.md |
| 核心价值 | 统一团队提示词规范、共享工具链、降低新人上手成本 |
| 硬件门槛 | 无特殊 GPU 要求,属于 API 服务型工具 |
| 支持平台 | macOS / Linux / Windows(WSL 或 PowerShell) |
| 安装方式 | npm 全局安装@anthropic-ai/claude-code |
| 启动方式 | 终端输入claude进入交互式对话 |
| API/CLI 能力 | 支持非交互式调用,可在脚本里批量执行 |
| 分发方式 | Git 仓库 + setup.sh / setup.ps1 一键脚本 |
| 适合场景 | 中大型研发团队统一 AI 编码工具链,个人多设备配置同步 |
这里要先说明:Claude Code 本身不需要你准备显卡,它跑在终端里,通过 Anthropic API 或组织订阅完成模型推理,本地只负责编辑代码、执行命令和调用 MCP 工具。所以团队落地时,重点不在硬件,而在配置管理、权限控制和分发流程。
插件体系里,Slash Commands 是最容易上手的扩展方式,一个 Markdown 文件就能定义一个/review或/commit命令。Hooks 则用来在工具调用前后执行脚本,可以做安全拦截和日志审计。MCP Server 负责接入外部工具和数据源,比如内部文档、数据库、CI 系统。Skills 是更完整的技能包,一个 Skill 可以包含说明文件、脚本和依赖。把这四类东西统一放进一个 Git 仓库,就形成了团队插件包的基础。
2. 适用场景与使用边界
这套方案最适合已经稳定使用 Claude Code 的团队。如果团队里只有一两个人在用,还不值得搭完整的分发体系;一旦超过五个人,或者有多个项目并行开发,每个人手工粘贴配置的方式就会失控。插件包化之后,配置变更通过 Git 提交,团队成员一条命令完成同步,既能看到变更记录,又能回滚到上一个可用版本。
另一个典型场景是个人多设备同步。公司一台电脑、家里一台电脑,或者经常需要重装开发环境,把~/.claude变成由仓库驱动的状态,可以减少大量重复配置时间。仓库里不放密钥、不放私有代码片段,只放通用命令、公共提示词、MCP 接入说明和团队规范,就没有泄露风险。
但也要说清楚边界。插件包不应该是存放敏感信息的地方。任何涉及 token、API Key、内部域名、数据库连接串的配置,都应该走环境变量或密钥管理服务,而不是写进.claude目录提交到仓库。同样,团队共享 MCP Server 之前,必须审查这个服务器会读取哪些数据、执行哪些命令,不能为了效率把内部系统暴露给不可控的工具链。
从合规角度看,使用 Claude Code 和第三方插件时,要确认公司允许把代码片段发送给对应的模型服务,尤其涉及未公开产品、客户数据、金融医疗等敏感信息时,必须提前做安全评估。插件包的维护者也应该定期审查命令和脚本,防止有人夹带私货。
3. Claude Code 本地部署环境准备
3.1 前置环境检查
Claude Code 是一个 Node.js CLI 工具,安装前需要确认本机已有 Node.js 和 npm。建议 Node.js 版本保持在 18 以上,具体版本下限以官方文档为准。可以用下面命令快速检查:
node --version npm --version如果 npm 版本过旧,先升级 npm:
npm install -g npm@latest3.2 安装 Claude Code
最常见的安装方式是通过 npm 全局安装:
npm install -g @anthropic-ai/claude-code安装完成后,验证版本号:
claude --version如果输出正常的版本号,比如1.0.x或更高版本,说明安装成功。之后进入项目目录,输入claude就能启动交互式会话。
日常使用中可能需要更新版本,官方提供了更新命令:
claude update也可以直接用 npm 重新安装全局包来升级:
npm install -g @anthropic-ai/claude-code@latest3.3 安装失败的通用排查思路
npm 安装失败通常集中在网络超时、权限不足、Node 版本不兼容三类问题。网络超时可以尝试切换 npm 镜像源:
npm config set registry https://registry.npmmirror.com权限不足时,macOS/Linux 下不建议直接sudo npm install,更稳妥的做法是用 nvm 管理 Node.js,避免全局目录写入权限问题。Windows 下如果出现 EPERM 错误,检查是否以管理员身份打开了 PowerShell,或者确认 npm 全局路径配置正确。
将镜像源切换为 npmmirror 属于国内常见实践,可以帮助开发者在网络环境受限时顺利安装 npm 依赖。安装完成后,可以用npm config get registry查看当前源地址,确认是否切换成功。
4. Claude Code 插件目录结构与配置规范
4.1 用户级目录和项目级目录
Claude Code 的配置主要分布在两个位置。用户级目录是~/.claude,存放全局命令、Skills、用户级设置,作用于当前用户的所有项目。项目级目录是项目根目录下的.claude,存放项目专属命令和配置,跟随仓库走,团队协作时天然共享。两者叠加使用,全局配置放通用能力,项目配置放业务相关能力。
从团队分发角度,建议把用户级需要同步的内容全部放进一个配置仓库,也就是后面要讲的team-claude仓库。项目级.claude则跟随业务代码仓库,每个项目自己维护。
4.2 一个清晰的插件目录结构
团队插件仓库的推荐结构如下:
team-claude/ ├── README.md ├── setup.sh ├── setup.ps1 ├── scripts/ │ ├── guard_bash.py │ └── verify_setup.sh ├── .claude/ │ ├── settings.json │ ├── .mcp.json │ ├── commands/ │ │ ├── review.md │ │ ├── commit.md │ │ └── pr.md │ └── skills/ │ └── changelog-generator/ │ └── SKILL.md └── templates/ └── CLAUDE.md.example这个结构把命令、Skills、MCP 配置、Hooks 脚本、安装脚本分开管理。命令文件只写提示词和规则,不掺脚本逻辑;脚本统一放scripts/;.mcp.json只写 MCP Server 的启动方式,不写密钥。
4.3 Slash Commands 示例
Slash Command 就是一个 Markdown 文件,放在.claude/commands/目录下,文件名就是命令名。比如创建一个.claude/commands/review.md:
--- description: 按团队约定执行代码 Review --- 现在请你以资深 Reviewer 的身份,按以下清单审查本次改动: 1. 是否遵循团队 commit message 规范 2. 是否缺少边界条件处理 3. 是否引入了不必要的依赖 4. 测试是否有意义 如果发现问题,请按严重程度排序输出,并给出具体修改建议。保存后,在 Claude Code 中输入/review即可调用。团队要加新命令,只需要往这个目录里写一个 Markdown 文件,然后提交到配置仓库。
4.4 settings.json 与 Hooks
.claude/settings.json控制权限和 Hooks。权限部分可以限制 Claude Code 能自动执行的命令,比如只允许npm run build,禁止rm -rf。Hooks 部分可以在命令执行前运行一段脚本做校验。
{ "permissions": { "allow": [ "Bash(npm run build)" ], "deny": [ "Bash(rm -rf)" ] }, "hooks": { "PreToolUse": [ { "matcher": "Bash(.*)", "hooks": [ { "type": "command", "command": "python3 scripts/guard_bash.py" } ] } ] } }这个配置的意思很直接:允许 Claude Code 自动跑构建命令,禁止删除操作,同时所有 Bash 命令在执行前都会经过guard_bash.py检查。团队可以在这个脚本里维护关键词黑名单或命令白名单。
4.5 MCP 配置与 .mcp.json
MCP Server 用于扩展 Claude Code 的工具调用能力。项目级共享的 MCP 配置放在项目根目录的.mcp.json中,团队所有人都能使用同一个 MCP Server:
{ "mcpServers": { "internal-docs": { "command": "node", "args": ["path/to/mcp-server.js"] } } }这里只写启动命令和参数,不写密钥。需要密钥的 MCP Server,应该通过环境变量注入,并在 README 中说明环境变量的命名规则。
4.6 Skills 示例
Skills 是比 Slash Command 更完整的技能包,包含SKILL.md说明文件和可选脚本。目录结构如下:
.claude/skills/changelog-generator/SKILL.md .claude/skills/changelog-generator/scripts/generate.pySKILL.md的内容:
--- name: changelog-generator description: 根据 git log 生成团队要求的 CHANGELOG 格式 --- # Changelog Generator 当用户要求生成 changelog 时,按以下步骤执行: 1. 运行 git log --oneline -20 查看最近提交 2. 按 conventional commits 分类 3. 输出到 CHANGELOG.md5. 插件打包:把零散配置变成可分发产物
5.1 为什么要打包
团队里常见的做法是每个人都维护自己的~/.claude,互相之间复制粘贴配置文件,最终结果就是版本漂移。一个人改了/review命令,另一个人不知道;一个人加了新的 MCP Server,其余人毫无感知。打包动作的本质就是把分散的配置收敛到一个受版本控制的仓库,通过合并请求来管理变更。
5.2 打包步骤
第一步是收集现有配置。把所有团队成员本地的~/.claude/commands、~/.claude/skills、settings.json、MCP 配置统一汇总,去重合并后放入team-claude/.claude/目录。合并时要注意命令命名冲突,同样名称的 Slash Command 只能保留一个,避免互相覆盖。
第二步是抽象公共变量。配置中如果有不同成员之间不一致的路径、端口、用户名,全部替换成占位符,由 setup 脚本在安装时按本机环境填充。例如某台机器上 Python 路径是/usr/bin/python3,另一台是/opt/homebrew/bin/python3,就不应该硬编码进脚本。
第三步是编写 README。README 至少要写清楚三件事:这个仓库管什么、安装后有什么效果、怎么更新和回滚。不要把 README 写成长篇大论,重点是让新成员五分钟内能跑通 setup。
5.3 配置分层原则
打包时要区分三层配置。第一层是团队默认配置,存放在team-claude/.claude/settings.json,所有人安装后统一使用。第二层是项目覆盖配置,存放在具体业务项目的.claude中,只对该项目生效。第三层是用户个人覆盖配置,存放在本机~/.claude/settings.local.json或环境变量中,优先级最高。这种分层保证团队规范能落地,同时允许个人保留自己的工作习惯。
5.4 版本管理策略
插件包仓库建议使用语义化版本号,比如1.2.0。每次新增命令、修改 MCP 配置、调整权限,都提交一次变更并更新版本。setup 脚本可以记录当前安装的版本,方便后续对比线上版本和本地版本是否一致。回滚也很简单,切回上一个 Git tag,重新跑一次 setup 即可。
6. 团队分发:一键 Setup 与 Ship 流程
6.1 分发方式选择
团队分发插件包有三种常见方式。第一种是私有 Git 仓库直接分发,适合有内部 GitLab/Gitea 的团队,成员执行 clone 后跑 setup 脚本。第二种是压缩包分发,适合网络受限环境,把仓库打成 tar.gz 或 zip 包,放到内部文件服务器,成员下载后本地解压再跑 setup。第三种是通过 npm 私有包分发,把配置打包成 npm 包,成员用npm install安装,适合 Node.js 技术栈统一的团队。
不管哪种方式,setup 脚本都是入口。脚本要做的事情是固定的:检查 Claude Code 是否安装、备份现有配置、写入团队配置、输出验证信息。
6.2 macOS / Linux setup 脚本
在team-claude仓库根目录创建setup.sh:
#!/usr/bin/env bash set -euo pipefail TEAM_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" CLAUDE_HOME="$HOME/.claude" BACKUP_DIR="$HOME/.claude.backup.$(date +%Y%m%d%H%M%S)" echo "[1/4] 检查 Claude Code 是否已安装" if ! command -v claude >/dev/null 2>&1; then echo "未检测到 claude,尝试通过 npm 安装..." npm install -g @anthropic-ai/claude-code fi echo "[2/4] 备份现有 ~/.claude" if [ -d "$CLAUDE_HOME" ]; then mv "$CLAUDE_HOME" "$BACKUP_DIR" echo "已备份到 $BACKUP_DIR" fi echo "[3/4] 链接团队配置" mkdir -p "$CLAUDE_HOME" ln -sfn "$TEAM_DIR/.claude/commands" "$CLAUDE_HOME/commands" ln -sfn "$TEAM_DIR/.claude/skills" "$CLAUDE_HOME/skills" cp "$TEAM_DIR/.claude/settings.json" "$CLAUDE_HOME/settings.json" echo "[4/4] 验证" claude --version echo "setup 完成"执行方式:
chmod +x setup.sh ./setup.sh这个脚本用了符号链接,后续团队仓库更新时,成员只需要git pull,无需重新跑脚本就能同步命令和 Skills 的变化。
6.3 Windows PowerShell setup 脚本
Windows 用户通常使用 PowerShell。在team-claude仓库根目录创建setup.ps1:
# team-claude setup.ps1 # 在 PowerShell 中执行: .\setup.ps1 $TeamDir = Split-Path -Parent $MyInvocation.MyCommand.Path $ClaudeHome = Join-Path $HOME ".claude" $BackupDir = Join-Path $HOME (".claude.backup." + (Get-Date -Format "yyyyMMddHHmmss")) Write-Host "[1/4] 检查 Claude Code 是否已安装" if (-not (Get-Command claude -ErrorAction SilentlyContinue)) { Write-Host "未检测到 claude,尝试通过 npm 安装..." npm install -g @anthropic-ai/claude-code } Write-Host "[2/4] 备份现有 .claude" if (Test-Path $ClaudeHome) { Move-Item -Path $ClaudeHome -Destination $BackupDir Write-Host "已备份到 $BackupDir" } Write-Host "[3/4] 链接团队配置" New-Item -ItemType Directory -Path $ClaudeHome -Force | Out-Null New-Item -ItemType SymbolicLink -Path (Join-Path $ClaudeHome "commands") -Target (Join-Path $TeamDir ".claude\commands") -Force New-Item -ItemType SymbolicLink -Path (Join-Path $ClaudeHome "skills") -Target (Join-Path $TeamDir ".claude\skills") -Force Copy-Item -Path (Join-Path $TeamDir ".claude\settings.json") -Destination (Join-Path $ClaudeHome "settings.json") -Force Write-Host "[4/4] 验证" claude --version Write-Host "setup 完成"执行方式:
powershell -ExecutionPolicy Bypass -File .\setup.ps1Windows 下创建符号链接需要开发者模式或管理员权限,如果执行时报错,可以把脚本中的New-Item -ItemType SymbolicLink改成先删除旧目录、再Copy-Item复制的方式,避免权限问题。
6.4 项目级 MCP 配置下发
.claude用户级配置只负责命令和 Skills,项目级 MCP 配置需要复制到每个业务项目根目录。setup 脚本可以只复制一份.mcp.json模板到当前项目,由团队成员手动放置到对应仓库根目录。更好的做法是把.mcp.json提交到业务代码仓库,随代码一起评审、一起上线,这样 MCP 配置的变更就能在代码合并请求里体现。
6.5 更新机制
团队插件包要尽量让更新自动化。成员每天开始工作前执行一次git pull,或者由脚本检测远程仓库是否有新提交,有就提示更新。Claude Code 本身没有自动推送机制,所以要把“定期拉取配置仓库”写进团队约定。更省事的做法是写一个update.sh脚本,内部执行git pull && ./setup.sh,成员只需要敲一条命令。
7. 功能测试与效果验证
7.1 安装验证
setup 完成后,先确认 Claude Code 能正常启动:
claude --version然后确认插件目录正确链接:
ls -la ~/.claude正常情况下应该能看到commands、skills、settings.json这些条目。如果commands是一个符号链接,指向团队仓库的.claude/commands,说明链接成功。
7.2 命令加载验证
在项目目录启动 Claude Code:
claude在交互式输入框中输入/,正常情况下会出现仓库里定义的全部 Slash Commands,包括/review、/commit等。选择一个命令执行,如果 Claude 能按照命令内容给出回应,说明命令加载正常。
如果输入/看不到团队命令,优先检查两个位置:一是~/.claude/commands目录是否存在且包含.md文件,二是命令文件的文件名是否使用小写字母和短横线,避免特殊字符。
7.3 批量任务与 CLI 调用验证
Claude Code 支持非交互式调用,在脚本和 CI 中很实用。基本用法如下:
claude -p "请按团队规范生成 commit message"-p参数表示以打印模式执行,Claude Code 会在终端直接输出结果,不会进入交互界面。这很适合作为验证插件效果的自动化手段。更复杂的任务可以通过管道传入文本,或者让 Claude Code 读取文件内容后进行处理。具体参数以本机claude --help输出为准,不同版本可能略有差异。
一次简单的批量验证脚本如下:
#!/usr/bin/env bash set -uo pipefail echo "检查 claude 命令" command -v claude && claude --version || echo "claude 未安装" echo "检查团队命令文件" for cmd in "$HOME/.claude/commands/"*.md; do [ -f "$cmd" ] && echo "找到命令: $(basename "$cmd")" done echo "检查 skills" for skill in "$HOME/.claude/skills/"*/SKILL.md; do [ -f "$skill" ] && echo "找到 skill: $(dirname "$skill" | xargs basename)" done7.4 MCP 连通性验证
MCP Server 不是装好就能用,需要实际调用一次。最简单的方式是在 Claude Code 中问一个问题,比如“internal-docs 里有没有关于部署流程的文档”,看 Claude 是否能返回 MCP 工具调用的结果。如果 MCP 加载失败,Claude 会直接提示工具不可用,这时候去检查 MCP Server 的启动命令和路径是否正确。
7.5 回归测试思路
插件包更新后,应该做一轮回归测试。固定跑一遍核心命令,比如/review、/commit,看输出质量是否下降。再跑一遍批量 CLI 调用,确认非交互模式仍然可用。如果团队配置了 Hooks,还要验证 Hooks 是否正常工作,比如故意触发一个被禁止的命令,确认会被拦截。回归测试不需要很复杂,但一定要有固定步骤,避免更新后悄悄引入问题。
8. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
claude命令找不到 | Claude Code 未安装或全局路径未配置 | 运行claude --version | 重新执行npm install -g @anthropic-ai/claude-code |
| 安装依赖失败 | 网络超时或镜像源不可用 | 检查 npm 日志 | 切换 npm 镜像源后重试 |
输入/看不到团队命令 | ~/.claude/commands未正确链接 | 执行ls -la ~/.claude/commands | 重新运行 setup 脚本,确认符号链接指向正确 |
| 插件加载失败 | 插件目录结构不规范或文件路径错误 | 查看 Claude Code 启动日志 | 按.claude/commands/命令名.md结构规范命名 |
| 提示 “failed to load plugins” | 插件文件格式错误、脚本权限不足或依赖缺失 | 逐项检查插件的依赖命令是否可用 | 安装缺失依赖,修复文件格式,为脚本添加执行权限 |
| MCP Server 无法连接 | MCP 启动命令错误、端口被占用、依赖缺失 | 手工运行 MCP 启动命令看报错信息 | 修复参数、更换端口、补齐依赖 |
| 权限不足无法写入配置 | 用户目录或全局 npm 目录权限问题 | 检查~/.claude是否可写 | 修正目录权限,不使用sudo运行 npm 命令 |
| 批量调用很慢 | 单次调用等待时间过长或任务过多 | 先跑一个最小任务验证 | 控制并发数,拆分为小批量任务 |
| 提示组织已禁用订阅访问 | 组织策略限制 Claude Code 使用 | 联系管理员确认订阅状态 | 按组织规定申请权限或调整使用方式 |
| 输出质量不稳定 | 提示词描述不清晰或命令文件被多人改乱 | 检查命令文件历史记录 | 通过 Git 回滚到稳定版本,统一评审入口 |
setup.ps1创建符号链接失败 | Windows 未开启开发者模式或没有管理员权限 | 查看 PowerShell 报错信息 | 改用 Copy-Item 复制方式,或开启开发者模式 |
排查时的通用思路是:先看日志,再查环境,最后怀疑配置。Claude Code 启动时的输出信息非常关键,如果插件加载失败,通常会在启动阶段直接给出线索。命令行工具可以用claude --help查看调试相关参数,配合日志文件定位问题。
9. 最佳实践与合规建议
9.1 工程化实践
给准备长期运营团队插件包的团队几个建议。第一,插件仓库要当作正式代码仓库来管理,必须有 README、CHANGELOG、版本号,变更必须走合并请求。第二,脚本必须同时维护 macOS/Linux 和 Windows 两个版本,至少保证核心功能一致。第三,所有能自动化的验证都放进 CI,比如在 CI 中执行一次setup.sh,检查是否有明显的语法错误。
批量任务设计上,不要一次性让 Claude Code 处理几十个文件,容易超时或中断。建议把任务拆成小批次,每批处理少量文件,加上失败重试和结果记录。如果确实需要大量处理,可以用脚本循环调用 CLI,并将输出保持到日志文件,方便追踪。
9.2 安全与合规提醒
分发插件包时,安全是最容易出问题的环节。绝对不要把 API Key、token、密码写进配置仓库。.mcp.json、settings.json这些文件里不应该出现任何机密信息,统一通过环境变量注入。git 仓库即使设为私有,也不能假设永远不会泄露。
Hooks 脚本具有在开发者机器上执行命令的能力,必须严格审查。团队里任何成员提交的 Hooks 脚本都要经过代码评审,不允许出现下载远程代码并执行的模式。MCP Server 同样要审核,一个不可信的 MCP Server 相当于给 Claude Code 装上了不受控的外挂工具。
使用 Claude Code 处理代码时,要保证发送给模型服务的内容符合公司和客户的合规要求。涉及未公开的商业计划、客户个人数据、敏感技术方案时,先确认使用的服务条款和数据保留策略。发布和商用前对生成内容做人工复核,尤其是涉及人脸、声音、版权素材的相邻领域任务,更需要坚持这个原则。
9.3 降低维护成本
尽量让团队插件包保持精简。命令不是越多越好,每新增一个 Slash Command 都意味着后续有人维护。建议每季度做一次清理,删除使用率低的命令,合并功能重复的 Skills。配置仓库越小,新人上手越容易,团队排错成本也越低。
10. 总结
Claude Code 插件包工程化的核心就三件事:把配置收进 Git 仓库、用脚本统一安装、通过完善文档让团队所有人都能跑通。这篇教程给出了从目录结构、配置文件编写、setup 脚本到测试和排错的完整流程,标题里提到的 108 个插件,如果按这套方式组织起来,团队成员并不需要逐个了解,他们只需要知道一条命令和一个仓库地址。
最值得先做的事情是:打开本机~/.claude目录,把里面的自定义命令和 Skills 备份一份,然后照着本文的仓库结构搭一个最小可用的team-claude,先用两台机器验证 setup 流程,再逐步扩大到整个团队。最容易踩的坑是 Windows 机器的符号链接权限问题,以及 MCP 配置里硬编码路径导致的跨机器失效,这两点提前规避,后面会顺畅很多。