本文根據 Claude Code 官方文檔《Extend Claude Code》整理,資料核對於 2026-10-11。各項功能的具體配置見文末的站內教學連結。
適用於誰
- 搜「skill 和 mcp 區別」「agent skills mcp 區別」「skill 和 subagent 的區別」的人;
- 聽說了 Skill、MCP、子代理、Hook、插件一堆名詞,不知道自己的需求該用哪個的人;
- 把所有規矩都塞進 CLAUDE.md,文件越來越長的人。
結論先說
一句話區分:
| 擴展 | 一句話 | 典型例子 |
|---|---|---|
| CLAUDE.md | 每次會話都加載的常駐說明 | 「用 pnpm 不用 npm;提交前跑測試」 |
| Skill | 需要時才加載的知識和流程 | /deploy 部署清單;接口風格指南 |
| MCP | 連接外部服務,提供工具和數據 | 查數據庫、發 Slack、操作瀏覽器 |
| 子代理 | 在獨立上下文裏幹活,只把總結帶回來 | 讀幾十個文件的調研任務 |
| Hook | 到某個事件就必定執行的自動化 | 每次改文件後跑 ESLint |
| 插件 | 把上面這些打包分發 | 一個包裏帶 Skill、Hook、子代理和 MCP |
最常被問的那一組,官方的說法是:MCP 把 Claude 連到外部服務;Skill 擴展 Claude 知道的東西,包括怎麼把那些服務用好。 兩者解決的是不同的問題,可以一起用。
一、Skill 和 MCP
| MCP | Skill | |
|---|---|---|
| 是什麼 | 連接外部服務的協議 | 知識、流程和參考資料 |
| 提供 | 工具和數據訪問 | 做事的方法 |
| 例子 | Slack 集成、數據庫查詢、瀏覽器控制 | 代碼審查清單、部署流程、接口風格指南 |
判斷方法:
- Claude 夠不着某個系統(看不到你的工單、查不了你的庫),需要的是 MCP;
- Claude 夠得着,但不知道你們怎麼做(表結構是什麼、消息要按什麼格式發),需要的是 Skill。
官方舉的組合例子:MCP 負責連上數據庫,Skill 裏寫你們團隊的表結構和常用查詢寫法;或者做一個 /post-to-slack 流程,裏面是團隊的消息格式規定。
MCP 的入門見《MCP 是什麼》,配置見《Claude Code MCP 配置教學》。
二、Skill 和子代理
| Skill | 子代理 | |
|---|---|---|
| 是什麼 | 可複用的說明、知識或流程 | 有自己上下文的獨立工作者 |
| 主要好處 | 同一份內容可以在不同場合加載 | 上下文隔離:過程在別處發生,只返回總結 |
| 對上下文的影響 | 加進你的主對話 | 用單獨的窗口,有自己的輸入輸出 |
| 適合 | 參考資料、可調用的流程 | 要讀很多文件的任務、並行工作、專門角色 |
官方把 Skill 分成兩種:參考型(整個會話裏隨時參考的知識,如接口規範)和動作型(讓 Claude 做一件具體的事,如 /deploy)。
什麼時候用子代理:需要隔離上下文,或者主對話的上下文快滿了。子代理可能讀了幾十個文件、做了大量搜尋,主對話只收到一段總結。
兩者可以互相嵌套:
- 子代理的
skills:字段可以預加載指定的 Skill; - Skill 的 frontmatter 寫
context: fork,就會在隔離的子代理裏運行。官方提醒這隻適合帶明確任務的 Skill,純粹是規範說明的 Skill 分出去運行得不到有用的結果。
子代理的寫法見《Claude Code 子代理》。
三、Skill 和 CLAUDE.md
| CLAUDE.md | Skill | |
|---|---|---|
| 何時加載 | 每次會話,自動 | 按需 |
| 能否觸發流程 | 不能 | 能,用 /名稱 |
| 適合 | 「總是這樣做」的規則 | 參考資料、可調用的流程 |
- Claude 任何時候都該知道的,放 CLAUDE.md:編碼規範、構建命令、項目結構、「絕不要做某事」;
- 有時才需要的參考資料,或者要用命令觸發的流程,放 Skill。
官方的經驗值:CLAUDE.md 保持在 200 行以內。超了就把參考性的內容挪進 Skill,或者拆到 .claude/rules/ 裏。rules 可以用 paths 限定只在處理匹配的文件時才加載。
CLAUDE.md 的寫法見《CLAUDE.md 與 AGENTS.md 怎麼寫》。
四、Skill 和 Hook
| Hook | Skill | |
|---|---|---|
| 運行的是 | 腳本、HTTP 請求、MCP 工具調用、提示詞或子代理 | Claude 讀了之後照做的說明 |
| 由什麼觸發 | 生命週期事件,如 PostToolUse、SessionStart | 你輸入 /名稱,或 Claude 把描述和任務對上了 |
| 確定性 | 事件發生就一定執行 | Claude 來理解和執行,結果可能有出入 |
| 上下文開銷 | 零,除非 Hook 返回了輸出 | 描述每次會話都在,全文用時加載 |
| 適合 | 改完自動格式化、攔截危險命令、日誌、通知 | 需要推理的流程、參考資料、多步任務 |
官方有一句很關鍵的話:寫在 CLAUDE.md 或 Skill 裏的「絕不要改 .env」是一個請求,不是保證;用 PreToolUse Hook 把這次修改攔下來,才是強制。必須每次都成立的規則,做成 Hook。
Hook 的寫法見《Claude Code Hooks》。
五、插件是什麼關係
插件是打包層:把 Skill、Hook、子代理和 MCP 伺服器裝進一個可以安裝的單元。插件裏的 Skill 帶命名空間(如 /my-plugin:review),多個插件可以並存。
什麼時候需要:同一套配置要在多個倉庫裏複用,或者要通過市場分發給別人。只在一個項目裏自己用,直接放 .claude/ 目錄就夠了。詳見《Claude Code 插件與插件市場》。
六、各自佔多少上下文
裝得越多,佔的上下文越多;官方提醒過量不僅佔空間,還會帶來噪聲,讓 Skill 觸發不準、讓 Claude 記不住你的約定。
| 擴展 | 何時加載 | 加載什麼 | 上下文開銷 |
|---|---|---|---|
| CLAUDE.md | 會話開始 | 全文 | 每次請求都在 |
| Skill | 會話開始 + 使用時 | 開始時只有描述,使用時加載全文 | 低(描述每次請求都在) |
| MCP 伺服器 | 會話開始 | 工具名稱;完整的參數定義用到時才加載 | 工具被使用前很低 |
| 子代理 | 被派出時 | 全新的獨立上下文 | 與主會話隔離 |
| Hook | 觸發時 | 預設不加載任何內容 | 零,除非返回了額外內容 |
兩個省上下文的官方提示:
- 有副作用的 Skill 設
disable-model-invocation: true,它的描述就不進上下文,只在你點名時運行; - 輸入
/mcp看各伺服器的連接狀態,暫時不用的可以斷開。
七、遇到什麼情況,加什麼
官方給了一張「觸發條件」表,意思是不必一開始就全配上,出現對應的信號再加:
| 你遇到的情況 | 該加的 |
|---|---|
| 同一個約定或命令,Claude 弄錯了兩次 | 寫進 CLAUDE.md |
| 每次開始某類任務都在敲同一段提示詞 | 存成可以手動調用的 Skill |
| 同一套多步流程,第三次往對話裏粘貼了 | 做成 Skill |
| 總是從 Claude 看不到的瀏覽器標籤頁裏複製數據 | 把那個系統接成 MCP 伺服器 |
| 一個旁支任務的輸出淹沒了對話,之後也不會再看 | 交給子代理 |
| 希望某件事每次都發生、不用開口 | 寫 Hook |
| 第二個倉庫也需要同一套配置 | 打包成插件 |
官方補充:同樣的信號也告訴你何時更新已有的配置。反覆出現的錯誤應該改 CLAUDE.md,而不是在對話裏糾正一次了事;一個總要手動微調的流程,說明那個 Skill 該改版了。
八、同一種擴展放在多處時,誰生效
- CLAUDE.md 是疊加的:各級文件的內容同時進入上下文,有衝突時由 Claude 判斷;
- Skill 和子代理按名稱覆蓋:Skill 是託管 > 個人 > 項目;子代理是託管 > 命令行參數 > 項目 > 個人 > 插件;
- MCP 伺服器按名稱覆蓋:local > project > user;
- Hook 是合併的:所有來源註冊的 Hook 都會在匹配的事件上執行。
注意 Skill 和子代理的優先級方向並不一樣,Skill 的細節見《Claude Code Skills 安裝在哪裏》。
常見問題
Q:有了 Skill 還需要 MCP 嗎?
要看 Claude 是否需要訪問外部系統。Skill 只是說明和腳本,它讓 Claude「知道怎麼做」;需要登入授權、調用某個服務的專用接口時,還是要靠 MCP 提供工具。
Q:有了 MCP 還需要 Skill 嗎?
MCP 給的是工具,不包含你們團隊的用法。工具接上了但 Claude 總是用得不對(查錯表、格式不合要求),就該補一個 Skill。
Q:斜槓命令和 Skill 是什麼關係?
在 Claude Code 裏,自定義斜槓命令已經併入 Skill:.claude/commands/ 下的文件和 Skill 都會生成 /名稱,舊文件繼續可用。
Q:別的工具也這麼分嗎?
概念大體相通:常駐說明文件(AGENTS.md、規則文件)、按需加載的 Skill、連接外部服務的 MCP。具體的加載規則以各工具的官方文檔為準。
參考資料
- Extend Claude Code(Claude Code 官方):https://code.claude.com/docs/en/features-overview
- Extend Claude with skills(Claude Code 官方):https://code.claude.com/docs/en/skills
0 條評論
還沒有評論,來搶沙發~