Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Stage 5 — Claude Code 生態系(Claude Code Ecosystem)⭐⭐

繁體中文 | 简体中文 | English

Claude Code 像一位會使用檔案和終端機的助手。本章教你怎麼給它規則、工具和安全邊界,不是叫你一次裝完所有東西。

📌 學習目標

完成這一章後,你可以:

  • 說出 CLAUDE.md、Skill、MCP、Hook、Plugin 和 Subagent 各自做什麼。
  • 先選最小的零件,不為了「看起來厲害」把簡單工作做複雜。
  • 做出一套可分享、可檢查、預設安全的 Claude Code 專案設定。
  • 知道何時只用 Claude Code,何時才需要 Worktree 或 Claude Agent SDK。

🧩 先認識核心詞

Claude Code

它是會讀檔、改檔和執行指令的 coding agent。它像坐在終端機旁的助手;這章會教你怎麼約束它,而不是把所有權限一次打開。

CLAUDE.md

它是每次工作都要看的專案守則。它像貼在工作桌前的短規則卡;適合放測試指令、命名規則和不能做的事。

Skill(SKILL.md)

它是需要時才拿出來的操作卡。它像「遇到火警才打開」的流程卡;適合放部署、審查或資料處理等可重複步驟。

MCP(Model Context Protocol)

它是 coding agent 接外部工具和資料的共用接頭。它像統一規格的插座;接上 GitHub、資料庫或瀏覽器後,agent 才真的能使用那些服務。

Hook

它是在某件事發生時自動執行的檢查。它像門口警鈴;例如 Claude 要跑危險指令前,Hook 可以先擋住。

Plugin 與 Marketplace

Plugin 是把 Skills、Hooks、Subagents 或 MCP 設定包成一盒;Marketplace 是放很多盒子的目錄。前者像 App,後者像 App 商店。

Subagent

它是有自己 context window 的小幫手。它像被派去查資料的同事;中間的大量內容留在它那邊,最後只把結果帶回來。

Worktree

它是同一個 Git repo 的另一個工作目錄。它像在旁邊多開一張不共用紙張的工作桌;多個 agent 同時改檔時,用它避免互相踩到。

Claude Agent SDK

它是讓你的 Python 或 TypeScript 程式控制 agent 的工具包。它像把 Claude Code 的工作能力裝進自己的 App;只有要做產品或服務時才需要。

Claude Code 擴充工具選擇圖

一張表先選對零件

你的問題先用什麼先不要做什麼
每次都要記得同一條專案規則CLAUDE.md把整本手冊都塞進去
某個情境才需要一套步驟Skill每次重新貼同一大段 prompt
要連 GitHub、資料庫或瀏覽器MCP把未審查的 server 直接接上高權限帳號
每次發生事件都要自動檢查Hook把陌生 shell script 當安全工具
大量搜尋會塞滿目前對話Subagent為一個小問題多開 agent
多個工作會改到同一個 repoWorktree讓多個 agent 共用同一份未提交檔案
要把設定分享給團隊Plugin第一題就自建 marketplace
要把 agent 嵌進產品Agent SDK把可用 CLI 完成的事重寫成服務

想分清 OpenRouter、Pi、OpenCode 和 Ollama?OpenRouter 是 Router,Ollama 是 Local runtime,Claude Code、OpenCode 和 Pi 是 Coding agent/harness。完整選擇表在 Track A1。

🚪 進入條件與閱讀路線

  • Track A(CLI 使用者):完成 A2 後讀 5.1–5.4,學會專案守則、Skill、MCP 和 Plugin,再前往 A3。
  • Track B(Agent 開發者):完成 Stage 3 與 Stage 4 後,再讀 5.5–5.8。
