← ClaudeAtlas

claude-code-checkpoint-systemlisted

幫使用者建立 Claude Code 跨對話斷點系統。當使用者抱怨「Claude Code 每次開新對話 就忘光上次做到哪」「跨對話失憶」「每次都要重講一遍進度」,想建斷點/checkpoint/ 跨 session 接力機制,或手上多個專案想一眼看到「現在哪個最該處理」時使用。 核心是 .project/ 斷點檔 + SessionStart hook 自動載入 + UserPromptSubmit 時間注入 + 多專案儀表板,設計原則是「讀強制、寫柔性」。
Coolkidlab-Yin/Coolkidlab · ★ 1 · AI & Automation · score 72
Install: claude install-skill Coolkidlab-Yin/Coolkidlab
# Claude Code 跨對話斷點系統(claude-code-checkpoint-system) ## 什麼時候用 - 每開一個新 Claude Code 對話,都要手動交代「上次做到哪、為什麼這樣決定、有沒有留半成品」 - 長專案跨很多個對話接力,交接靠人腦記,講久了會漏 - 手上多個專案進度不一,「現在哪個最該處理」沒有任何地方能一眼回答 - 想要一層「狀態記在硬碟上、開場自動讀回來」的基礎建設,而不是更聰明的 AI ## 原理:為什麼會失憶、斷點系統補什麼 Claude Code 每個對話是獨立的,沒有跨對話記憶——新對話開場就是一張白紙。斷點系統補的不是模型能力,是基礎建設:把狀態寫在硬碟上,開場自動讀回來。 整套分四層: | 層 | 元件 | 做什麼 | |---|---|---| | 狀態層 | 每個專案一個 `.project/` 資料夾 | 存斷點:精簡斷點 + 長脈絡 + 決策日誌 | | 載入層 | SessionStart hook | 開場自動把斷點塞進 context | | 時間層 | UserPromptSubmit hook | 每則訊息注入當下精確時間 | | 視覺層 | 掃描全部專案的儀表板 | 回答「現在哪個專案最該處理」 | 最關鍵的設計判斷是**「讀強制、寫柔性」**: - **讀(載入斷點)走 hook 強制執行**——零成本、又絕對不能漏,用機器保證。 - **寫(更新斷點)只用柔性提醒**——如果用 hook 強制擋著不讓你隨手問一句,會非常煩。寫的那端留��人自由。 另外兩個設計判斷: - **決策日誌 append-only**:決策會演變,用新條目標 `supersedes` 舊的、永不覆寫,才能回溯整條演化線。 - **半成品保護**:精簡斷點裡放一個 `safe_to_continue` 旗標,任務開始設 `false`、乾淨結束才設回 `true`。開場載入看到 `false`,先警告上次有未完成的工作、問要繼續還是回滾,而不是悶頭往下做。 補充:hooks 是 Claude Code 在特定事件觸發時自動執行的 shell command。SessionStart hook 在每次開新對話時跑;UserPromptSubmit hook 在每次使用者送訊息前跑。設定在 `~/.claude/settings.json`。 ## 照步驟做 先確認使用者的作業系統跟專案結構,再一層一層建,每建一層停下來跟使用者確認再繼續。 ### 第 1 步:狀態層 —— `.project/` 三個檔 在專案根目錄建 `.project/` 資料夾,放三個檔: 1. **`current.yaml`** — 精簡斷點,控制在 30 行內(每次開場都要載入,太長會吃 context)。欄位: - `phase`:現在做到什麼階段 - `last_updated`:上次更新時間 - `safe_to_continue`:半成品旗標(任務開始設 false、乾淨結束設回 true) - `needs_human`:有沒有卡在需要人決定的事 - `next_task` / `next_input`:下一步做什麼、需要什麼輸入 - `open_issues`:未解問題清單 2. **`current.full.md`** — 長脈絡(架構、踩過的雷、外部依賴),按需才讀,不進開場載入��� 3. **`decisions.yaml`**