
1. 引言為什么這些概念讓人頭大很多剛接觸 Claude Code 的朋友都會被 Skills、MCP、Plugin 這幾個詞繞暈。它們聽起來很像似乎都在做「給 AI 加能力」這件事但實際定位、使用方式和適用場景完全不同。這篇文章會用最直白的方式把四個概念拆開講清楚并配上可運行的代碼實戰幫你一次性建立清晰的心智模型。先給出一張速覽表方便你快速建立整體印象概念一句話定位核心作用典型場景Claude Code終端里的 AI 編程助手理解、修改、調試代碼在命令行里讓 AI 幫你寫代碼、改 BugSkills給 Claude 的「技能包」注入領域知識和操作流程讓 Claude 學會寫特定風格的代碼、處理特定格式文件MCP連接外部世界的「萬能插座」讓 Claude 讀寫外部系統數據查詢數據庫、調用 GitHub API、操作瀏覽器Plugin可插拔的功能擴展在 Claude Code 中啟用第三方能力安裝社區插件一鍵獲得新功能2. Claude Code一切的起點Claude Code 是 Anthropic 推出的 AI 編程助手運行在終端里。它不是一個「插件」也不是「技能」而是承載所有能力的主程序。你可以把它理解成一個能聽懂自然語言的命令行伙伴你告訴它需求它幫你讀代碼、改代碼、跑測試、提交 Git。安裝和啟動非常簡單# 安裝 Claude Code npm install -g anthropic-ai/claude-code 在項目目錄中啟動 cd my-project claude啟動后你會進入一個交互式終端界面。直接輸入自然語言指令即可# 示例讓 Claude 幫你修復測試失敗 claude 運行測試看看哪里掛了然后修復它Claude Code 的核心能力包括代碼理解讀取整個項目結構理解模塊之間的依賴關系。代碼修改直接編輯文件生成 diff你可以逐行審查。命令執行在終端里運行測試、構建、Git 操作等命令。多文件協作一次處理多個文件完成跨模塊的重構。但 Claude Code 本身的能力是「通用」的。它不知道你公司的代碼規范也不知道你常用的數據庫長什么樣。這時候就需要 Skills 和 MCP 來給它「開小灶」了。3. Skills給 Claude 注入「專業技能」Skills 是 Claude Code 的「技能包」本質是一組結構化的指令和知識文件。它解決的是「Claude 不知道怎么做某件事」的問題。比如你想讓 Claude 按照你們團隊的規范寫 Java 代碼或者讓它學會解析某種內部配置文件就可以把這些知識封裝成一個 Skill。一個 Skill 通常包含兩部分SKILL.md描述這個技能是干什么的、什么時候該用、具體怎么操作。參考文件可選的示例代碼、模板、規范文檔等。下面是一個實戰示例。假設我們要創建一個「Java 代碼規范檢查」的 Skill# 創建 Skills 目錄 mkdir -p .claude/skills/java-style-guide cd .claude/skills/java-style-guide然后創建 SKILL.md 文件--- name: java-style-guide description: 檢查 Java 代碼是否符合團隊規范包括命名、注釋、異常處理等。 --- Java 代碼規范檢查 當用戶要求檢查 Java 代碼風格時使用本技能。 檢查要點 類名使用 UpperCamelCase方法名和變量名使用 lowerCamelCase。 常量使用 UPPER_SNAKE_CASE。 所有 public 方法必須有 Javadoc 注釋。 禁止捕獲異常后靜默吞掉必須記錄日志或重新拋出。 禁止使用魔法數字必須定義為常量。 操作步驟 讀取目標 Java 文件。 逐條對照上述檢查要點。 輸出問題列表并給出修改建議。創建好之后在 Claude Code 中直接說「檢查一下 UserService.java 的代碼規范」Claude 就會自動加載這個 Skill按照里面的規則進行檢查。你不需要每次重復說明規范Skill 就是你的「團隊規范記憶庫」。Skills 的典型特征靜態知識它不連接外部系統只是給 Claude 提供「怎么做」的指導。項目級共享放在項目的.claude/skills目錄下團隊所有成員都能用。輕量靈活創建成本低改一個 Markdown 文件就能更新技能。4. MCP連接外部世界的「萬能插座」如果說 Skills 解決的是「Claude 不知道怎么做」那 MCPModel Context Protocol解決的就是「Claude 夠不到外部數據」。MCP 是一個開放協議它定義了一套標準接口讓 Claude 能通過「工具」讀寫外部系統的數據。你可以把 MCP 理解成 USB-C 接口只要外部系統實現了 MCP 協議Claude 就能像插 U 盤一樣直接讀取數據庫、調用 API、操作文件系統。下面是一個實戰示例通過 MCP 連接 GitHub讓 Claude 直接操作倉庫。首先安裝一個 GitHub MCP 服務器# 使用 npx 直接運行 GitHub MCP 服務器 npx modelcontextprotocol/server-github然后在 Claude Code 中配置 MCP 服務器。在項目根目錄創建或編輯.mcp.json{ mcpServers: { github: { command: npx, args: [modelcontextprotocol/server-github], env: { GITHUB_PERSONAL_ACCESS_TOKEN: 你的_GitHub_Token } } } }配置完成后重啟 Claude Code。現在你可以直接說# 讓 Claude 列出你的 GitHub 倉庫 claude 列出我 GitHub 上最近創建的 5 個倉庫Claude 會通過 MCP 調用 GitHub API把真實數據返回給你。你還可以讓它創建 Issue、查看 PR、讀取文件內容等。再舉一個數據庫的例子。假設你想讓 Claude 直接查詢本地 SQLite 數據庫# 安裝 SQLite MCP 服務器 npx modelcontextprotocol/server-sqlite配置到.mcp.json{ mcpServers: { sqlite: { command: npx, args: [modelcontextprotocol/server-sqlite, 你的數據庫文件路徑.db] } } }然后你就可以直接問claude 查詢 orders 表中最近 10 條訂單按金額降序排列MCP 的典型特征動態數據它連接的是實時外部系統返回的是真實數據。開放生態任何系統都可以實現 MCP 協議社區已有大量現成服務器。雙向交互Claude 不僅能讀數據還能通過工具寫數據、觸發操作。5. Plugin可插拔的功能擴展Plugin插件是 Claude Code 生態中的「功能擴展包」。它和 Skills、MCP 的關系是Plugin 是一個更上層的打包機制可以把 Skills、MCP 配置、自定義命令等打包在一起實現一鍵安裝和分發。你可以把 Plugin 理解成「應用商店里的 App」別人把一組 Skills 和 MCP 配置打包好你安裝后就能立刻獲得一組完整能力不用自己一個個配置。下面是一個實戰示例安裝一個社區插件。# 在 Claude Code 中安裝插件 claude plugin install some-org/awesome-plugin安裝完成后插件會自動注冊它包含的 Skills 和 MCP 服務器。你可以查看已安裝的插件claude plugin list一個 Plugin 的典型結構如下my-plugin/ ├── plugin.json # 插件元數據聲明名稱、版本、依賴 ├── skills/ # 插件自帶的 Skills │ └── my-skill/ │ └── SKILL.md ├── mcp/ # 插件自帶的 MCP 配置 │ └── mcp.json └── commands/ # 自定義命令 └── my-command.mdPlugin 的典型特征打包分發把多種能力打包成一個整體方便分享和安裝。一鍵啟用安裝后自動生效不需要手動配置每個細節。生態共享社區插件可以快速擴展 Claude Code 的能力邊界。6. 四者關系一張圖看懂現在我們可以把四個概念的關系梳理清楚了。Claude Code 是主程序是「身體」Skills 是「知識手冊」告訴 Claude 怎么做MCP 是「數據管道」讓 Claude 能拿到外部數據Plugin 是「打包盒」把 Skills 和 MCP 組合成即插即用的功能包。用一句話總結Claude Code 是運行平臺Skills 教它「怎么做」MCP 幫它「拿數據」Plugin 把前兩者打包成「一鍵安裝」的能力包。下面用一個實際場景串起來。假設你是一個 Java 團隊的技術負責人你想讓 Claude 幫你做代碼審查你創建了一個Java 代碼規范 Skill告訴 Claude 你們團隊的編碼規范。你配置了一個GitLab MCP 服務器讓 Claude 能讀取 Merge Request 的代碼。你把這兩者打包成一個Code Review Plugin分發給團隊其他成員。團隊成員在Claude Code中安裝這個 Plugin然后直接說「審查這個 MR」Claude 就會自動拉取代碼、按規范檢查、輸出審查意見。這就是四個概念協同工作的完整鏈路。7. 實戰從零搭建一個完整示例最后我們用一個完整的實戰項目把 Skills、MCP、Plugin 全部串起來。假設我們要做一個「日志分析助手」它能讀取本地日志文件分析錯誤并生成報告。第一步創建項目結構mkdir log-analyzer cd log-analyzer mkdir -p .claude/skills/log-analyzer mkdir -p .mcp第二步創建日志分析 Skill--- name: log-analyzer description: 分析日志文件提取錯誤信息生成分析報告。 --- 日志分析技能 當用戶要求分析日志時使用本技能。 分析步驟 讀取日志文件內容。 提取所有 ERROR 級別的日志行。 按錯誤類型分組統計。 生成包含錯誤數量、類型分布、示例行的報告。第三步創建一個簡單的文件讀取 MCP 服務器。這里用 Node.js 寫一個最小實現// mcp-server.js const { Server } require(modelcontextprotocol/sdk); const fs require(fs); const server new Server({ name: log-reader, version: 1.0.0, }); server.setRequestHandler(tools/list, async () ({ tools: [ { name: read_log_file, description: 讀取日志文件內容, inputSchema: { type: object, properties: { path: { type: string, description: 日志文件路徑 }, }, }, }, ], })); server.setRequestHandler(tools/call, async (request) { if (request.params.name read_log_file) { const { path } request.params.arguments; const content fs.readFileSync(path, utf-8); return { content: [{ type: text, text: content }] }; } throw new Error(未知工具); }); server.listen(3000); console.log(MCP server running on port 3000);第四步配置 MCP 服務器{ mcpServers: { log-reader: { command: node, args: [mcp-server.js] } } }第五步把 Skill 和 MCP 配置打包成 Plugin。創建plugin.json{ name: log-analyzer-plugin, version: 1.0.0, description: 日志分析助手包含日志分析技能和文件讀取 MCP, skills: [.claude/skills/log-analyzer], mcp: [.mcp/mcp.json] }第六步在 Claude Code 中安裝并測試# 安裝本地插件 claude plugin install ./log-analyzer-plugin 測試讓 Claude 分析日志 claude 分析 app.log 文件找出所有 ERROR 并生成報告Claude 會通過 MCP 讀取日志文件然后按照 Skill 里的步驟分析最后輸出一份結構化的錯誤報告。整個過程你只需要說一句話。8. 總結與選型建議最后給你一份選型建議幫助你在實際項目中快速決策想讓 Claude 學會某種做事方法用 Skills創建 Markdown 技能文件即可。想讓 Claude 連接外部數據或系統用 MCP配置對應的 MCP 服務器。想分享一組完整能力給團隊用 Plugin把 Skills 和 MCP 打包分發。想日常寫代碼、改 Bug直接用 Claude Code它本身就足夠強大。這四個概念不是互相替代的關系而是層層遞進、協同工作的。Claude Code 是底座Skills 提供知識MCP 提供數據Plugin 負責打包分發。理解了這個關系你就能在合適的場景用合適的工具讓 Claude Code 真正成為你的超級開發助手。