⏱ 開始前先看:時間、環境、認證與費用
  • 時間:主線約 6–10 小時;把所有選讀與專案都做完約 15–25 小時。
  • 環境:Git、終端機和一個不含私密資料的練習 repo。
  • 認證:Claude Code 可使用 Anthropic 帳號/API,也有 Amazon Bedrock、Google Vertex AI 與 Microsoft Foundry 的官方路徑。它不是任意本機模型的通用前端。
  • 費用:先做不呼叫模型的檔案與設定檢查;真正執行 Claude Code 前,再看 /cost 或帳戶用量。不要用固定金額猜一次練習會花多少。
  • 安全:第一輪只用示範 repo、唯讀 MCP 和最小權限。不要把 production token、SSH key 或真實客戶資料放進練習。

📚 必修閱讀

開始前只看兩個入口:Claude Code quickstart 幫你安裝並開啟第一個工作階段;How Claude remembers your project 幫你寫第一題的 CLAUDE.md。其他文件遇到對應名詞時再查,不用一次讀完。

  1. Claude Code quickstart — 安裝與第一個工作階段。
  2. Extend Claude Code — 一張官方表分清 CLAUDE.md、Skill、MCP、Hook、Plugin 與 Subagent。
  3. How Claude remembers your project — CLAUDE.md、Rules 和 auto memory 的邊界。
  4. Skills — 舊 .claude/commands/ 仍相容;新教學先用 SKILL.md。
  5. MCP specification — 查協定時看日期版號。
  6. Hooks reference — 事件、輸入輸出與阻擋規則。
  7. Plugins — 打包與分享擴充元件。
  8. Subagents、parallel agents 與 Dynamic workflows — 隔離、協作與大規模腳本編排。
  9. Agent SDK overview — 只有要嵌進程式時再讀。

🛠 動手練習

主專案是一個「安全的 Claude Code 練習 repo」。每題只加一個零件;前一題成功再做下一題。

練習 1:寫一張最小專案守則

完成後,你會有一份短 CLAUDE.md,裡面只有用途、禁止事項、驗證指令和交付格式。

請先閱讀這個 repo,只回覆:用途、最重要的 3 個目錄,以及你會先跑哪個唯讀檢查。不要修改檔案。
展開練習 1 步驟與檢查
  1. 在不含私密資料的練習 repo 根目錄建立 CLAUDE.md。
  2. 只寫四區:Purpose、Do not、Verify、Deliver。
  3. 先人工讀一遍,再請 Claude 依上面的 prompt 說明它理解到什麼。
  4. 成功條件:Claude 沒改檔,且說出的驗證指令跟 CLAUDE.md 一致。

CLAUDE.md 建議低於 200 行。@path import 可以整理檔案,但被 import 的內容仍會進 context;要按路徑延後載入,使用 .claude/rules/ 的 paths frontmatter。

練習 2:把重複流程做成 Skill

完成後,你可以輸入一個簡短需求,讓 Claude 依固定清單檢查 README。

New-Item -ItemType Directory -Force .claude\skills\readme-check
展開練習 2 步驟、macOS/Linux 指令與範例

建立 .claude/skills/readme-check/SKILL.md:

---
name: readme-check
description: Check a README for a clear purpose, install steps, one example, and a license link. Use when the user asks to review README onboarding.
disable-model-invocation: true
---

1. Read the README without changing it.
2. Check: purpose, install steps, one runnable example, license link.
3. Return PASS or a short list of missing items with line references.

macOS/Linux:

mkdir -p .claude/skills/readme-check

先人工檢查 YAML frontmatter,再在 Claude Code 輸入 /readme-check。disable-model-invocation: true 表示只有你能主動叫它,適合有副作用或需要控制時機的流程。

本 repo 的完整 meta-example:examples/stage-5/tool-calling-tutor/。

練習 3:加一個只記錄、不阻擋的 Hook

完成後,每次 Claude 想寫檔或改檔時,Hook 都會留下 event 名稱與 tool 名稱;它不保存 prompt,也不替你批准或阻擋動作。

New-Item -ItemType Directory -Force .claude/hooks
展開練習 3:直接複製 Hook、設定與驗證步驟

