Skip to main content
Claude Code 結合了一個能夠推理您程式碼的模型與內建工具,用於檔案操作、搜尋、執行和網路存取。內建工具涵蓋了大多數編碼任務。本指南涵蓋擴展層:您添加的功能,用於自訂 Claude 的知識、將其連接到外部服務,以及自動化工作流程。
有關核心代理迴圈如何運作的資訊,請參閱Claude Code 如何運作。
初次使用 Claude Code? 從CLAUDE.md開始了解專案約定,然後根據特定觸發器添加其他擴展如下所示。

概述

擴展插入代理迴圈的不同部分:
  • CLAUDE.md 添加 Claude 在每個會話中看到的持久上下文
  • Output styles 為會話中的每個回應設定 Claude 的角色、語調和回應格式
  • Skills 添加可重複使用的知識和可調用的工作流程
  • Code intelligence 將 Claude 連接到語言伺服器以進行符號級導航和即時類型錯誤
  • MCP 將 Claude 連接到外部服務和工具
  • Subagents 在隔離的上下文中運行自己的迴圈,返回摘要
  • Dynamic workflows 從 Claude 編寫的指令碼運行許多 subagents,返回一個結果
  • Cross-session messaging 讓 Claude 將訊息從您的一個會話傳遞到另一個會話
  • Hooks 在 Claude Code 達到生命週期事件時運行您的指令碼、HTTP 請求、MCP 工具呼叫、提示或 subagent
  • Plugins 和 marketplaces 打包和分發這些功能
Skills 是最靈活的擴展。Skill 是一個包含知識、工作流程或指令的 markdown 檔案。您可以使用像 /deploy 這樣的命令調用 skills,或者 Claude 可以在相關時自動載入它們。Skills 可以在您目前的對話中運行,或通過 subagents 在隔離的上下文中運行。

依目標選擇功能

各項功能涵蓋範圍廣泛,從 Claude 每個工作階段都會看到的常駐上下文,到您或 Claude 可以叫用的隨選功能,再到在特定事件發生時執行的背景自動化。下表列出可用的功能以及各自適用的時機。 **外掛**是封裝層。外掛會將 skill、hook、subagent 與 MCP 伺服器組合成單一可安裝的單元。外掛 skill 具有命名空間(例如 /my-plugin:review),因此多個外掛可以並存。當您想在多個儲存庫中重複使用相同的設定,或透過 市集 散布給其他人時,請使用外掛。

逐步建立您的設定

您不需要一開始就設定好所有內容。每項功能都有可辨識的觸發時機,大多數團隊大致依照以下順序加入: 同樣的觸發時機也能告訴您何時該更新現有的設定。反覆出現的錯誤或一再出現的審查意見,應該編輯 CLAUDE.md,而不是在聊天中進行一次性的修正。您一直手動調整的工作流程,代表這個 skill 需要再修訂一次。

比較相似的功能

有些功能看起來可能很相似。如需更深入了解如何在它們之間做選擇,請參閱部落格上的 Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents。以下說明如何區分它們。
Skill 與 subagent 解決的是不同的問題:
  • Skill 是可以載入到任何上下文中的可重複使用內容
  • Subagent 是與主要對話分開執行的隔離工作者
Skill 可以是參考型或動作型。 參考型 skill 提供 Claude 在整個工作階段中使用的知識(例如您的 API 風格指南)。動作型 skill 則告訴 Claude 執行特定的事情(例如執行部署工作流程的 /deploy)。使用 subagent 的時機是需要上下文隔離,或上下文視窗即將填滿時。Subagent 可能會讀取數十個檔案或執行大量搜尋,但主要對話只會收到摘要。由於 subagent 的工作不會消耗主要上下文,當您不需要讓中間過程保持可見時,這也很有用。自訂 subagent 可以擁有自己的指令,並可預先載入 skill。兩者可以結合。 Subagent 可以預先載入特定的 skill(skills: 欄位)。Skill 可以使用 context: fork 在隔離的上下文中執行。詳情請參閱 Skill。

了解功能如何分層

