跳到內容

Claude Code 進階實作教材

五個進階主題加一份期末作業,跟著做、看到結果、勾掉自檢。 multi-session ・ workflow ・ subagent ・ hooks ・ skills

這是一套「跟著做」的教材,不是講義。五個進階主題各自成章,每章固定四段:用途、什麼時候用、基本用法、你來做。 「你來做」給你可以直接複製的指令、做完應該看到什麼、以及自檢勾選;真正的練習在你自己的終端機裡完成,網頁只負責帶路與記錄進度。 五章之後有一份期末作業:不再給檔案貼,只給規格,你自己寫工具、交付一個版本,最後由驗收腳本告訴你過了沒。

你的進度:完成 0/25 項自檢(只存在這台電腦的瀏覽器)

對象:已會 Claude Code 基礎的人——會在終端機開 claude、會下提示詞、看得懂 git diff。沒碰過 worktree、workflow、subagent、hooks、skills 也沒關係,這五章就是為此而寫。

  • claude --version 顯示 2.1.246 或更新;比較舊就先 claude update。各章行為在幾個版本之間有分水嶺,版本太舊會跟站上寫的對不起來。
  • python3 --version 顯示 3.9 或更新(練習 repo 只用標準函式庫,不用裝套件)。
  • 有 git。
  • node 與 make 有沒有都做得完:沒 node 只是第 5 章的測試多跳兩個、期末驗收的 [4/6] 把 stub 執行標示跳過;沒 make 就用各章給的等價指令。

五章會反覆用到下面這些字,第一次看到卡住就回來查這張表:

  • origin/main:GitHub 上那份 main 在你電腦裡的複本(clone 時抓下來的)。各章重置指令的 git reset --hard origin/main=把 repo 弄成跟 GitHub 一模一樣。
  • fast-forward/--no-ff:git 合併分支時,如果 main 沒有新 commit,預設會直接把 main 的指標挪到分支尾端(fast-forward),不留任何合併紀錄;--no-ff 強制留一個合併 commit,之後才看得出哪批改動是誰做的。
  • tag:給某個 commit 貼一個名字,例如 v1.0.0。
  • heredoc(cat > 檔名 <<'EOF' … EOF):把兩個 EOF 之間的內容一字不改寫進那個檔案。整段一起複製、貼到終端機、按 Enter;提示符回來、沒有錯誤就是寫好了。
  • stdin/stderr/exit code:餵給程式的輸入/程式印錯誤訊息用的管道/程式結束時回報的數字(0=正常)。第 4 章的 hook 就靠這三樣跟 Claude Code 溝通。
  • 環境變數:shell 傳給程式的鍵值,例如 TODO_FILE=/tmp/x.json python3 src/todo.py list。
  • git status --porcelain:精簡格式的 git status:??=新檔、還沒被 git 追蹤; M=已追蹤的檔被改了。各章「預期看到」拿它當證據。
  • 2>/dev/null:把那一行的錯誤訊息丟掉。各章重置指令的第一行 git merge --abort 2>/dev/null 在沒有進行中的 merge 時會抱怨一句,不用理。
  • &&:前一個指令成功才跑下一個;中間失敗,後面就不會跑。
  • >/|:> 把左邊印出的字寫進右邊的檔(覆蓋);| 把左邊印出的字當右邊程式的 stdin。
  • $?:上一個指令的 exit code(0=正常)。
  • HEAD:你目前所在的那個 commit。
  • token/context:token 是內容量的計量單位;context 是 Claude 當下記得的所有內容(這段對話裡讀過的檔、講過的話)。留在 context 裡的東西,之後每一句對話都要重新送一次——第 2 章會用數字算給你看。

全站的操作步驟提供兩條等價的路,帶分頁的區塊點一下就能切換;選擇會記住並同步到全站的所有分頁:

  • CLI:直接在系統終端機開 claude。什麼都不用多裝。
  • Orca:在 Orca(開源的 Agent Development Environment,桌面應用)裡跑 Claude Code。它的核心概念是「一個任務一個 git worktree」(worktree=repo 的一份獨立工作目錄,第 5 章才會教,現在知道這句就好),每個 worktree 有自己的終端機與 agent——到第 5 章你會發現它把整章要手動做的事變成了 UI。

兩條路跑的是同一個 Claude Code:Orca 直接沿用 ~/.claude 的登入與設定,.claude/ 專案檔、/指令、subagent、hooks 全部相同。所以只有「怎麼開出一個 session、怎麼重置起點」的區塊有分頁;提示詞、檔案內容、/指令 兩條路共用。

不用額外安裝。在終端機 cd 到 repo、打 claude,就是一個 session。

各章「起點」的重置也依路線不同:CLI 用 reset 指令把 repo 洗回乾淨的 main;Orca 直接開一個新 worktree——它本來就從乾淨的 main 長出來,重做一章=刪掉舊 worktree、再開一個新的。

共用步驟(每一章都從這裡開始)

Section titled “共用步驟(每一章都從這裡開始)”
  1. 把練習 repo clone 下來,之後五章都在這個目錄裡做(Orca 路線也一樣需要這份本機 checkout):

    Terminal window
    git clone https://github.com/AngusLu0731/claude-code-practice.git
    cd claude-code-practice
  2. 開出第一個 session,接受信任對話:

    第一次在這個目錄開 claude,會出現「要不要信任這個資料夾」的對話,選 Yes:

    Terminal window
    claude
  3. 看到提示符就可以打 /exit 離開。CLI 路線信任只要接受這一次,之後重開不會再問;Orca 路線每個新 worktree 是獨立目錄,第一次進去會再被問一次,一樣選 Yes 就好(這個試水用的 worktree 之後可以在側欄右鍵刪掉)。

前三章是一條遞進鏈——說明書(skill)→ 執行者(subagent)→ 產線(workflow);第 4 章把規則變成閘門,第 5 章把多個 session 平行起來。每章大約 20 到 40 分鐘,建議照章走;不過每章開頭都會把 repo 重置回乾淨狀態,跳著做也可以(第 5 章與期末的重置多幾行,見各章)。期末作業約 60 到 90 分鐘,五章都做過再來——它把五個工具串成一條真正的交付流程,而且工具檔要你自己寫。

先給一張地圖,之後每章都會回來對照:

你的情況 用什麼 在哪章
每次 session 都該知道的事實與規範(指令、風格、慣例) CLAUDE.md 官方文件
一套會重複執行的步驟(程序) skill 第 1 章
要讀很多東西、只要結論;或要一個固定角色 subagent 第 2 章
同一套多 agent 流程,每次都要長一樣 workflow 第 3 章
沒有例外的硬規則(不准改、每次必跑) hook 第 4 章
兩件不相干的事要同時進行 多 session+worktree 第 5 章
把上面五個串成一條交付流程,確認自己真的會了 全部 期末作業

口訣:事實進 CLAUDE.md、程序進 skill、隔離用 subagent、編排用 workflow、強制用 hook、平行開 session。

以 Claude Code 2.1.246(2026-08-26)為準