| name | startup |
| description | 開工接續助手(三層級自動偵測)。當使用者說「開工」、「開始工作」、「我來了」、「上次做到哪」、「我們繼續」、「接下來呢」、「接續工作」、「來吧」等任何要接續上次工作的請求時,請一定要使用此技能。本技能會讀取 AGENTS.md 專案藍圖與 handoff.md 交接檔、檢查 git 狀態(含遠端 fetch)、辨識上次是否在另一台電腦收工、建議下一步該做什麼。 |
開工接續助手(三層級)
新對話開始時,幫使用者快速進入「上次做到哪」的脈絡,避免從零開始解釋。
核心原則
- 開工是「讀」、收工是「寫」——本技能只讀、只報告,不改任何檔案
- 不主動
git pull(避免覆蓋本地未 commit 變動,只提醒「要不要 pull」)
- 30 分鐘內 fetch 過就跳過(避免單台多對話冗餘)
- Obsidian 有需要才讀——L3 筆記是詳細背景資料,開工預設不讀、只列出路徑
- 跟收工(shutdown)技能是對偶關係:收工存進去、開工讀出來
層級偵測(開工看「這個專案」建到哪層)
- L1:專案有
AGENTS.md/handoff.md → 讀
- L2:專案有
.git → 做本機 git 檢查;若只有 AGENTS.md 登記的 GitHub repo 且 ChatGPT App 已連接 GitHub,則只讀遠端狀態
- L3:
AGENTS.md 同步層級表登記了 Obsidian 路徑,且目前有可用的 Obsidian MCP 工具(例如能列出 vault 目錄、讀寫筆記的工具)→ 列出筆記路徑(不主動讀)
判斷 L3 時請看「你手上實際有哪些工具」,不要假設特定的工具名稱——不同的 Obsidian MCP 名稱不一樣。
注意:偵測依據是「專案有什麼」,不是「電腦有什麼」。低層級電腦打開高層級專案時做得到的照做、做不到的註明(優雅降級)。
開工 SOP(依序執行)
L1:讀藍圖與交接檔(永遠執行)
- 讀
AGENTS.md:專案目標、路線圖進度、工作約定(摘要,不全文倒出)
- 讀
handoff.md:上次做到哪、目前狀態、下一步、注意事項
- 檢查「最後更新」欄:
- 取得這台電腦的名稱——Windows(PowerShell)用
$env:COMPUTERNAME;Mac/Linux 用 hostname
- 若更新者的電腦名 ≠ 這台電腦 → 特別標示「⚠️ 上次在另一台電腦(名稱)收工」,並確認雲端硬碟同步已完成(看
handoff.md 的檔案時間戳是否與交接檔內寫的時間吻合;若本地檔案明顯過舊,提醒等雲端同步完再開工)
- 若
handoff.md 的更新時間比 AGENTS.md 舊很多 → 提醒「上次可能沒有正式收工」
Fallback(舊專案相容):若專案沒有 AGENTS.md/handoff.md:
- 有 Obsidian MCP → 改讀
<你的 vault>/<專案資料夾名>/專案工作流程.md 或 工作筆記.md 的「上次做到哪」段
- 讀完提議:「這個專案還沒有 AGENTS.md+handoff.md,要不要用『初始化專案』補建?」(提議即可,不主動建)
L2:GitHub/git 檢查(依目前可用入口執行)
- 本地狀態:專案有
.git 時執行 git status --short;若 ChatGPT App 只有 GitHub 連接,則改讀 AGENTS.md 登記的 repo 與預設分支最新狀態
- clean → 「本地工作區乾淨」
- 有未 commit 變動 → 列出,提醒「上次有未完成的修改,要繼續還是放棄?」
- 遠端狀態(30 分鐘規則;只適用本機
.git):
- 先看
.git/FETCH_HEAD 的最後修改時間(用你手上的檔案工具讀取時間戳即可,不要用只有某個平台才有的 shell 語法)
- 檔案不存在,或距離現在超過 30 分鐘 → 執行:
git fetch origin
- 再看落後幾個 commit:
git rev-list --count "HEAD..@{u}"
引號不能省:PowerShell 會把沒加引號的 @{...} 當成 hashtable 語法而報錯。
若回報「沒有上游分支」之類的錯誤 → 視為 0,並在報告註明「尚未設定上游分支」。
- 落後 > 0 → 提醒「遠端有 N 個新 commit,要
git pull 嗎?」不主動 pull
- 交叉比對防呆:若
handoff.md 寫「Git push:✅」但遠端沒有對應的新 commit → 警告「上次收工可能沒推成功,建議先確認再動工」。若只有 ChatGPT App 的 GitHub 連接,直接比對遠端最後 commit,不執行 fetch/pull。
L3:Obsidian 筆記(有登記才列,不主動讀)
- 在報告中列出筆記路徑(例:
<專案資料夾名>/專案工作流程.md),註明「需要詳細背景時我再去讀」
- 只有兩種情況才主動讀:
handoff.md 的「下一步」明確指向筆記內容,或使用者要求
報告 + 建議下一步
給使用者結構化摘要(不要冗長):
📂 專案:<資料夾名>(第 N 層級)
📘 上次做到哪:<handoff 摘要 1-2 句>(<時間>,<更新者> @ <電腦名>)
🔧 本地 git:<clean|有 N 個未 commit 變動|—(L1 專案)>
🌐 遠端:<最新|落後 N commits,建議 git pull|—>
🧠 Obsidian:<筆記路徑,需要時再讀|—>
➡️ 建議下一步:
1. <handoff「下一步」第 1 項>
2. <可選:第 2 項>
要從哪個方向開始?
最後等使用者選方向,不要自己擅自繼續。
不該做的事
- ❌ 主動
git pull(會撞本地未 commit 變動)
- ❌ 修改
AGENTS.md/handoff.md/Obsidian 筆記(那是收工的事)
- ❌ 沒有交接檔時硬建一個(先問使用者)
- ❌ 開工就把 Obsidian 筆記全文讀進來(違反「有需要才讀」的分層設計)
- ❌ 把藍圖與交接檔內容全文倒出來(要摘要、保持精簡)
與收工(shutdown)的對偶關係
| 面向 | 收工 | 開工 |
|---|
| 主要動作 | 摘要今天做什麼 | 摘要上次做什麼 |
| AGENTS.md / handoff.md | 寫入 | 讀出 |
| Git 動作 | add + commit + push | status + fetch(不 pull) |
| Obsidian | 寫詳細紀錄 | 只列路徑、需要才讀 |
| 對外副作用 | 推 GitHub、改檔案 | 無(只讀、只報告) |
注意事項
- 所有訊息使用繁體中文
- 專案藍圖檔名固定是全大寫
AGENTS.md(跨 Agent 開放標準)。Mac/Linux 會區分大小寫,寫成小寫會變成「檔案在、Agent 卻讀不到」