有關核心代理迴圈如何運作的資訊,請參閱Claude Code 如何運作。
概述
擴展插入代理迴圈的不同部分:- 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 打包和分發這些功能
/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
- CLAUDE.md 與 Skill
- CLAUDE.md 與輸出風格
- CLAUDE.md、規則與 Skill
- Subagent 與動態工作流程
- MCP 與 Skill
- Hook 與 Skill
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
- Skills
- MCP 伺服器
- Code intelligence
- Subagents
- Hooks
何時: 會話開始什麼載入: 所有 CLAUDE.md 檔案的完整內容(受管理、使用者和專案級別)。繼承: Claude 從您的工作目錄讀取 CLAUDE.md 檔案直到根目錄,並在訪問這些檔案時在子目錄中發現嵌套的檔案。有關詳細資訊,請參閱 CLAUDE.md 檔案如何載入。
了解更多
每個功能都有自己的指南,包含設置指令、範例和配置選項。CLAUDE.md
存儲專案上下文、約定和指令
Skills
給予 Claude 領域專業知識和可重複使用的工作流程
Subagents
將工作卸載到隔離的上下文
Dynamic workflows
從一個指令碼執行許多 subagents
Cross-session messaging
讓 Claude 向您的其他工作階段傳送訊息
MCP
將 Claude 連接到外部服務
Hooks
使用 hooks 自動化動作
Plugins
捆綁和共享功能集
Marketplaces
託管和分發 plugin 集合