RCF-034:Phase 3 SKILL 雙路徑寫回
基本資訊
- 建立日期:2026-05-03
- 觸發條件:RCF 條件 4(修改 3 個 SKILL 核心執行步驟)
- 影響範圍:
.claude/skills/諮詢前分析.md+會議整理.md+諮詢完成.md+crm/CLAUDE.md(過渡期提示更新) - 關聯文件:
strategy/multi-session-framework.md§七 Phase 3
變更摘要
三個 SKILL 新增 tzlth-client/ 本機側寫回邏輯:
諮詢前分析:存放 section 三處→四處輸出
- 新增第 2 處:
tzlth-client\[代號]\prep\[日期]-analysis.md(本機完整版,含可識別資訊) - workspace 存在確認(Glob)→ 存在:寫入 + local git commit;不存在:跳過 + 對話標注
- 新增第 2 處:
會議整理:存放 section 更新
- 原「對話輸出,Tim 決定是否存入 crm/」→ 三處輸出(對話 / tzlth-client sessions/ / 不寫 HQ)
- workspace 存在確認(Glob)→ 存在:寫入 + local git commit;不存在:跳過 + 對話標注
諮詢完成:Step 1 末尾新增本機寫入子步驟
- workspace 存在確認(Glob)→ 存在:
tzlth-client\[代號]\sessions\[日期]-post.md(三關鍵字 + CRM 草稿全文)+ local git commit;不存在:跳過 + 對話標注
- workspace 存在確認(Glob)→ 存在:
crm/CLAUDE.md:過渡期提示更新(同步完成)
- 諮詢前文件 sub-note 移除「Phase 3 後」前綴
- ⚠️ 過渡期提示塊 → ✅ Phase 3 完成確認
WHY(為什麼這樣設計)
Phase 2 完成規則層,Phase 3 完成執行層
- Phase 2(RCF-033)已在主 CLAUDE.md + crm/ + finance/ 建立「本機側不 push GitHub、不列入 HQ 拉取」等規則說明
- Phase 3 將這些規則落地到 SKILL 的實際執行步驟中,Claude 執行 SKILL 時自動完成雙路徑寫回
過渡期手動寫回問題
- Phase 2 結束後,Phase 3 前:需 Claude 手動寫回 tzlth-client/,高遺漏風險
- SKILL 自動化 = 降低執行成本 + 確保寫回一致性 + 消除手動遺漏
workspace 不存在時跳過的設計
- SKILL 不假設每次都有對應的 tzlth-client workspace
- 跳過邏輯讓 SKILL 在「無 workspace」場景(練習情境、舊客戶無 workspace 等)仍可正常執行
- 對話中明確標注「已跳過」讓 Tim 知道發生了什麼,不是靜默失敗
local git commit 必要性
- tzlth-client/ 為 git no-remote 架構(詳見 RCF-005、RCF-033)
- 本機 commit 是版本歷史的唯一保存手段;無 commit = 修改可能被覆蓋
- IMP 記錄(Phase 1.5 乾跑,Session 105)明確標注「執行計畫未列 tzlth-client local git commit」為缺漏模式,本 RCF 修正
方案對比
| 方案 | 說明 | 選擇原因 |
|---|---|---|
| 方案 A:SKILL 不修改,Tim 手動寫入 | 過渡期現況;每次需 Tim 記得手動執行 | ❌ 高遺漏風險;Phase 3 的核心目的就是消除這個問題 |
| 方案 B:SKILL 自動寫回(本 RCF) | SKILL 執行時自動判斷 workspace → 寫入 + commit 或跳過 | ✅ 低成本、高一致性、可退回(git revert) |
過渡期說明
- Phase 3(本 RCF):SKILL 層寫回落地;crm/CLAUDE.md 過渡期提示更新為「已完成」
- Phase 4(待執行):
post-consultation-sop.md+consultation-sop-complete.md升級為「已落地」狀態描述 - Phase 5(待執行):首位客戶正式試行
影響評估
- 所有修改均可 git revert(可退回)
- tzlth-client/ 本機修改不影響 HQ 遠端
- 三個 SKILL 在無 workspace 情況下行為不變(跳過邏輯確保相容性)