/handoff 技能:讓另一個 AI 代理無縫接管你的工作
Matt Pocock 的 AI 技能系列第 17 個技能 /handoff,可將當前對話壓縮為一份 Markdown 交接文檔,寫入臨時目錄,供新的代理繼續工作。它的核心價值是可移植性而非壓縮,特別適合切換工具、移動目錄、交給同事或分叉副任務等場景。
/handoff 是 Matt Pocock 推出的 AI 工程師實用技能系列中的第 17 個技能。它的作用,是把當前正在進行的對話整理成一份 Markdown 交接文檔,並寫入操作系統的臨時目錄,而不是項目工作區。這樣做的目的不是壓縮上下文,而是讓工作具備可移植性——只有當工作需要在不同工具、目錄、同事或分支任務之間轉移時,才真正需要這樣一份文件。如果一切都在同一個環境裏繼續,使用 /compact 通常更合適。
這個技能需要你手動輸入 /handoff 來觸發,代理不會自動啓用。你可以在觸發時附上一段説明,告訴下一個會話這次工作的目標,文檔會按照這個目標來編寫。它適用的典型場景有四種:切換工具鏈(例如從 Claude 換到 Codex,新工具無法看到舊的上下文);移動到不同的目錄或倉庫(比如離開原型目錄);把工作交給同事;在階段中途發現一個旁支任務,希望分叉出去並行處理。除此之外,同一工具、同一目錄下的階段收尾,使用 /compact 就好了。
分叉是最值得了解但最容易被忽略的用法。你正深陷一場設計討論,忽然遇到一個只有運行代碼才能回答的問題,又不想打斷已經建立起來的對話線索。這時可以把當前上下文交給一個原型會話,讓它去驗證,再把答案帶回來,從原會話中引用這個結果。整個過程只需要兩次跨越,主對話始終保持連貫,不必重新解釋任何背景。
交接文檔攜帶的是進行中的核心線索——當前正在做什麼、為什麼這麼做、下一步是什麼——同時還會建議下一個代理應該使用的技能。在寫入文檔之前,密鑰會被自動刪除。它刻意不會攜帶已經成型的內容:規格、計劃、ADR、issue、commit 和 diff 都只會以路徑或 URL 的形式出現,而不會複製到文檔裏。這樣既能保持文件短小,也避免同一份細節在多個地方出現而逐漸漂移。
關於 /compact、/clear 和 /handoff 的差別,核心在於它們分別保留了什麼。/compact 壓縮當前上下文,讓你在新窗口繼續工作,意圖得以保留;/clear 清空窗口,從頭開始,適合那些完全可丟棄的舊內容;/handoff 寫出一份可移動的文件,讓工作本身能夠轉移到別處。需要注意,這三者都會把主要信息來源(原始對話)變成二手摘要,只有直接繼續會話才不會發生這種轉換。
關於臨時目錄,這是使用體驗中反饋最多的地方:路徑很長,不同操作系統各不相同,Windows 上的代理有時還要嘗試好幾次才能找到正確位置。因此拿到路徑後最好先記下來。臨時目錄是刻意選擇的,因為交接文檔是過路文件,不是需要長期維護的工件。但也要知道,有些環境會在會話之間清理臨時目錄(如 Codex),/private/tmp 在重啓後也會清空。如果下一個會話不是在一小時內開始,或者要換到不同的工具,最好自己立刻把文件複製到持久位置。同樣,文檔中引用的其他臨時文件也要一併處理,否則新代理無法追蹤。
實際交接時,打開新會話後直接讓代理讀取該文件路徑即可,而不是把摘要粘貼到 shell 命令裏。因為摘要中一旦包含反引號或 $(...) 這樣的內容,插值到 claude "" 命令時可能會被破壞,通常表現為靜默截斷而不是報錯,新代理拿到的就會是一份不完整的簡報。它和你可能知道的 /branch 或 fork 會話機制類似但不完全相同。fork 會繼承上下文的精確副本,適合在同一台機器、同一個工具、同一個目錄下使用;一旦目標環境是 fork 無法到達的地方,獨立的文件就更可靠。
至於 CLAUDE.md,判斷標準是:這件事到下個月是否仍然成立。CLAUDE.md 是項目的長期常駐上下文,每次會話都會加載,無論是否相關;交接文檔則只針對某件正在推進的工作,任務一結束就失效。反覆需要解釋的事實屬於 CLAUDE.md 的問題,而半成品任務才是交接文檔的用武之地。
有批評説它記錄了“是什麼”而不是“為什麼”。緩解方法有兩個:一是傳入明確的下一個會話目標,讓相關的推理得以保留而不被抹平;二是留意那些從未在會話中真正驗證過的自信斷言,例如“X 還沒建”“Y 已完成”。新代理會把文檔視為契約,不會重新檢查,因此把假設寫成事實會讓後續所有工作建立在一個錯誤前提上。交出文檔之前通讀一遍,把任何只是推測的內容降級表述。
作為技能而不是斜槓命令,它可以通過與系列內其他技能相同的安裝路徑分發和更新,便於分享;frontmatter 限制了代理不能自行觸發它。判斷這個技能是否真正起效,可以看幾個信號:文檔規模只佔原始對話的一小部分;規格、issue 和 diff 都以路徑或 URL 出現;你不需要打開原會話就能冷靜地讀懂下一步;新代理直接開始工作而不是要求你重新解釋設定;分叉場景中你回來時原會話仍然原封不動;建議技能部分恰好指向你自己會選的那個;文檔裏沒有任何鑰匙、令牌或密碼。
在技能譜系中,/handoff 是一個隨時可用的獨立技能,位於會話與會話之間的接縫處,而不是構建鏈內部。不過它適用的範圍比較窄,實際上你使用它的頻率很可能低於階段邊界上的其他四個選項。它最接近的鄰居是 prototype,因為原型本身擁有獨立目錄,而出走再回來的往返過程正是這個技能最擅長處理的情形。當你站在階段邊界上,不確定應該繼續、清空、交接、委派還是壓縮時,ask-matt 中保存的決策樹會幫你在這五個選項中做出選擇。