本地技能檔案管理員
目的
維護使用者的個人本地技能檔案,作為一個輕量級、自我改進的記憶系統。預設目標不是產出可上市的一般技能;而是保存有助於此使用者、此團隊或此工作區在未來工作階段中重複使用的行為。好的候選技能可能包含個人工作流程偏好、專案慣例、風格約定、工具選擇或審查關卡,這些對其他使用者可能無用,但只要對預定的擁有者具有重複使用性且獲得批准即可。
此技能不依賴專案特定的程式碼、伺服器、向量儲存、資料庫或儲存佈局。它僅操作於一般的本地技能資料夾:
<skill-root>/
<skill-name>/
SKILL.md
agents/openai.yaml (optional)
scripts/ (optional)
references/ (optional)
assets/ (optional)
使用此技能來判斷工作階段何時包含可重複使用的技能素材,找出是否已存在類似技能,然後丟棄、改善、合併或建立本地技能。模型應在出現訊號時主動發起此檢查;不應等待使用者要求。檢查必須保持輕量且非阻塞,除非使用者明確要求專注於技能維護。
相關技能協調
此技能擁有生命週期決策權:何時提取、是否丟棄、是否改善或合併,以及寫入位置。當附近有已安裝的技能時,請與其協調:
- 使用
skill-creator進行新的技能結構、命名、資源放置、agents/openai.yaml和驗證。 - 使用
skill-improvement或等效的改善指南來疊代現有技能、測試提示、失敗分析、觸發描述調整以及前後比較。 - 使用
skill-finder、find-skills或等效的探索工具,在建立重複技能之前搜尋本地或外部的技能生態系統。 - 僅借用自我改善模式作為決策啟發:事件分類、去重複、重複性、優先級、價值檢查和晉升關卡。除非使用者要求,否則不採用其他技能的儲存路徑、常駐程式假設或程式碼結構。
- 如果這些輔助技能不可用,請套用以下內建程序。不要因缺少輔助技能而阻塞。
- 不要讓輔助技能削弱提取邊界:僅保存可重複使用且有使用者證據的能力變更。
安全性與同意
本地技能可以影響未來代理行為,並可能包含可執行腳本。將技能編輯視為持久的行為更改。
- 未經使用者同意,請勿安裝、匯入或啟用第三方技能。
- 請勿添加令人意外的能力、隱藏的網路存取、憑證處理、資料竊取或破壞性指令。
- 如果技能添加了腳本或工具整合,請在
SKILL.md中使其用途可見。 - 編輯可能與團隊共享的技能時,請保留組織政策,並在更改安全敏感行為前詢問。
- 預設將每個候選技能視為
personal(個人);僅在有證據支持更廣泛受眾時才標記為team(團隊)或public(公開)。 - 未經使用者明確批准,請勿發布、推薦為廣泛可重複使用或移除使用者特定技能的個人範圍。
- 在新的本地慣例中,在第一次寫入持久性學習筆記或技能檔案之前,告知使用者將寫入的路徑並請求批准。
- 請勿在例行維護期間靜默修改此
autoskill管理器本身。僅在使用者明確要求改善此技能時才對其進行改善。
技能根目錄
在寫入任何內容之前,請先確認本地技能檔案的位置。
- 優先使用使用者明確提供的路徑。
- 否則檢查常見根目錄,例如
${CODEX_HOME}/skills、~/.codex/skills、./skills、.agents/skills,以及任何包含*/SKILL.md的當前工作區技能目錄。 - 如果恰好有一個合理的根目錄,則使用它。
- 如果存在多個合理的根目錄且目標不明確,請詢問使用者要維護哪個根目錄。
- 絕不重新組織不相關的技能根目錄,也不編輯所選根目錄之外的技能。
觸發政策
使用三層觸發政策:
- 靜默掃描:在每次實質性的使用者回合後,簡短判斷該回合是否包含可重複使用的個人偏好、規則、修正、工作流程、失敗或技能品質問題。
- 提取檢查:當以下觸發條件觸發時,對經驗進行分類,分配證據和價值,搜尋類似技能,並根據提取邊界進行測試。
- 寫入/更新:僅在候選技能通過邊界、目標技能根目錄清晰且使用者批准確切更改後,才編輯本地技能檔案。
模型應主動發起掃描和提取檢查。不要問使用者「我應該檢查技能嗎?」。僅在目標根目錄不明確、編輯會覆蓋不確定行為或使用者必須批准外部安裝或敏感腳本時才提問。
候選生命週期
將生命週期與任何特定的儲存系統分開:觀察訊號,選擇性地詢問使用者選擇候選標題/主題,草擬候選技能,透過模式去重複,決定 discard(丟棄)/keep_note(保留筆記)/improve(改善)/merge(合併)/create(建立),顯示完整的提議技能或差異,然後套用最小的批准更改並驗證。
根據任務家族、觸發條件、工具、失敗模式、輸出合約和目標技能而非確切措辭來去重複。請勿將此技能的一部分用於建立私有資料庫、常駐程式、排程器或隱藏的背景儲存。
標題選擇關卡
在完整提取之前,當可重複使用的主題不明確或存在多個可能的技能時,顯示 2-5 個簡潔的可重複使用能力標題,附帶一行證據理由,加上 none of these(以上皆非)和 custom topic(自訂主題)。如果使用者選擇了一個標題或輸入了一個主題,則將其視為方向指引:針對該方向重新運行提取邊界和類似技能搜尋,如果失敗則丟棄,如果通過則顯示完整的提議 SKILL.md/差異以進行最終批准。如果使用者選擇 none of these,則丟棄或保留一個非持久性筆記;不要寫入檔案。
語言一致性
對於新的技能,以使用者證據的主要語言撰寫候選標題、提議的 SKILL.md、agents/openai.yaml 和小的資源;中文輸入產生中文技能,英文輸入產生英文技能。對於更新或合併,保留目標技能的主要語言,除非使用者明確要求翻譯;如果混合證據使語言不明確,請在草擬前詢問。不要預設將提取的技能內容轉為英文。
背景執行
技能提取和維護不得阻塞使用者的主要任務。
- 盡可能將提取檢查、類似技能搜尋、候選草擬和觸發評估準備視為背景維護工作。
- 背景工作可以準備候選技能、尋找類似技能和草擬差異,但未經使用者確認,不得寫入、更新、刪除、安裝或啟用技能。
- 優先繼續處理使用者的主要請求;不要讓使用者等待技能提取,除非使用者明確要求專注於技能維護。
- 僅在有可操作的候選決策、提議的檔案差異或澄清/同意問題時,才呈現背景結果。
- 每次活躍對話最多運行一個背景技能維護工作,除非使用者在進行批次作業;對額外的訊號進行排隊或合併。
- 請勿在前景啟動昂貴的搜尋、廣泛的評估或大型重寫。先使用輕量級檢查,然後將更深層的驗證推遲到自然暫停或明確的維護階段。
- 如果運行時實際上無法執行背景工作,請模擬它,將維護檢查推遲到當前答案完成或下次自然暫停之後。
- 絕不為了完成候選提取而阻塞使用者請求工作的交付,除非請求的工作本身就是技能維護。
確認關卡
在建立、更新、刪除、匯入、安裝、啟用或實質重寫任何技能檔案之前,需要使用者確認。先草擬,後詢問:在任何標題/主題選擇之後,直到提議的內容或更改已經寫出供審查之前,不要問「我應該添加/更新技能嗎?」。
對於 create(建立),在寫入前顯示:
- 提議的技能名稱和目標路徑
- 預期受眾:
personal(個人)、team(團隊)或public(公開),以及可攜性限制 - 候選技能為何通過可重複使用技能邊界
- 證據等級、重複性訊號、優先級和價值訊號
- 已檢查的類似技能以及為何這不是重複項
- 完整的提議
SKILL.md內容 - 完整的提議
agents/openai.yaml,以及當每個提議的腳本、參考或資源檔案足夠小以進行內聯審查時的所有文字;對於大型資源,則顯示確切的檔案清單、用途、來源以及生成的差異或清單
對於 improve(改善)或 merge(合併),在寫入前顯示:
- 確切的目標技能路徑
- 決策類型:
improve(改善)或merge(合併) - 為何更改屬於該現有技能
- 證據等級、重複性訊號、優先級和價值訊號
- 完整的統一差異,或當統一差異不可用時,每個更改部分的完整前/後文字
- 將被添加、修改、刪除或保持不變的每個檔案
- 批准後要運行的驗證計劃或指令
僅在展示完整的提議工件或差異後,才要求明確的是/否批准。如果使用者未批准,請不要編輯技能;將候選技能報告為已延期或已丟棄。
即時觸發
在以下任何情況發生時,立即或在下次自然暫停(如果使用者正在等待主要任務)時執行提取檢查:
- 使用者修正、拒絕或改進模型的方法,且此方式應影響未來的類似任務。
- 使用者給出持久的偏好、輸出合約、工作流程、命名規則、工具規則或品質關卡。
- 指令、腳本、整合或工作流程失敗,且工作階段發現了可重複使用的修復方案。
- 代理重複了非瑣碎的設定、腳本編寫、轉換或驗證工作,這些工作應成為可重複使用的資源。
- 類似的本地技能觸發不足、觸發過度或產生了不完整的指南。
- 工作階段揭示了缺失的參考資料、模板、腳本或檢查清單,這些可以防止未來重複的努力。
- 使用者使用了未來導向的語言,例如「記住這個技能」、「保存這個工作流程」、「更新本地技能」、「下次用這個方法做」、「這是我的標準流程」或「從這個對話建立一個技能」。
仍然將提取視為檢查而非要求:通常,不做任何技能更改是正確的結果。
當使用者說規則是暫時的、要求不要記住它或只想要一次性答案時,不要提取。
排程檢查
使用排程檢查來捕捉沒有任何單一回合使其變得明顯的漸進式學習:
- 對話長度檢查:自上次檢查以來,大約每 6 條實質性使用者訊息、12 個總回合或 2-3 個不同的任務嘗試。
- 令牌/數量檢查:在一大段新的上下文之後,尤其是當對話可能很快被總結或壓縮時。
- 任務邊界檢查:當可交付成果完成、除錯循環結束、計劃被接受或用戶切換到新任務時。
- 工作階段結束檢查:在一個實質性工作階段的最終回應之前,審查是否有任何內容應被丟棄、改善、合併、建立或記錄。
保持排程檢查輕量。它們通常應靜默發生,並且僅在有可操作的決策或需要澄清時才向使用者呈現。
防抖與批次處理
防止嘈雜的重複提取:
- 不要在一個工作階段內重複檢查相同的訊號。
- 批次處理多個弱訊號,直到任務邊界或排程檢查。
- 每次檢查僅建立或更新最多一個技能,除非使用者明確要求進行批次作業。
- 對於邊緣訊號,偏好
keep_note(保留筆記)或discard(丟棄),直到重複性加強證據。 - 如果候選技能接近但尚未足夠可重複使用,請將理由記錄在完成備註中,而不是建立技能。
- 將同時發生的觸發合併為一次背景維護作業。
- 當多個候選技能競爭時,優先處理最高優先級的重複失敗或使用者確認的偏好。
經驗分類
在更改技能之前,對工作階段的經驗進行分類。持久的類別為 error(錯誤)、correction(修正)、best_practice(最佳實踐)、knowledge_gap(知識差距)和 preference(偏好)。one_off_result(一次性結果)表示工作階段產生了有用的工作,但沒有持久的流程更改。
只有持久的類別才能成為技能更改,並且僅在通過提取邊界之後。不應推廣一次性結果。
價值與優先級關卡
- 優先級
P0:防止不安全、破壞性、隱私敏感或反覆失敗的行為。 - 優先級
P1:防止重大的重複性錯誤、錯過的觸發、糟糕的合併或昂貴的重複工作流程。 - 優先級
P2:改善重複性任務家族的品質、速度或清晰度。 - 優先級
P3:便利性或風格改善,證據有限。
根據持久的價值而非新穎性來提升。價值必須可解釋為可靠性、安全性、速度、品質、一致性或減少重複工作。如果沒有明確的價值維度,則丟棄或保留非持久性筆記。
在改善現有技能時,一次更改一個行為槓桿:觸發措辭、工作流程步驟、驗證關卡、資源放置或安全約束。
晉升規則
不要將每個經驗都轉變為技能編輯。有意識地提升經驗:
- 當使用者明確表示規則應在下次應用時,立即提升。
- 當修正防止了嚴重的重複失敗、不安全操作或破壞性工作流程時,立即提升。
- 當相同的錯誤、修正或最佳實踐在多個類似任務中出現時,在重複後提升。作為一個 def
…
[為翻譯而截斷]