把這段存成 .claude/hooks/log-tool.py:

import json
import sys
from datetime import datetime, timezone
from pathlib import Path


event = json.load(sys.stdin)
record = {
    "checked_at": datetime.now(timezone.utc).isoformat(),
    "hook_event_name": event.get("hook_event_name"),
    "tool_name": event.get("tool_name"),
}
log_path = Path(__file__).with_name("events.jsonl")
with log_path.open("a", encoding="utf-8") as handle:
    handle.write(json.dumps(record, ensure_ascii=False) + "\n")

如果 demo repo 還沒有 .claude/settings.json,直接建立:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "python",
            "args": [
              "${CLAUDE_PROJECT_DIR}/.claude/hooks/log-tool.py"
            ]
          }
        ]
      }
    ]
  }
}

如果檔案已存在,只把 PreToolUse 加進原本的 hooks,不要覆蓋其他設定。把 .claude/hooks/events.jsonl 加進 .gitignore,避免把本機操作紀錄提交出去。

先用假資料測試 script:

'{"hook_event_name":"PreToolUse","tool_name":"Write"}' | python .claude/hooks/log-tool.py
Get-Content .claude/hooks/events.jsonl

接著在 Claude Code 輸入 /hooks,確認 PreToolUse 顯示一個 Hook;再請 Claude 在 demo repo 建立 hook-demo.txt。最後一行應包含 "hook_event_name": "PreToolUse" 與 "tool_name": "Write"。

  • Hook 可以是 shell command、HTTP endpoint、prompt、agent 或 MCP tool;不是每一種 event 都支援每一種 handler。
  • PreToolUse 的 exit code 2 可以擋 tool call;但 exit code 2 對所有 event 的效果並不相同,要查官方 event matrix。
  • 這個範例只記錄 event 與 tool 名稱,不保存完整 prompt、tool input、token 或秘密值;exit code 0 代表不阻擋。
  • 成功條件:假資料測試與一次真正的 Write 都新增一行,而且紀錄中沒有 prompt 或檔案內容。

練習 4:接一個受限 MCP server

完成後,Claude 只能讀你指定的示範資料夾,不能碰整台電腦。

我要連一個 filesystem MCP server。請先解釋它會看到哪個目錄、有哪些 tools、如何移除,再等我批准;不要直接安裝。
展開練習 4 與 MCP 2026 補充
  1. 建立一個只放假資料的資料夾。
  2. 依 Claude Code MCP 文件 加入 filesystem server,scope 只指向該資料夾。
  3. 先列 tools,再讀一個假檔案,最後移除 server。
  4. 成功條件:讀指定資料夾成功;要求讀外面路徑時失敗。

MCP 的三個核心抽象:Tools 是模型可呼叫的動作,Resources 是可讀資料,Prompts 是 server 提供的 prompt 樣板。多數入門 server 先用 Tools。

2026-07-28 規格把核心改為 stateless request/response,移除 initialize/initialized 與 Mcp-Session-Id,並用 MRTR 處理需要補資料的多回合請求。這是 SDK/server 作者才需要深入的遷移內容;只連現成 server 的讀者先確認 host 與 server 支援同一版即可。

練習 5:用一個 Subagent 做唯讀檢查

完成後,大量搜尋留在獨立 context,主對話只收到摘要。

Use the Explore subagent to find where tests are documented. Read only. Return the three most useful file paths and one sentence for each.
展開練習 5 與自訂 Subagent 範例

Claude Code 內建的主要 Subagents 是 Explore、Plan 和 general-purpose。其他名稱可能來自 plugin、組織設定或你自己寫的 .claude/agents/<name>.md,不能假設每台機器都有。

---
name: docs-finder
description: Find documentation related to a named feature and return file paths. Use for read-only documentation discovery.
tools: Read, Glob, Grep
model: haiku
---

Search only. Return up to five file paths with one-sentence reasons. Do not edit files or run shell commands.