功能可以在多個層級定義:整個使用者、個別專案、透過外掛,或透過受管理的政策。您也可以在子目錄中巢狀放置 CLAUDE.md 檔案,或將 skill 放在 monorepo 的特定套件中。當同一功能存在於多個層級時,分層方式如下:
  • CLAUDE.md 檔案是累加的:所有層級會同時將內容提供給 Claude 的上下文。來自工作目錄及其上層目錄的檔案會在啟動時載入;子目錄的檔案則在您於其中工作時載入。當指令互相衝突時,Claude 會自行判斷如何調和。請參閱 CLAUDE.md 檔案的載入方式。
  • Skill 與 subagent 依名稱覆寫:當同一名稱存在於多個層級時,會依優先順序由其中一個定義勝出(skill 為 managed > user > project;subagent 為 managed > CLI 旗標 > project > user > plugin)。外掛 skill 具有命名空間以避免衝突。請參閱 skill 探索與 subagent 範圍。
  • MCP 伺服器依名稱覆寫:local > project > user。請參閱 MCP 範圍。
  • Hook 會合併:所有已註冊的 hook 都會在其相符事件發生時觸發,無論來源為何。請參閱 hook。

結合功能

每種擴充功能解決不同的問題:CLAUDE.md 處理常駐上下文,skill 處理隨選的知識與工作流程,MCP 處理外部連線,subagent 處理隔離,hook 則處理自動化。實際的設定會依您的工作流程將它們結合使用。 例如,您可以使用 CLAUDE.md 存放專案慣例、使用 skill 處理部署工作流程、使用 MCP 連接資料庫,並使用 hook 在每次編輯後執行 lint。每項功能都處理自己最擅長的部分。

了解上下文成本

您添加的每個功能都消耗 Claude 的一些上下文。太多可能會填滿您的上下文視窗,但它也可能添加噪聲,使 Claude 效率降低;skills 可能無法正確觸發,或 Claude 可能會失去對您的約定的追蹤。了解這些權衡有助於您構建有效的設置。有關這些功能如何在運行會話中結合的互動式視圖,請參閱探索上下文視窗。

按功能的上下文成本

每個功能都有不同的載入策略和上下文成本: *在 skill 的 frontmatter 中設定 disable-model-invocation: true,以將其描述排除在 Claude 的上下文之外。對於您未編寫的 skill,在設定中設定 skillOverrides 以執行相同操作,而無需編輯其檔案。

了解功能如何載入

每個功能在您的會話中的不同點載入。下面的選項卡說明每個功能何時載入以及什麼進入上下文。 上下文載入:CLAUDE.md 在會話開始時載入並保留在每個請求中。MCP 工具名稱在啟動時載入,完整架構延遲到使用。Skills 在啟動時載入描述,在調用時載入完整內容。Subagents 獲得隔離的上下文。Hooks 外部運行。 上下文載入:CLAUDE.md 在會話開始時載入並保留在每個請求中。MCP 工具名稱在啟動時載入,完整架構延遲到使用。Skills 在啟動時載入描述,在調用時載入完整內容。Subagents 獲得隔離的上下文。Hooks 外部運行。
何時: 會話開始什麼載入: 所有 CLAUDE.md 檔案的完整內容(受管理、使用者和專案級別)。繼承: Claude 從您的工作目錄讀取 CLAUDE.md 檔案直到根目錄,並在訪問這些檔案時在子目錄中發現嵌套的檔案。有關詳細資訊,請參閱 CLAUDE.md 檔案如何載入。
保持 CLAUDE.md 在 200 行以下。將參考資料移動到 skills,它們按需載入。若要取得已簽入 CLAUDE.md 的修剪建議,請執行 /doctor。

了解更多

每個功能都有自己的指南,包含設置指令、範例和配置選項。

CLAUDE.md

存儲專案上下文、約定和指令

Skills

給予 Claude 領域專業知識和可重複使用的工作流程

Subagents

將工作卸載到隔離的上下文

Dynamic workflows

從一個指令碼執行許多 subagents

Cross-session messaging

讓 Claude 向您的其他工作階段傳送訊息

MCP

將 Claude 連接到外部服務

Hooks

使用 hooks 自動化動作

Plugins

捆綁和共享功能集

Marketplaces

託管和分發 plugin 集合