Scoville Plan 是做什麼的?
在可審查的儲存庫檔案中維護專案方向,無需規劃 CLI、MCP 伺服器、資料庫、日誌或隱藏狀態。此技能掌管規劃紀律以及原生 Plan 和 Decision 的維護。它記錄人類已做出的選擇,並在提出未解決的具體選擇後,保留其作為提案,然後再請求其生命週期決策。它不會授予推斷選擇的權威,也不會證明所報告的工作已發生。
保持完整的支援 format_version: 1 功能表面:唯讀復原、設定、Plans、Work Items、Decisions、提案、生命週期、阻礙者、證據和狹義修復。使用直接原生編輯,而不移除或重新解釋專案知識功能。
明確選擇退出時,不要讀取參考、建立或變更規劃檔案,或做出基於技能的聲明。如果更高優先級的專案指令要求使用此 Plan 系統,請報告該確切衝突。同級的 Scoville 選擇退出僅排斥該同級。
遵循現有擁有者
按以下順序解決規劃需求:
- 目前請求的系統、安全和明確指令;
- 儲存庫指令及其現有規範規劃機制;
- 現有支援的原生設定檔;以及
- 此技能對於未指定事項的預設值。
切勿在專案擁有的 Plan 旁邊建立第二個 Plan。如果另一個持久的 Plan 系統已擁有狀態,請使用它,並僅在相容的情況下套用此技能的規劃品質護欄。執行期 Plan 是可丟棄的鏡像,絕非第二個規範擁有者。
此技能沒有必要的可執行依賴項,也絕不調用規劃 CLI。其捆綁的 Python 驗證器是選用的嚴格唯讀結構檢查,絕非寫入路徑。請勿聲明鎖定、原子多檔案發佈、型別化突變安全性或語意證明。使用一般的範圍檔案工具,並僅報告實際執行的檢查。
此技能獨立運作。絕不需要、安裝或模擬 Code、UI 或 Scribe。當兄弟技能可獨立應用時,僅組合其擁有的實作、介面或措辭問題;其缺席不會削弱 Plan 結構、生命週期、權威或證據規則。
決定是否需要持久規劃
對於多個相依結果、實際排序、必須在中斷或交接後倖存的工作,或具有約束力的專案工作流程,請使用儲存庫 Plan。對於一個小的可逆變更,除非專案已要求追蹤的 Work Item,否則直接實作並驗證。
在載入詳細資訊之前,先分類操作:
| 操作 | 載入 |
|---|---|
| 讀取目前方向或列出記錄而不寫入 | read-only.md |
| 初始化完全缺席的設定檔 | planning-granularity.md,native-plan-format.md,native-project-lifecycle.md 和 native-editing.md |
| 建立或重組 Plan | planning-granularity.md,native-plan-format.md,native-project-lifecycle.md 和 native-editing.md |
| 插入、細化、移動、選取、阻擋、推進或移除 Work Item | native-plan-format.md,native-work-items.md 和 native-editing.md |
| 記錄明確的人類選擇或具體可能的 Decision | native-decision-format.md,native-plan-format.md 和 native-editing.md |
| 套用明確授權的 Decision 轉換 | native-decision-format.md,native-plan-format.md 和 native-editing.md |
| 套用明確授權的接受或拒絕批次 | native-decision-format.md,native-decision-batches.md,native-plan-format.md 和 native-editing.md |
| 啟動、完成或取消 Plan | native-plan-format.md,native-project-lifecycle.md,native-work-items.md(當目前工作變更時)和 native-editing.md |
| 稽核原生 Plan 結構或生命週期 | native-plan-format.md;僅在判斷分解時才新增 planning-granularity.md |
| 稽核原生 Decision 結構或生命週期 | native-decision-format.md |
| 在原生寫入後驗證,或診斷完整的支援設定檔 | 通過 profile-validation.md 執行捆綁檢查,然後僅載入所報告診斷或修正所需的原生參考 |
對於唯讀狀態答案,請勿預載格式詳細資訊。
當設定檔存在性未知時,請在讀取任何規範路徑之前先列出專案根目錄。如果 PROJECT_INDEX.md 不存在,請勿嘗試讀取它。對於明確請求的新持久 Plan,將目前工作區視為設定根目錄,分類完整設定檔,並且僅在所有三個規範路徑完全不存在時才初始化。如果未請求建立,請報告不存在任何設定檔,而不是隱含地初始化一個。保留並停止在不完整、外部、不受支援或意圖無效的設定檔上。
保留權威和證據
- 切勿發明目標、非目標、接受結果、阻礙者、依賴項、證據或已接受的生命週期選擇。將實作、一般文件、原始碼、沉默和目前行為視為證據,而非人類授權。
- 在啟動、取消、範圍變更、較弱的接受度、不明確的後繼者,或採用僅為可能的具體選擇之前,請先詢問。
- 當使用者明確選擇方向、要求將其保留在專案規則中,或適用的專案指令明確陳述人類選擇的方向時,請建立並接受對應的 Decision,無需再次詢問。連結每個受影響的可變 Work Item。
- 當分析僅揭示關於範圍、架構、公開行為、儲存資料、安全性、依賴項、可逆性、接受度、遷移或部署的可能具體 Decision 時,請將其建立為
proposed,連結每個受影響的可變 Work Item,報告其建議、替代方案、權衡和實際影響,然後詢問使用者接受、拒絕或修改它。在收到該答案之前,請勿接受它。 - 請求草擬提案會建立
proposed。記錄所陳述方向的明確選擇授權其接受。未經該明確生命週期選擇,切勿拒絕、棄用或取代 Decision。 - 在專案工作開始時,盤點 Decision 前置資料,讀取每個提案,報告其 ID、標題、建議選擇和實際影響,並詢問使用者接受、拒絕或修改它。在交接時重複未解決的提案。僅有相依性工作會停止。
- 僅在觀察到其接受結果並新增簡潔證據後,才將 Work Item 標記為
done。檔案形狀檢查僅證明結構。 - 將失敗或部分工作保留為
in_progress、paused或明確受阻。
保持行為完整的 Work Items
- 最多保持一個 Work Item 為
in_progress,等同於current_item。這限制了並行執行;它不限制 Plan 總共只能有一個 Work Item。 - 將具有不同接受邊界、依賴項、擁有者或部署時機的獨立可恢復結果拆分為單獨的 Work Items。
- 將實作順序保留在選用步驟內。測試、審查、文件和發布檢查屬於接受度或證據,除非獨立請求的可交付成果需要其自身的可恢復結果。
- 僅在項目為
todo時更改撰寫的內容或排序。在開始後,保留其起始方法並僅更新即時狀態。 - 保持
Next action等於尚未執行的第一個具體行動。一旦存在實作,請將其推進到下一個未觀察到的測試、建置、瀏覽器檢查、審查或評估者擁有的驗證。 - 僅當相依性完成且後繼者明確時,才選取新的目前工作。僅當完成和確切替換開始都作為一個準備好的結果有效時,才使用
complete_and_advance。 - 當最終實際工作完成時,完成其 Work Item 和 Plan,並將專案索引設定為閒置。切勿僅僅為了保持活躍而發明後繼者。
原生且狹義地工作
在寫入之前,確認專案根目錄、支援格式、活躍 Plan、目前 Work Item、受影響的位元組、可觀察結果和接受證據。使用上下文相關的修補程式並保留無關的工作。在套用任何成員之前,準備完整的多檔案變更,同時承認直接編輯並非原子操作。
寫入後:
- 重新讀取每個已變更的規範檔案;
- 檢查完整的範圍差異;
- 檢查索引所有權、活躍 Plan 計數、目前項目狀態、Work Item 鍵順序、依賴項順序和循環、Decision 和 Plan 參考、阻礙者、生命週期欄位、證據和
Next action; - 當其腳本和 Python 已可用時,通過 profile-validation.md 執行捆綁的選用驗證器,否則執行並報告範圍手動檢查;以及
- 僅記錄觀察到的接受證據。
停止在不受支援的格式、並行變更、不明確的生命週期權威、修復會改變意圖的無效狀態,或部分的多檔案轉換上。請勿將問題覆寫成看似有效。
報告持久狀態
以目前的 Plan 結果為開端。命名已變更的規範檔案、活躍和受阻的工作、觀察到的檢查、記錄的證據、未解決的具體選擇,以及下一個具體行動。區分原生結構檢查和行為驗證。請勿敘述常規檔案操作。