Subagent 由現行 Agent tool 派遣。它有獨立 context 與權限設定,會收到一份自足任務,最後把摘要交回主對話。小問題、需要頻繁來回或高度共享 context 的工作,留在主對話比較簡單。

先看 5.1–5.7 怎麼接在一起

這張圖整理各零件的關係,不是安裝順序。先讀上面的粗體定義,再用圖找 context、動作、檢查、隔離與打包的邊界。

Claude Code 5.1–5.7 關係圖:CLAUDE.md 與 Skill 提供 context,Agent loop 透過 MCP 使用外部工具,Hook 依事件檢查,Subagent 與 Worktree 分別隔離 context 和檔案,Plugin 只負責打包

5.1 — Claude Code 基礎

這一節的成果:你能安全開始工作,並知道「設定」和「指示」不是同一件事。

展開 5.1:安裝、CLAUDE.md、Skills 相容層與設定位置

Claude Code 可在 CLI、Desktop、VS Code 與 JetBrains 等 surface 使用。它能操作檔案與工具,但仍受 permission、sandbox、Hook 和組織政策限制;不要把「能執行 shell」誤解成「應該給全部權限」。

Scope常見位置適合放什麼
Managed作業系統的管理路徑組織政策
User~/.claude/CLAUDE.md個人跨專案偏好
Project./CLAUDE.md 或 ./.claude/CLAUDE.md團隊共享規則
Local./CLAUDE.local.md不進 Git 的本機設定

