# Spec-Driven 四階段說明 ## 為什麼要閘門 邊想邊寫碼會讓範圍漂掉。四份文件各解一個問題: | 文件 | 回答的問題 | 讀者 | |------|------------|------| | requirements | 我們要什麼?不要什麼? | 產品 / 你自己 | | spec | 系統對外行為是什麼? | 實作者 + 審查 | | plan | 分幾段交付、依賴與風險? | 排程 | | task | 下一小時具體改什麼? | 動手 agent / 人 | ## 閘門 checklist ### 需求通過 - [ ] 一句話產品目標清楚 - [ ] In / Out of scope 無互相打架 - [ ] P0 可獨立交付價值 - [ ] 成功標準可驗收(不是「更好用」) - [ ] 開放問題已列出(可帶預設假設) ### Spec 通過 - [ ] 主要實體與狀態可畫出 - [ ] 關鍵使用者路徑有行為描述 - [ ] Retain / Replace / Remove 對現況有交代 - [ ] 錯誤、權限、時間、分頁等跨切約定有寫 - [ ] 沒有偷偷寫實作步驟當規格 ### Plan 通過 - [ ] 里程碑順序合理、依賴無環 - [ ] 每里程碑有驗收方式 - [ ] 風險與不做清單明確 - [ ] 對應 task 區間可預估 ### Tasks 通過 - [ ] 每 task 單一 Done - [ ] 預估 100–200 行級(過大已拆) - [ ] Inputs / Outputs / 不做 / 驗收齊 - [ ] INDEX 可追蹤狀態 ## 與現有技能的關係 | 技能 | 關係 | |------|------| | `/design` | 偏設計文件 + PR Plan;本 skill 偏產品需求→小 task | | `/execute-plan` | 可在 **plan/tasks 批准後** 用來並行實作,非必須 | | `/check-work` | 單一 task 做完後驗證 | 第一版 **不必** 自動串 execute-plan;使用者說「實作 T003」即可。