Communitygithub.com

luci-efe/skills

當功能、重構或設計規格不足或存在相互競爭的作法時,在為涉及資料形狀、安全邊界、公開介面或多個檔案的程式碼之前使用。不適用於打錯字這類的小修正。

skills 是什麼?

此技能(`/crucible`)提供了一個結構化的設計探勘工作流程,適用於規格不明確或有多種可能作法的高風險工程工作。它強制在編寫任何程式碼之前,先進行嚴格的步驟:從程式碼中提取事實、循序檢查現有解決方案,以及系統性地處理五個關鍵軸線(範圍、資料不變量、失敗模式、安全/信任邊界、驗證證明)。支援 Claude Code 等 AI 編碼代理。該流程透過將問題限制在程式碼無法單獨解答的事項上,來最大限度地減少對人類的提問,並且在需要時,可以將有爭議的架構問題升級給「委員會」審查。最終產出是一份結構化的決策記錄,為後續實作提供藍圖,並明確標示出設計是否受阻。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/luci-efe/skills/tree/HEAD/skills/crucible

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

/crucible

先閱讀,最後再問。人類只回答程式碼無法回答的問題。

步驟 1:閱讀(先不發問)

以 path:line 的格式寫下程式碼已經決定的事實。之後的每個問題都必須是這些事實無法回答的事項。

步驟 2:階梯(在提出任何新方案之前)

針對請求變更的每個部分,在第一個「是」的地方停下來:

  1. 我們可以跳過或刪除它嗎? 需求是否已經滿足,或根本不需要? → 說出來。
  2. 它是否已經在儲存庫中? 現有的輔助函式、元件或模式 → 重複使用(引用 path:line)。
  3. 它是否在標準函式庫或現有的依賴項中? → 使用它。
  4. 只有在那之後: 最小化的新程式碼,不要有推測性的選項或抽象化。

步驟 3:五個軸線

針對每個軸線,標記為已確定(引用程式碼或請求)或未確定:

  1. 範圍:包含什麼,以及明確排除什麼。
  2. 資料與狀態不變量:必須永遠為真的事項。需要遷移嗎?
  3. 失敗模式:當遇到錯誤輸入、超時、部分失敗、重試時會發生什麼。
  4. 安全與信任邊界:誰可以呼叫此功能,可以傳入什麼資料,以及驗證邏輯在哪裡。
  5. 驗證證明:哪個檢查可以證明它已完成(饋送給 /proof)。

步驟 4:只詢問未確定的問題

  • 是否有軸線未確定,且答案會改變設計? → 發問。每批最多 3 個問題。每個問題都要提供你建議的答案及其取捨,這樣人類只需說「是」。
  • 軸線未確定但風險低? → 自行決定,並記錄為 assumed。
  • 所有軸線都已確定? → 不要發問。直接前往步驟 5。
  • 是否存在真正的架構分歧,值得聽取其他模型的意見? → 使用此記錄作為工件,召開 /council。

步驟 5:記錄

撰寫 .ramos/decisions/<topic>.md:

# <主題> (<日期>)
## 事實(來自程式碼)        - … (path:line)
## 階梯結果                - 重用 X / 標準庫 Y / 新增 Z (原因)
## 軸線                     | 軸線 | 已確定/假設/已回答 | 決定 | 來源 |
## 排除範圍             - …
## 證明                    - /proof 將執行的確切命令

完成條件

所有軸線都已確定、假設或回答,記錄已存在,且證明命令已命名。未回答的、會改變設計的問題 → 停止並向人類回報 blocked。不要開始寫程式。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能