Skip to content

Claude Code Plugins 系統

Plugins 是 Claude Code 的擴充系統,可以打包 Commands、Agents、Skills、Hooks 和 MCP 設定,並透過單一指令安裝。

Plugin 概念

四種擴充方式

類型觸發方式說明
Commands使用者輸入 /commandSlash 指令,明確呼叫
SkillsAI 自動判斷Claude 根據情境決定是否使用
AgentsAI 自動呼叫或指令觸發專門化的子代理
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-commandsGit 工作流/commit/commit-push-pr/clean_gone
pr-review-toolkitPR 審查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-designUI 指導專業 UI 設計建議

進階工具

Plugin用途主要功能
plugin-devPlugin 開發/plugin-dev:create-plugin、7 個專家 skills
ralph-wiggum迭代迴圈/ralph-loop 自主迭代執行
agent-sdk-devAgent 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-code

Plugin 結構

目錄結構

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/agents

2. 建立 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 results

5. 測試 Plugin

bash
# 從本地安裝
/plugin install /path/to/my-plugin

# 測試 Command
/hello

# 檢查 Agent 是否被載入
/agents

轉換現有設定為 Plugin

如果你已經有 ~/.claude/ 中的自訂 commands 和 agents,可以轉換成 Plugin:

轉換步驟

  1. 建立 Plugin 目錄

    bash
    mkdir -p my-config-plugin/.claude-plugin
  2. 複製現有檔案

    bash
    cp -r ~/.claude/commands my-config-plugin/
    cp -r ~/.claude/agents my-config-plugin/
  3. 建立 plugin.json

    json
    {
      "name": "my-personal-config",
      "version": "1.0.0",
      "description": "My personal Claude Code configuration"
    }
  4. 測試

    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 callbacks

Claude 會在寫程式碼時自動應用此 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

  1. 建立 GitHub Repository
  2. 推送 Plugin 程式碼
  3. 分享安裝指令:
    /plugin install github:your-username/your-plugin

加入 Marketplace

  1. Fork Marketplace Repository
  2. 新增你的 Plugin 資訊
  3. 提交 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 安裝失敗

  1. 確認 plugin.json 格式正確
  2. 確認目錄結構符合規範
  3. 檢查 Claude Code 版本

Command 找不到

  1. 執行 /plugin list 確認已安裝
  2. 檢查 command 檔案名稱
  3. 重新啟動 Claude Code

Agent 未被呼叫

  1. 確認 Agent 的 description 描述清楚
  2. 檢查 Agent 檔案格式
  3. 嘗試明確呼叫

參考資源

下一步

AI 時代的軟體工程工作坊教學手冊