Theme / v1.2.3

Matt Pocock's Engineering Skills

可組合的 AI 工程工作流技能庫

指令詳解

/handoff 指令詳解

把目前對話壓縮成交接文件,讓另一個代理能接手工作

指令用途

/handoff 把目前的對話壓縮成一份交接文件,讓另一個代理(或同一個代理的新 session)能接手工作。

它是一個窄用途的工具 —— 不是 context window 之間的一般橋樑。它的觸發條件是:有什麼東西需要「旅行」 —— 新的 harness、新的目錄、一位同事、或一個在 phase 中途分叉的 side task。它買的是可攜性


運作流程

  1. 壓縮對話:把目前 session 的關鍵 context(決策、約定、進度、待辦)壓縮成一份文件。
  2. 強調尚未完成:明確標出還沒做完的部分,與已做完的部分。
  3. 打包攜帶資訊:新 session 必須知道的事(檔案位置、決策理由、環境設定)。
  4. 輸出文件:可帶到新 session / 新 harness / 新目錄的交接文件。

實戰對話範例

範例一:換 harness

  • You:

    我要把這個工作帶到另一台機器的 Cursor 繼續。

  • AI:

    開始 /handoff。我會把目前的 context 壓縮成交接文件:

    • 已完成的決策:用 PostgreSQL 而非 MongoDB(理由:ACID 需求,記於 ADR-0003)。
    • 目前的進度:資料層已完成,service 層做到一半。
    • 待辦UserService.create() 還沒處理重複 email 的 case。
    • 環境約定:測試 DB 是 test_db,跑前要 pnpm db:migrate

範例二:side task 分叉

  • You:

    我現在主 session 在建購物車,但要分一個 side task 去修一個獨立的 bug。

  • AI:

    side task 要乾淨分叉 —— 我把目前購物車的 context 壓縮成 handoff 文件。等你 bug 修完回來,用這份文件把 context 接回,不會漏掉我們剛討論的折扣邊界。


/handoff vs /compact vs continue

在 phase 邊界,你面對五個選項(按優先順序):

  1. Continue —— 第一個該排除的。它是唯一能讓對話保持為一手資料(而非摘要)的選項。
  2. /clear —— 任務完成、要開新主題。
  3. /handoff —— 有什麼東西需要旅行(新 harness、新目錄、同事、side task)時用。買的是可攜性。
  4. 子代理 —— 範圍緊到可以 AFK 跑的事。
  5. /compact —— 預設,但也是最後手段。它會把對話摘要,而摘要會壓平細節 —— 從這裡開始的 session 對被壓平的東西會自信地錯

/handoff 因此不是「context 太滿了就喊一下」的通用工具。它是攜帶脈絡過界的窄工具。


何時應該使用

  • 換 harness:Claude → Cursor,或本機 → 雲端 agent。
  • 換目錄 / repo:工作要帶到別處。
  • 交接給同事:同事的 session 要接手。
  • side task 中途分叉:主 session 要乾淨分出一個獨立任務。

何時不應該使用

  • 只是同 session、同目錄、phase 邊界:這不是 handoff 條件 —— continue 或 /compact 才是(見上方優先序)。
  • 任務完成要開新主題:用 /clear
  • 緊到能 AFK 跑的子任務:用子代理,不必打包整個 context。

與其他技能的關係

/handoff/ask-mattphase 邊界 決策樹裡是一條明確分支 —— 僅在「有東西需要旅行」時選它。它與 /compact(context 壓縮)和子代理(AFK 子任務)是同一決策樹的選項。不確定該用哪個 skill 時,用 /ask-matt 來路由。