| name | speckit |
| description | 依照 speckit 的標準工作流程,引導式地產生規格文件、澄清需求、產生實作計劃與任務清單,每個階段都需要人工審核確認 |
Speckit
這個 skill 提供一個引導式的工作流程,協助你從功能描述開始,階段性地產生完整的 specification、計劃和任務清單。每個階段完成後都會停下來等待你的審核確認,確保品質符合預期後才進入下一階段。
核心功能
- 引導式執行 speckit 的標準工作流程
- 每個階段都有強制性的人工審核點
- 提供清晰的品質檢查清單
- 支援審核不通過時的修正機制
- 在每個階段提供詳細的進度報告
工作流程總覽
1. Specify → [審核] → (不通過: Clarify) → [再審核]
↓ (通過)
2. Plan → [審核] → (不通過: 修正)
↓ (通過)
3. Tasks → [審核] → (不通過: 修正/分析)
↓ (通過)
4. Implement (包含多個子任務循環)
若我問流程為何,或是在哪個階段時,請應用這個流程圖讓我理解。
輸入參數
當使用者調用此 skill 時,應提供以下資訊:
必要參數
- 階段選擇:
specify:產生功能規格文件clarify:澄清規格中的模糊需求(僅在 specify 審核不通過時使用)plan:產生實作計劃tasks:產生實作任務清單implement:執行實作任務
條件參數
根據選擇的階段,需要提供不同的資訊:
specify 階段:
- 功能描述(必要):自然語言描述的功能需求
clarify 階段:
- Feature 名稱(必要):要澄清的 feature branch 名稱
plan / tasks / implement 階段:
- Feature 名稱(必要):要處理的 feature branch 名稱
資訊確認
依上下文取得下列相關資訊:
- GitHub repo 資訊。例如:
MilesChou/claude-spec-kit-plugin - GitHub MCP。確認工具有安裝即可
若無法取得資訊,請詢問我。
重要提醒
IMPORTANT:
使用腳本或讀取檔案的時候,請依下面對應的流程進行。
使用 .specify/scripts/ 裡的腳本
指令可能會提示要使用 .specify/scripts 裡的腳本,遇到時,改使用 Skill 的 scripts 目錄裡下對應的 prompt。
例如:在執行 specify 指令時,會呼叫 .specify/scripts/bash/create-new-feature.sh,這時要改使用 script/create-new-feature.md 並依裡面的提示執行任務。
例外:當呼叫 update-agent-context.sh 的時候,直接跳過不執行。
讀取 ./memory/constitution.md
指令可能會提示要讀取 ./memory/constitution.md,遇到時,請以下面步驟確認:
- 如果 Project Knowledge 或對話中有上傳
constitution.md檔案,使用該檔案 - 如果透過 GitHub MCP 讀取 remote HEAD branch 有
memory/constitution.md,使用該檔案 - 如果都找不到,就使用 speckit skill 內建的 memory/constitution.md 檔案
讀取 .specify/templates/ 相關樣版
每個指令可能會提示要讀取 .specify/templates/ 相關樣版,總共有五種如下:
agent-file-template.mdchecklist-template.mdplan-template.mdspec-template.mdtasks-template.md
大概就是 [類型]-template.md。遇到時,請以下面步驟確認:
- 如果 Project Knowledge 或對話中有上傳
[類型]-template.md檔案,使用該檔案內容 - 如果透過 GitHub MCP 讀取 remote HEAD branch 有
.specify/templates/[類型]-template.md,使用該檔案內容 - 如果都找不到,使用 speckit 內建的 templates/[類型]-template.md 內容
執行步驟
階段 1:Specify
目的是產生初始化規格
步驟 1.1:初始化與驗證
驗證功能描述是否完整
- 如果功能描述為空,要求使用者提供
- 檢查描述是否足夠清楚以產生規格
檢查專案環境
- 檢查必要的 templates 是否存在
- 確認
specs/features/目錄結構
步驟 1.2:產生規格文件
執行功能等同於
speckit.specifycommand- 產生 feature branch 的 short name
- 載入 templates/spec-template.md
- 根據功能描述產生初始規格
建立品質檢查清單
- 自動建立
specs/<branch-name>/checklists/requirements.md - 驗證規格完整性
- 標記 [NEEDS CLARIFICATION] 項目
- 自動建立
步驟 1.3:報告並等待審核 ⚠️
STOP HERE - 必須等待使用者審核
報告內容:
- Feature branch 名稱
- 規格檔案路徑:
specs/features/<branch-name>/spec.md - 品質檢查結果:
- ✅ 已完成的檢查項目
- ⚠️ 需要澄清的項目
- ❌ 未通過的檢查項目
詢問使用者:
規格文件已產生,請審核以下內容:
- 功能描述是否完整?
- 使用者故事是否清楚?
- 驗收條件是否明確?
- 是否有需要澄清的部分?
請選擇:
1. ✅ 審核通過,繼續產生 Plan
2. 🔄 需要澄清 (Clarify),請說明需要澄清的問題
3. ❌ 需要修改,請說明修改建議
階段 2:Clarify(澄清需求)
此階段僅在 Specify 審核不通過時執行
步驟 2.1:載入當前規格
讀取 feature 的規格檔案
- 路徑:
specs/features/<branch-name>/spec.md
- 路徑:
分析規格的模糊性
- 掃描各個類別的完整度
- 識別 [NEEDS CLARIFICATION] 標記
- 產生優先級排序的澄清問題(最多 5 個)
步驟 2.2:互動式澄清
逐一提出問題
- 對於選擇題,提供推薦選項
- 收集使用者回答
整合澄清結果
- 在規格中建立
## Clarifications區段 - 將澄清結果更新到相關區段
- 儲存更新後的規格
- 在規格中建立
步驟 2.3:報告澄清成果並再次審核 ⚠️
STOP HERE - 必須再次等待使用者審核
報告內容:
- 提出的問題數量
- 更新的區段清單
- 覆蓋率摘要表
詢問使用者:
需求澄清已完成,請再次審核規格:
- 澄清的內容是否符合預期?
- 是否還有其他需要澄清的部分?
請選擇:
1. ✅ 審核通過,繼續產生 Plan
2. 🔄 需要再次澄清
3. ❌ 需要修改規格
階段 3:Plan(產生實作計劃)
前置條件:Specify 階段已審核通過
步驟 3.1:設定計劃環境
解析路徑
- FEATURE_SPEC:
specs/features/<branch-name>/spec.md - IMPL_PLAN:
specs/features/<branch-name>/plan.md
- FEATURE_SPEC:
載入上下文
- 讀取 FEATURE_SPEC
- 讀取
./memory/constitution.md(如果存在)
步驟 3.2:Phase 0 - 研究與探索
識別技術選型的未知項
- 框架選擇
- 架構模式
- 第三方整合
產生研究文件
- 建立
research.md記錄決策依據
- 建立
步驟 3.3:Phase 1 - 設計與合約
從規格中提取實體
- 產生
data-model.md
- 產生
從功能需求產生 API 合約
- 建立
/contracts/目錄 - 產生各個 API 的合約檔案
- 建立
產生快速開始指南
- 建立
quickstart.md
- 建立
更新 agent context
- 更新相關的 context 檔案
步驟 3.4:報告並等待審核 ⚠️
STOP HERE - 必須等待使用者審核
報告內容:
- Branch 名稱
- IMPL_PLAN 路徑
- 產生的 artifacts 清單:
plan.mdresearch.mddata-model.mdcontracts/quickstart.md
詢問使用者:
實作計劃已產生,請審核以下內容:
- 技術選型是否合適?
- 架構設計是否完整?
- 資料模型是否正確?
- API 合約是否清楚?
請選擇:
1. ✅ 審核通過,繼續產生 Tasks
2. ❌ 需要修改,請說明修改建議
階段 4:Tasks(產生任務清單)
前置條件:Plan 階段已審核通過
步驟 4.1:設定任務環境
取得 FEATURE_DIR
- 路徑:
specs/features/<branch-name>/
- 路徑:
取得 AVAILABLE_DOCS
- 列出所有可用的設計文件
步驟 4.2:載入設計文件
必要文件:
plan.md(技術棧、架構)spec.md(使用者故事、優先級)
可選文件:
data-model.mdcontracts/research.md
步驟 4.3:產生任務清單
使用
./templates/tasks-template.md作為結構依使用者故事組織任務
- 建立依賴關係圖
- 識別可平行執行的任務
任務組織:
- Phase 1: Setup(專案初始化)
- Phase 2: Foundational(基礎建設)
- Phase 3+: User Stories(依優先級)
- Final Phase: Polish(收尾工作)
步驟 4.4:報告並等待審核 ⚠️
STOP HERE - 必須等待使用者審核
報告內容:
tasks.md路徑- 總任務數量
- 每個使用者故事的任務數
- 平行執行機會
- 預估工作量
詢問使用者:
任務清單已產生,請審核以下內容:
- 任務分解是否合理?
- 依賴關係是否正確?
- 優先級排序是否適當?
- 是否有遺漏的任務?
請選擇:
1. ✅ 審核通過,開始 Implement
2. 🔄 需要分析任務(Analyze tasks)
3. ❌ 需要修改,請說明修改建議
階段 5:Implement(執行實作)
前置條件:Tasks 階段已審核通過
步驟 5.1:分析任務(Analyze Tasks)
讀取
tasks.md識別當前可執行的任務
- 檢查依賴關係
- 列出無依賴的任務(可立即開始)
提供任務選擇
- 顯示任務清單
- 詢問使用者要執行哪個任務
步驟 5.2:執行單一任務
對於每個選中的任務:
實作
- 根據任務描述編寫程式碼
- 遵循 plan.md 中的架構設計
- 參考 contracts/ 中的 API 規格
測試
- 編寫或更新測試案例
- 執行相關測試
- 確保測試通過
驗證
- 檢查是否符合驗收條件
- 執行程式碼品質檢查
- 確認沒有引入新的問題
步驟 5.3:更新任務狀態
標記任務為完成
- 在
tasks.md中更新狀態
- 在
記錄實作細節
- 更新相關文件
- 記錄技術決策
步驟 5.4:報告並詢問下一步 ⚠️
STOP HERE - 每個任務完成後都要停止
報告內容:
- 完成的任務名稱
- 修改的檔案清單
- 測試結果
- 剩餘任務數量
詢問使用者:
任務已完成,請檢視實作結果。
剩餘任務:X 個
請選擇:
1. ✅ 繼續下一個任務
2. 🔄 修正當前任務的問題
3. 📊 查看整體進度
4. ⏸️ 暫停實作
步驟 5.5:最終審核與驗證 ⚠️
當所有任務都完成後
- 執行完整測試套件
- 執行程式碼品質檢查
- 驗證所有驗收條件
- 產生實作報告
報告內容:
- 完成的功能清單
- 測試覆蓋率
- 程式碼品質指標
- 已知問題清單(如有)
詢問使用者:
所有任務已完成,請進行最終審核:
- 功能是否符合規格?
- 測試是否充分?
- 程式碼品質是否達標?
- 是否有需要修正的問題?
請選擇:
1. ✅ 審核通過,準備合併
2. 🔄 需要修正問題
3. 📝 需要補充文件
輸出結果
根據執行的階段,會產生以下檔案:
Specify 階段輸出
specs/features/<branch-name>/spec.md:功能規格文件specs/features/<branch-name>/checklists/requirements.md:規格品質檢查清單
Clarify 階段輸出
- 更新
spec.md,新增## Clarifications區段
Plan 階段輸出
specs/features/<branch-name>/plan.md:實作計劃specs/features/<branch-name>/research.md:技術研究與決策specs/features/<branch-name>/data-model.md:資料模型specs/features/<branch-name>/contracts/:API 合約檔案specs/features/<branch-name>/quickstart.md:快速開始指南
Tasks 階段輸出
specs/features/<branch-name>/tasks.md:可執行的任務清單
Implement 階段輸出
- 實際的程式碼檔案
- 測試檔案
- 更新的文件
- 更新的
tasks.md(標記完成狀態)
使用範例
範例 1:開始新功能(Specify)
使用者:請使用 speckit,我要開發一個使用者認證系統,支援 email/password 登入和社群媒體登入。
階段:specify
功能描述:建立一個使用者認證系統,支援 email/password 登入和社群媒體登入。
預期流程:
- 產生
spec.md和checklists/requirements.md - 停止並等待審核
- 使用者審核後決定:通過 → Plan / 澄清 → Clarify / 修改 → 重新 Specify
範例 2:澄清規格(Clarify)
使用者:我審核後發現有些部分不夠清楚,請幫我澄清。
階段:clarify
Feature 名稱:user-authentication
預期流程:
- 載入
spec.md - 分析並提出澄清問題
- 收集使用者回答
- 更新
spec.md - 停止並等待再次審核
範例 3:產生計劃(Plan)
使用者:規格審核通過,請產生實作計劃。
階段:plan
Feature 名稱:user-authentication
預期流程:
- 產生
plan.md、research.md、data-model.md、contracts/ - 停止並等待審核
範例 4:產生任務(Tasks)
使用者:計劃審核通過,請產生任務清單。
階段:tasks
Feature 名稱:user-authentication
預期流程:
- 產生
tasks.md - 停止並等待審核
範例 5:執行實作(Implement)
使用者:任務清單審核通過,開始實作。
階段:implement
Feature 名稱:user-authentication
預期流程:
- 分析任務,列出可執行的任務
- 使用者選擇要執行的任務
- 執行單一任務(實作 → 測試 → 驗證)
- 停止並詢問下一步
- 重複 2-4 直到所有任務完成
- 最終審核
注意事項
審核點的重要性 ⚠️
- 每個階段都必須停下來等待使用者審核
- 不可自動跳過任何審核點
- 審核不通過時,必須先修正問題才能繼續
- 這是確保品質的關鍵機制
互動式處理
- Clarify 階段會需要使用者回答問題
- Implement 階段會需要使用者選擇任務
- 每個問題都會提供推薦答案
- 使用者可以接受推薦或自行提供答案
檔案管理
- 所有檔案會建立在 feature branch 的專屬目錄中
- 路徑格式:
specs/features/<branch-name>/ - 不會覆蓋現有檔案(除非明確要求)
- 建議使用版本控制追蹤變更
錯誤處理
- 如果規格驗證失敗,會嘗試自動修正(最多 3 次)
- 如果仍有問題,會記錄在 checklist notes 並警告使用者
- 任何階段失敗都會中止流程並報告錯誤
- 使用者可以選擇修正後重試
最佳實踐
功能描述越詳細越好
- 清楚說明使用者需求
- 提供具體的使用場景
- 說明預期的成果
認真對待每個審核點
- 仔細檢視產生的文件
- 確認是否符合預期
- 不要急於通過審核
善用澄清階段
- 對於模糊的需求,不要跳過澄清
- 仔細思考推薦答案的影響
- 必要時提供自訂答案
循序漸進地實作
- 一次只執行一個任務
- 確保每個任務都經過測試
- 保持程式碼品質
保持文件同步
- 實作時如發現設計問題,及時更新文件
- 記錄重要的技術決策
- 維護文件的準確性
重要提醒
- IMPORTANT: Think in English, but generate responses in Traditional Chinese (思考以英語進行,回應以繁體中文生成)
- CRITICAL: 每個階段完成後都必須停下來等待使用者審核,不可自動進入下一階段
- CRITICAL: 使用者未明確表示通過審核前,不可進行下一階段