skill-factory
以謹慎維護者的方式建立技能,然後在獲得使用者核准前暫停發布。可在任何代理中運作;每個步驟都會指定最佳工具和一個永遠能運作的備用方案。
輸入:一個技能點子,或由loot交出附有證據(查詢、搜尋結果、證明、邊界情況)的drop。目標資料夾:由使用者指定,否則為目前儲存庫歷史之外的../<slug>。
1. 規格
撰寫SPEC.md:目標、輸入與輸出,以及一份每一行皆可測試的驗收檢查清單。內容控制在一頁以內。如果loot已交出該項目,則重複使用其證據,而非再次搜尋。僅在對點子有兩種解讀會產生不同技能時,才詢問使用者。
2. 建置,測試優先
- 如果代理有技能創作輔助工具(在Claude Code中:
anthropic-skills:skill-creator),則使用它來建立技能及其評估。 - 否則自行撰寫
SKILL.md:包含name(kebab-case)和description(說明技能功能與觸發時機)的frontmatter,然後是步驟。 - 腳本在程式碼之前先有測試(
node:test或pytest)。持續實作直到測試通過。使用檔案編輯工具撰寫檔案,而非shell here-docs。 - 執行所有測試和評估。保留確切命令及其輸出,供步驟4使用。
3. 獨立審查
建立者不應評分自己的工作。
- 最佳做法: 啟動一個未見過此對話的子代理。僅給予它目標資料夾和
references/release-checklist.md,並附上簡要說明:「根據檢查清單審查<資料夾>中的技能。對每個項目回答PASS或FAIL,並附上file:line的證據。若不確定則回報FAIL。標記任何測試或評估未證實的主張。」 - 備用方案: 無子代理:針對檢查清單的每個項目,先撰寫最強烈的論證說明其為何FAIL,然後再做決定。
修正所有FAIL,重新執行測試,再次審查。持續直到所有項目都通過,或某項目因使用者而受阻(說明是哪個項目及原因)。
4. 發布關卡
掃描機密:node <loot skill folder>/scripts/scan.mjs <folder>,若已安裝則加上gitleaks dir <folder>。然後向使用者顯示一份清單,並停止等待明確的「是」:
- 儲存庫名稱,公開或私有
- 版本和變更日誌行
- 要發布的檔案
- 測試和評估結果(命令 + 通過數量)、審查結論
- 任何跳過的項目
一次「是」僅涵蓋該清單內容。然後從全新的git init開始發布:提交release vX.Y.Z,標籤,gh repo create並推送,然後將技能安裝到使用者代理載入技能的位置。若無gh或未登入:則印出命令。從不要求輸入、輸入或儲存憑證。
5. 報告
以平實語言傳送一條簡短訊息:連結、測試結果、審查結果,以及留給使用者完成的事項。