---
name: dropoff
description: 跨專案／跨 session 交接「推球」。把一件事連同完整脈絡交給另一個專案（或同專案的未來 session）的 Claude。當使用者說「交接給 X」「handoff 給某專案」「推球給 X」「把這件事丟給下個 session」時觸發。產出＝目標專案 `.claude/handoffs/` 下的一張交接卡（Markdown 檔），對面 session 用 /pickup 接手。 English triggers: "hand this off to X", "drop this off for <project>", "pass this to the next session".
---

# /dropoff — 交接·推球

把一件事**可靠地**交給另一個 Claude session（別的專案、或同專案的下一個 session）。

核心問題：對面 session 讀不到你這個對話的 context。口頭交代會漏、聊天記錄會斷 —— 所以交接卡必須是**磁碟上的檔案**，寫清楚到「陌生 session 光看這張卡就能接手」。

> 🤖 R2-D2 時刻：Leia 把 Death Star 圖紙和求救訊息存進 R2 的記憶體 —— 這就是 dropoff。
> 訊息不靠 Leia 本人送達，靠的是那台會自己滾去找 Obi-Wan 的機器人。

## 交接卡格式

一張卡 = 一個 Markdown 檔，放在**目標專案**的 `.claude/handoffs/` 目錄：

```
<目標專案根目錄>/.claude/handoffs/YYYYMMDD-HHMM-<短slug>.md
```

```markdown
---
status: pending          # pending → picked → done
from: <來源專案或 session 描述>
to: <目標專案>
created: YYYY-MM-DD HH:MM
priority: high | normal | low
---

# <事項一句話>

## 要做什麼
<具體、可執行的任務描述>

## 脈絡（陌生 session 也看得懂的程度）
<為什麼要做、之前做到哪、決策背景>

## 相關檔案／連結
- <路徑或 URL，一行一個>

## 完成的定義
<怎樣算做完 —— 可驗證的條件，不是感覺>
```

## 用法

`/dropoff <目標專案路徑或名稱> <事項>`

- 沒給目標 → 問使用者。
- 目標是「同專案的未來 session」→ 寫進本專案自己的 `.claude/handoffs/`。

## 動作

1. **建目錄**（若不存在）：`mkdir -p <目標專案>/.claude/handoffs`
2. **寫卡**：依上述格式。「脈絡」與「完成的定義」是卡的靈魂 —— 只寫標題的交接卡等於沒交接。
3. **驗證落地**：寫完 `cat` 回讀確認內容完整（寫入可能靜默失敗，別信工具回的成功訊息字面）。
4. **回報**：卡片路徑＋一句摘要＋提醒「對面 session 跑 `/pickup` 即可接手」。

## 鐵律

- **一卡一事**。兩件事就寫兩張卡，別打包。
- **脈絡自包含**：假設讀卡的 session 對你的對話一無所知。需要的背景、連結、路徑全放卡上。
- **時效性高的事**，除了寫卡，再用你手上現有的即時通道（通知、訊息）提醒使用者一聲 —— 卡是 pull 模型，對面不開工就不會讀。
- 配對命令＝`/pickup`（對面接手）。

## 進階：接上你自己的任務系統

如果你有跨專案的任務管理系統（CLI todo、Notion、Linear、GitHub Issues…），可以把「寫卡」替換成「在你的系統建一筆 type=dropoff 的任務」，`/pickup` 端同步替換查詢方式。檔案版是零依賴的最小公倍數，不是天花板。
