主題
Claude Code Plugins 系統
Plugins 是 Claude Code 的擴充系統,可以打包 Commands、Agents、Skills、Hooks 和 MCP 設定,並透過單一指令安裝。
Plugin 概念
四種擴充方式
| 類型 | 觸發方式 | 說明 |
|---|---|---|
| Commands | 使用者輸入 /command | Slash 指令,明確呼叫 |
| Skills | AI 自動判斷 | Claude 根據情境決定是否使用 |
| Agents | AI 自動呼叫或指令觸發 | 專門化的子代理 |
| Hooks | 系統事件觸發 | 自動化腳本 |
Commands = 你主動呼叫
Skills = Claude 自動使用
Agents = 專門任務委派
Hooks = 事件自動觸發安裝 Plugin
從 Marketplace 安裝
bash
# 步驟 1:新增 Marketplace
/plugin marketplace add anthropics/claude-code
# 步驟 2:安裝 Plugin
/plugin install code-review@anthropics/claude-code從 GitHub 安裝
bash
/plugin install github:username/repo-name從本地安裝
bash
/plugin install /path/to/plugin-directory列出已安裝的 Plugin
bash
/plugin list移除 Plugin
bash
/plugin uninstall plugin-name官方 Plugins
Anthropic 官方提供的 Plugins(位於 anthropics/claude-code):
開發工具
| Plugin | 用途 | 主要功能 |
|---|---|---|
| code-review | 程式碼審查 | 5 個並行 Sonnet agents 進行全面審查 |
| feature-dev | 功能開發 | 7 階段工作流程:探索、架構、實作、審查 |
| commit-commands | Git 工作流 | /commit、/commit-push-pr、/clean_gone |
| pr-review-toolkit | PR 審查 | 6 個專門 agents(comments、tests、errors、types) |
安全與品質
| Plugin | 用途 | 主要功能 |
|---|---|---|
| security-guidance | 安全監控 | PreToolUse hook 偵測 injection、XSS、eval |
| hookify | 自訂 Hook | /hookify 建立防護 hook |
開發體驗
| Plugin | 用途 | 主要功能 |
|---|---|---|
| explanatory-output-style | 教學模式 | 詳細解釋每個步驟 |
| learning-output-style | 學習模式 | 互動式學習,鼓勵參與 |
| frontend-design | UI 指導 | 專業 UI 設計建議 |
進階工具
| Plugin | 用途 | 主要功能 |
|---|---|---|
| plugin-dev | Plugin 開發 | /plugin-dev:create-plugin、7 個專家 skills |
| ralph-wiggum | 迭代迴圈 | /ralph-loop 自主迭代執行 |
| agent-sdk-dev | Agent SDK | /new-sdk-app、SDK 驗證 |
社群 Marketplaces
熱門 Marketplaces
bash
# Claudebase Marketplace - 24 skills + 14 agents + 21 commands
/plugin marketplace add claudebase/marketplace
# LSP Plugins - 語言伺服器整合
/plugin marketplace add boostvolt/claude-code-lsps
# Community Plugins
/plugin marketplace add claude-plugins/registry探索 Plugins
bash
# 搜尋 Marketplace 中的 Plugins
/plugin search code-review
# 查看 Plugin 詳情
/plugin info code-review@anthropics/claude-codePlugin 結構
目錄結構
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin 元資料(必要)
├── commands/ # Slash 指令
│ └── my-command.md
├── agents/ # 專門化 Agents
│ └── my-agent.md
├── skills/ # AI Skills
│ └── my-skill.md
├── hooks/ # 事件 Hooks
│ └── settings.json
├── .mcp.json # MCP 設定
└── README.md # 說明文件plugin.json 格式
json
{
"name": "my-awesome-plugin",
"version": "1.0.0",
"description": "A plugin that does awesome things",
"author": "Your Name",
"homepage": "https://github.com/you/my-awesome-plugin",
"keywords": ["productivity", "automation"],
"claude-code": {
"minVersion": "2.0.0"
}
}建立自己的 Plugin
方法 1:使用 Plugin Dev 工具
bash
# 安裝 plugin-dev
/plugin install plugin-dev@anthropics/claude-code
# 建立新 Plugin
/plugin-dev:create-plugin方法 2:手動建立
1. 建立目錄結構
bash
mkdir -p my-plugin/.claude-plugin
mkdir -p my-plugin/commands
mkdir -p my-plugin/agents2. 建立 plugin.json
json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "My custom plugin"
}3. 新增 Command
建立 my-plugin/commands/hello.md:
markdown
Say hello to the user in a friendly way.
Include the current date and time.4. 新增 Agent
建立 my-plugin/agents/helper.md:
markdown
---
description: A helpful assistant for general tasks
---
You are a helpful assistant. When called upon:
1. Understand the user's request
2. Break it down into steps
3. Execute each step carefully
4. Report the results5. 測試 Plugin
bash
# 從本地安裝
/plugin install /path/to/my-plugin
# 測試 Command
/hello
# 檢查 Agent 是否被載入
/agents轉換現有設定為 Plugin
如果你已經有 ~/.claude/ 中的自訂 commands 和 agents,可以轉換成 Plugin:
轉換步驟
建立 Plugin 目錄
bashmkdir -p my-config-plugin/.claude-plugin複製現有檔案
bashcp -r ~/.claude/commands my-config-plugin/ cp -r ~/.claude/agents my-config-plugin/建立 plugin.json
json{ "name": "my-personal-config", "version": "1.0.0", "description": "My personal Claude Code configuration" }測試
bash/plugin install /path/to/my-config-plugin
注意
Plugin 目錄結構中,commands/、agents/、skills/、hooks/ 必須在 Plugin 根目錄,不是在 .claude-plugin/ 裡面。
Skills vs Commands
Commands(使用者觸發)
markdown
# commands/format.md
Format the current file using prettier.
Run: npx prettier --write {current_file}使用:/format
Skills(AI 觸發)
markdown
# skills/code-style.md
---
description: Ensures code follows project style guidelines
---
When writing or editing code:
1. Use 2-space indentation
2. Prefer const over let
3. Use arrow functions for callbacksClaude 會在寫程式碼時自動應用此 Skill。
Hooks 整合
Plugin 可以包含 Hooks 設定:
json
// hooks/settings.json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "echo 'File modified'"
}
]
}
]
}
}MCP 整合
Plugin 可以包含 MCP Server 設定:
json
// .mcp.json
{
"mcpServers": {
"my-tool": {
"command": "npx",
"args": ["-y", "my-mcp-server"]
}
}
}發布 Plugin
發布到 GitHub
- 建立 GitHub Repository
- 推送 Plugin 程式碼
- 分享安裝指令:
/plugin install github:your-username/your-plugin
加入 Marketplace
- Fork Marketplace Repository
- 新增你的 Plugin 資訊
- 提交 Pull Request
最佳實踐
1. 命名規範
- Plugin 名稱使用
kebab-case - Command 名稱簡短有意義
- Agent 名稱描述其功能
2. 版本控制
json
{
"version": "1.0.0",
"claude-code": {
"minVersion": "2.0.0"
}
}3. 文件完整
- 包含 README.md
- 說明每個 Command 的用途
- 提供使用範例
4. 模組化設計
- 單一職責:一個 Plugin 專注一個領域
- 可組合:Plugin 之間可以搭配使用
故障排除
Plugin 安裝失敗
- 確認 plugin.json 格式正確
- 確認目錄結構符合規範
- 檢查 Claude Code 版本
Command 找不到
- 執行
/plugin list確認已安裝 - 檢查 command 檔案名稱
- 重新啟動 Claude Code
Agent 未被呼叫
- 確認 Agent 的
description描述清楚 - 檢查 Agent 檔案格式
- 嘗試明確呼叫