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

概述

擴展插入代理迴圈的不同部分:
  • CLAUDE.md 添加 Claude 在每個會話中看到的持久上下文
  • Skills 添加可重複使用的知識和可調用的工作流程
  • MCP 將 Claude 連接到外部服務和工具
  • Subagents 在隔離的上下文中運行自己的迴圈,返回摘要
  • Agent teams 協調多個獨立會話,具有共享任務和點對點訊息傳遞
  • Hooks 完全在迴圈外運行作為確定性指令碼
  • Pluginsmarketplaces 打包和分發這些功能
Skills是最靈活的擴展。Skill 是一個包含知識、工作流程或指令的 markdown 檔案。您可以使用像 /deploy 這樣的命令調用 skills,或者 Claude 可以在相關時自動載入它們。Skills 可以在您目前的對話中運行,或通過 subagents 在隔離的上下文中運行。

將功能與您的目標相匹配

功能範圍從 Claude 在每個會話中看到的始終開啟的上下文,到您或 Claude 可以調用的按需功能,再到在特定事件上運行的背景自動化。下表顯示了可用的功能以及何時使用每一個。
功能它的作用何時使用範例
CLAUDE.md每次對話載入的持久上下文專案約定、「始終執行 X」規則「使用 pnpm,而不是 npm。在提交前運行測試。」
SkillClaude 可以使用的指令、知識和工作流程可重複使用的內容、參考文件、可重複的任務/deploy 運行您的部署檢查清單;包含端點模式的 API 文件 skill
Subagent返回摘要結果的隔離執行上下文上下文隔離、並行任務、專門的工作者讀取許多檔案但僅返回關鍵發現的研究任務
Agent teams協調多個獨立的 Claude Code 會話並行研究、新功能開發、使用競爭假設進行除錯生成審查者以同時檢查安全性、效能和測試
MCP連接到外部服務外部資料或操作查詢您的資料庫、發佈到 Slack、控制瀏覽器
Hook在事件上運行的確定性指令碼可預測的自動化,不涉及 LLM在每次檔案編輯後運行 ESLint
Plugins 是打包層。Plugin 將 skills、hooks、subagents 和 MCP servers 捆綁到單個可安裝單元中。Plugin skills 是命名空間的(如 /my-plugin:review),因此多個 plugins 可以共存。當您想在多個儲存庫中重複使用相同的設置或通過 marketplace 分發給他人時,使用 plugins。

比較相似的功能

某些功能可能看起來相似。以下是如何區分它們。
Skills 和 subagents 解決不同的問題:
  • Skills 是可重複使用的內容,您可以將其載入任何上下文
  • Subagents 是與您的主要對話分開運行的隔離工作者
方面SkillSubagent
它是什麼可重複使用的指令、知識或工作流程具有自己上下文的隔離工作者
主要優勢在上下文之間共享內容上下文隔離。工作單獨進行,僅返回摘要
最適合參考資料、可調用的工作流程讀取許多檔案的任務、並行工作、專門的工作者
Skills 可以是參考或操作。 參考 skills 提供 Claude 在整個會話中使用的知識(如您的 API 風格指南)。操作 skills 告訴 Claude 執行特定操作(如運行您的部署工作流程的 /deploy)。當您需要上下文隔離或您的上下文視窗變滿時,使用 subagent。Subagent 可能讀取數十個檔案或運行廣泛的搜尋,但您的主要對話僅接收摘要。由於 subagent 工作不消耗您的主要上下文,當您不需要中間工作保持可見時,這也很有用。自訂 subagents 可以有自己的指令,並可以預載 skills。它們可以結合。 Subagent 可以預載特定 skills(skills: 欄位)。Skill 可以使用 context: fork 在隔離的上下文中運行。有關詳細資訊,請參閱 Skills

了解功能如何分層

功能可以在多個級別定義:使用者範圍、每個專案、通過 plugins,或通過受管理的策略。您也可以在子目錄中嵌套 CLAUDE.md 檔案,或在 monorepo 的特定套件中放置 skills。當相同的功能存在於多個級別時,以下是它們的分層方式:
  • CLAUDE.md 檔案 是累加的:所有級別同時對 Claude 的上下文貢獻內容。來自您的工作目錄及以上的檔案在啟動時載入;子目錄在您在其中工作時載入。當指令衝突時,Claude 使用判斷來協調它們,更具體的指令通常優先。請參閱 CLAUDE.md 檔案如何載入
  • Skills 和 subagents 按名稱覆蓋:當相同名稱存在於多個級別時,一個定義根據優先級獲勝(skills 為受管理 > 使用者 > 專案;subagents 為受管理 > CLI 標誌 > 專案 > 使用者 > plugin)。Plugin skills 是命名空間的,以避免衝突。請參閱 skill 發現subagent 範圍
  • MCP 伺服器 按名稱覆蓋:本地 > 專案 > 使用者。請參閱 MCP 範圍
  • Hooks 合併:所有註冊的 hooks 為其匹配事件觸發,無論來源如何。請參閱 hooks

結合功能

每個擴展解決不同的問題:CLAUDE.md 處理始終開啟的上下文,skills 處理按需知識和工作流程,MCP 處理外部連接,subagents 處理隔離,hooks 處理自動化。真實的設置根據您的工作流程結合它們。 例如,您可能使用 CLAUDE.md 用於專案約定、skill 用於您的部署工作流程、MCP 用於連接到您的資料庫,以及 hook 用於在每次編輯後運行 linting。每個功能處理它最擅長的事情。
模式它如何運作範例
Skill + MCPMCP 提供連接;skill 教導 Claude 如何很好地使用它MCP 連接到您的資料庫,skill 記錄您的架構和查詢模式
Skill + SubagentSkill 生成 subagents 進行並行工作/audit skill 啟動在隔離上下文中工作的安全性、效能和風格 subagents
CLAUDE.md + SkillsCLAUDE.md 保持始終開啟的規則;skills 保持按需載入的參考資料CLAUDE.md 說’遵循我們的 API 約定’,skill 包含完整的 API 風格指南
Hook + MCPHook 通過 MCP 觸發外部操作編輯後 hook 在 Claude 修改關鍵檔案時發送 Slack 通知

了解上下文成本

您添加的每個功能都消耗 Claude 的一些上下文。太多可能會填滿您的上下文視窗,但它也可能添加噪聲,使 Claude 效率降低;skills 可能無法正確觸發,或 Claude 可能會失去對您的約定的追蹤。了解這些權衡有助於您構建有效的設置。

按功能的上下文成本

每個功能都有不同的載入策略和上下文成本:
功能何時載入什麼載入上下文成本
CLAUDE.md會話開始完整內容每個請求
Skills會話開始 + 使用時啟動時的描述,使用時的完整內容低(每個請求的描述)*
MCP 伺服器會話開始所有工具定義和架構每個請求
Subagents生成時具有指定 skills 的新鮮上下文與主會話隔離
Hooks觸發時無(外部運行)零,除非 hook 返回額外上下文
*預設情況下,skill 描述在會話開始時載入,以便 Claude 決定何時使用它們。在 skill 的 frontmatter 中設置 disable-model-invocation: true 以將其完全隱藏在 Claude 中,直到您手動調用它。這將 skills 的上下文成本降低到零,您只需自己觸發這些 skills。

了解功能如何載入

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

了解更多

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

CLAUDE.md

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

Skills

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

Subagents

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

Agent teams

協調多個並行工作的會話

MCP

將 Claude 連接到外部服務

Hooks

使用 hooks 自動化工作流程

Plugins

捆綁和共享功能集

Marketplaces

託管和分發 plugin 集合