.claude/rules/*.md 可依 paths 延後載入。.claude/skills/<name>/SKILL.md 則是按需知識或流程。舊 .claude/commands/*.md 仍能產生 slash command,但新內容優先教 Skills。

常用入口以現行 Commands reference 為準。第一次只記 /help、/model、/permissions、/memory、/agents 和 /cost;功能會更新,不把固定「十大指令」當長期標準。

5.2 — MCP(Model Context Protocol)基礎

這一節的成果:你能用「共用插座」比喻 MCP,也能說出 Tool Use 和 MCP 的差別。

展開 5.2:Tools、Resources、Prompts、版本與安全
  • Tool Use:模型提出結構化呼叫,由你的程式或 host 執行。
  • MCP:把工具、資料與 prompt 的交換方式做成跨 host 的協定。
  • Skill:教 agent 何時、如何使用能力;它不會憑空建立外部連線。
  • Plugin:把 Skill、Hook、Subagent、MCP 設定等打包分享。

官方 modelcontextprotocol/servers 是 reference implementations,不等於 production-ready server。連第三方 server 前要看來源、權限、資料流向與移除方式。Tool result 也是不可信輸入,不能直接當成高權限指令。

2026-07-28 是目前查核到的正式規格版。它採 stateless core、header routing、MRTR 和 extensions framework;舊版功能有至少 12 個月 deprecation window。不要把 2025 的初始化流程直接貼進新 server。

5.3 — Skills:按需操作卡

這一節的成果:你能寫出一份短、可觸發、可驗證的 SKILL.md。

展開 5.3:frontmatter、載入方式、設計 prompt 與 eval

Skill 的 description 像索引卡標題:要寫「什麼時候使用」,不能只寫漂亮的功能介紹。Skill body 預設按需載入;Supporting files 可放 references/、scripts/ 與其他資料夾。

  • disable-model-invocation: true:只能由使用者主動叫,適合 deploy、commit 或會產生外部副作用的流程。
  • user-invocable: false:不當作使用者 slash command,但 Claude 仍可在相關情境使用。

直接複製的 audit prompt:

請檢查這份 SKILL.md:
1. description 是否寫清楚「何時使用」與「何時不用」?
2. 主檔是否只留必要流程,細節是否移到 references/?
3. 每一步是否有可驗證的成功條件?
4. 有副作用的流程是否禁止 model 自動觸發?
5. 相對連結、腳本和範例是否真的存在?
請逐項回覆 PASS/FAIL、證據位置與最小修正;不要直接覆寫檔案。

現行 Skills 遵循 Agent Skills 開放標準;Claude Code 另加 invocation control、subagent execution 與 dynamic context 等能力。跨工具共用時,內容核心可以相同,但資料夾、frontmatter、權限和工具名稱要分開驗證。

5.4 — Plugins 與 Marketplaces

這一節的成果:你能說出「Plugin 是一盒零件,Marketplace 是放很多盒子的目錄」。

展開 5.4:plugin 結構、安裝、分享與供應鏈安全
my-plugin/
├── .claude-plugin/plugin.json
├── skills/<name>/SKILL.md
├── agents/<name>.md
├── hooks/hooks.json
└── .mcp.json

實際 schema 以 Plugins reference 為準;現行元件還可包含 LSP servers 與 monitors。不要把教學用的最小樹狀圖當完整 schema。

加 Marketplace 只是在目錄裡看得到 Plugins,不代表全部已安裝。安裝前檢查 repo、publisher、權限、Hook、MCP server、license 與更新方式。Managed/project/local settings 的優先與 consent 規則要以官方設定文件為準。

5.5 — Subagents:把大段工作隔離出去

這一節的成果:你能判斷何時要獨立 context,並寫出一份自足 delegation brief。

展開 5.5:內建類型、Skill 差異、權限、成本與常見錯誤
SkillSubagent
核心用途重用知識或流程隔離一段工作
Context通常在目前對話載入;也可設定 fork預設是新的獨立 context
結果改變 Claude 處理任務的方式回傳一份結果或摘要
適合規則、參考資料、固定流程大量搜尋、平行分析、專門 worker

自訂 Subagent 的 description 是路由提示,不是程式碼層的 if。Prompt 要 self-contained,明寫任務、範圍、工具、輸出和停止條件。現行官方也支援 skills、mcpServers、permissions、hooks 與 isolation: worktree 等設定;只在真的需要時加。

多開 agent 會增加 token、延遲與整合工作。不要宣稱固定倍數;用你的任務、模型和用量記錄實測。

進階 15 個可複製 recipe:resources/subagent-cookbook.md。組合與排錯:resources/subagent-advanced.md。

5.6 — 平行工作與 Worktree

這一節的成果:你能分清「誰協調工作」和「誰隔離檔案」。

展開 5.6:Subagent、agent view、agent teams、Dynamic workflows、Worktree 與 /batch
做法誰協調適合什麼現行狀態/邊界
Subagent主對話隔離搜尋或專門任務同一 session 內回傳結果
Agent view使用者監看多個獨立背景 sessionResearch preview
Agent teamsLead 與 teammatesWorkers 要共享任務並互相傳訊Experimental、預設關閉
Dynamic workflowsScript/runtime大型 audit、migration、交叉查證研究可讀、可重跑,會增加 token 用量;使用前看現行官方可用條件
WorktreeGit/使用者隔離同 repo 的檔案修改不負責 agent 溝通
/batchClaude 規劃後分派5–30 個可切開的機械式改動每個 worker 應有獨立範圍與 review

Dynamic workflows 把「下一步做什麼」寫進 JavaScript 腳本,不綁特定 Claude 型號;用 /workflows 看進度。官方文件列出的可用途徑包含 paid plans、Anthropic API、Amazon Bedrock、Google Cloud Agent Platform 與 Microsoft Foundry;Pro 要從 /config 開啟。

Worktree 解決「不要改到同一份檔案」;Subagent/team 解決「誰做哪件事」。兩者可以一起用,但不是同一功能。Agent teams 不會自動替每個 teammate 建 Worktree,所以仍要切清楚檔案 ownership。

5.7 — Agent loop 解剖

這一節的成果:你能畫出「讀取 context → 模型決定 → 工具執行 → 結果回來 → 再決定」的 loop。

展開 5.7:官方 agent loop 閱讀題

先讀 How the agent loop works,再回答:

  1. 哪些資料在送給模型前進入 context?
  2. 模型提出 tool call 後,誰檢查 permission?
  3. Tool result 如何回到下一輪?
  4. Loop 在成功、錯誤、拒絕或達到限制時如何停止?
  5. Hook、MCP、Skill 和 Subagent 各插在哪一段?

把答案畫成六格箭頭圖,再用 100–150 字比較 Stage 3 的最小 ReAct loop 多了哪些控制邊界。

anthropics/claude-agent-sdk-python 值得讀,但它是 SDK client/wrapper,不是 Claude Code 完整 runtime source。可以讀 message types、transport、query options 與 error handling;不要在 _internal/client.py 找不到完整 LLM loop 時誤以為自己漏看。

5.8 — Claude Agent SDK(選修)

這一節的成果:你能判斷 CLI 已經夠用,還是真的需要把 agent 嵌進程式。

展開 5.8:Python quickstart、provider 與安全 hosting

需要 SDK 的情況:

  • 使用者不會開終端機,你要把 agent 放進自己的 App。
  • 需要程式化輸入輸出、排程、審計、限額或多租戶。
  • 需要由服務控制 allowed tools、session 與結果格式。
import asyncio
from claude_agent_sdk import AssistantMessage, ClaudeAgentOptions, TextBlock, query


async def main() -> None:
    options = ClaudeAgentOptions(allowed_tools=["Read", "Glob"])
    async for message in query(prompt="Summarize this project without editing files.", options=options):
        if isinstance(message, AssistantMessage):
            for block in message.content:
                if isinstance(block, TextBlock):
                    print(block.text)


asyncio.run(main())

安裝套件是 claude-agent-sdk/@anthropic-ai/claude-agent-sdk;舊 claude-code-sdk 名稱已遷移。SDK 支援 Anthropic API,也有 Bedrock、Vertex AI 與 Foundry 的官方認證路徑。

SDK 會執行命令並保存 session state,不能把它當成普通 stateless text API。上線前要做容器/sandbox、network control、credential isolation、resource limits、audit log 與人類批准。先讀 Hosting 和 secure deployment 文件。

🎯 精選 Projects 與學習資源

第一次只選一個跟眼前練習相符的入口。五星是本學習地圖的編輯建議,不是人氣排行榜。

本章先做這個: tool-calling-tutor ⭐⭐⭐⭐⭐ — 它是 repo 內可直接照著做的 Skill 範例。要查 Claude Code 本身的版本與問題,再看 anthropics/claude-code ⭐⭐⭐⭐⭐。

資料查核:2026-08-29 UTC

主題資源評分適合誰/讀什麼
Claude Code 基礎anthropics/claude-code⭐⭐⭐⭐⭐追蹤官方 releases、issues 與目前功能。
Claude Code 官方文件⭐⭐⭐⭐⭐遇到設定、權限或命令問題時的第一來源。
awesome-claude-code⭐⭐⭐⭐完成官方 quickstart 後探索社群擴充。
AI-Coding-Guide-Zh⭐⭐⭐⭐想搭配簡中逐步導讀的讀者。
MCPmodelcontextprotocol/servers⭐⭐⭐⭐⭐官方 reference implementations;用來讀協定,不當 production 保證。
modelcontextprotocol/python-sdk⭐⭐⭐⭐⭐用 Python 寫 client/server,先對照目前 spec revision。
modelcontextprotocol/typescript-sdk⭐⭐⭐⭐TypeScript 路線的官方 SDK。
wong2/awesome-mcp-servers⭐⭐⭐⭐⭐自己寫 server 前先找現成選項;逐一審查 publisher 與權限。
punkpeye/awesome-mcp-servers⭐⭐⭐⭐用不同分類交叉找 server,不把收錄視為安全背書。
github/github-mcp-server⭐⭐⭐⭐閱讀大型官方 MCP server 的工具與權限設計。
21st-dev/magic-mcp⭐⭐⭐看生成 UI 的非平凡 MCP 案例;使用前另查 license 與維護狀態。
yamadashy/repomix⭐⭐⭐⭐⭐學 repo 打包、敏感資料過濾與 MCP mode 的邊界。
Skillsanthropics/skills⭐⭐⭐⭐⭐官方範本、spec 與文件處理 Skills;寫自己的 Skill 前先看。
anthropics/claude-code⭐⭐⭐⭐追蹤 Claude Code 對 Skills 的目前支援。
mattpocock/skills⭐⭐⭐⭐觀察短小、工作導向的社群 Skill 寫法。
obra/superpowers⭐⭐⭐⭐學 TDD、debugging 與 plan 類 Skills 的組合方式。
wshobson/agents⭐⭐⭐⭐看 Skills 與 Subagents 如何分工;不要直接照搬權限。
awesome-claude-skills⭐⭐⭐⭐找社群 Skill 的入口,安裝前逐項審查。
awesome-agent-skills⭐⭐⭐比較多家工具對 Agent Skills 的相容範圍。
alirezarezvani/claude-skills⭐⭐⭐找領域範例;把它當案例庫,不當官方標準。
Plugins/Marketplacesclaude-plugins-official⭐⭐⭐⭐⭐官方 plugin 與 marketplace 結構的第一範本。
knowledge-work-plugins⭐⭐⭐⭐⭐看多領域 bundles 如何分工與打包。
superpowers-marketplace⭐⭐⭐⭐學只負責策展、plugin 放外部 repo 的最小 marketplace。
trailofbits/skills-curated⭐⭐⭐觀察 marketplace 如何加入人工安全審查與信任說明。
awesome-claude-code-toolkit⭐⭐⭐探索 agents、skills、hooks 與 templates 的社群入口。
anthropics/life-sciences⭐⭐⭐讀單一領域 marketplace 的結構;內容本身偏生科。
anthropics/claude-for-legal⭐⭐⭐⭐看大型 vertical suite 的 Skills、Agents、MCP 與責任邊界。
Subagentsanthropics/claude-cookbooks⭐⭐⭐⭐⭐讀官方 tool-use 與 orchestration notebooks。
wshobson/agents⭐⭐⭐⭐⭐看大量 agent 定義的命名與分工;先從少數檔案開始。
obra/superpowers⭐⭐⭐⭐比較何時用 Skill、何時隔離成 worker。
claude-plugins-official⭐⭐⭐⭐看 Plugin 如何打包 Agents。
Agent loop/SDKclaude-agent-sdk-python⭐⭐⭐⭐⭐Python SDK client、message types 與 options;不是 Claude Code 完整 runtime source。
harness-engineering-from-cc-to-ai-coding⭐⭐⭐⭐中文 harness 解讀;事實仍要回官方文件核對。
awesome-harness-engineering⭐⭐⭐⭐擴展到 eval、memory、observability 與 runtime 資源。
wshobson/agents⭐⭐⭐⭐從實際 Agent 定義觀察 harness 的可讀性與權限表面。

✅ 進入下一站前的自我檢查

你能不能:

  • 用一句話分清 CLAUDE.md、Skill、MCP、Hook、Plugin 和 Subagent?
  • 完成至少前三題,且沒有把陌生 script 或高權限 token 直接交給 agent?
  • 說出 Subagent 和 Worktree 解決的是兩個不同問題?
  • 說出 Claude Code、OpenRouter、OpenCode/Pi 和 Ollama 各是哪一類東西?
  • 判斷自己的需求是「使用 CLI」還是「真的需要 Agent SDK」?

如果可以,依你的路線前進:Track A 前往 A3 — 安全的團隊流程;Track B 前往 Stage 6 — Memory & RAG。如果還不行,回到「一張表先選對零件」,只重做你分不清的那一列。