Community寫作與編輯github.com

Celestia-Milara/skills

搜尋並維護長期決策記憶,以避免舊提案重複提出、重複失敗嘗試或非顯而易見的限制遺失。在提出具體解決方案、決定行為或關鍵取捨、變更相關實作或行為測試以及撰寫決策記錄前使用;也可用於查閱歷史決策、解決衝突、取代決策或整理筆記。需配合子系統文件,記錄已確定的結論、理由、範圍及未選取的實際替代方案。

skills 是什麼?

此技能旨在解決AI代理在長期任務中常見的「決策失憶」問題。它提供一套結構化的方法,用於搜尋、建立、更新及組織「決策筆記」,確保過往的結論、被拒絕的方案、失敗的嘗試及重要的限制條件能被可靠地記錄與參考。技能適用於任何需要進行長期規劃與決策的AI代理平台,如Claude Code、Cursor等。其核心運作機制是透過明確定義筆記的生命週期(活躍、被取代、退役)與操作規則,引導代理在提出解決方案或修改程式前,先系統性地查閱既有紀錄,避免重蹈覆轍或在不知情下違反先前已確立的限制。此外,技能也詳細規範了何時應建立新筆記、如何記錄真正的結論(包含理由與未選擇的替代方案),以及在交付前應檢查的項目,確保決策邏輯的完整性與可追溯性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Celestia-Milara/skills/tree/HEAD/decision-notes

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

決策筆記

清楚區分使用者拒絕、失敗的嘗試、比較後未選擇的方案、延期項目以及範圍外項目。不要將它們都視為永久不可行。

筆記非用於未解決的提案、完整需求、實作步驟、任務進度或故障排除紀錄。將提案與實作計畫保留在設計與計畫文件中;在所屬子系統文件中維護當前行為,並與原始碼比對驗證。在筆記中維護長期理由;在其他位置摘要並連結至此。

1. 決策與變更前先搜尋

在開始以下工作前,查閱適用的專案層級限制、相關子系統文件及相關筆記:

  • 提出具體解決方案、確定行為或做出關鍵設計取捨。
  • 變更相關實作或行為測試;對於跨子系統工作,應涵蓋相關介面與共享限制。
  • 建立或變更決策記錄;首先搜尋相同主題的既有結論。

當使用者詢問歷史、發現決策指引或出現衝突時,直接閱讀相關記錄。純粹的拼寫、格式與狀態更新,若不涉及已確立的限制,則無需再次搜尋。

按以下順序定位與評估紀錄:

  1. 使用專案的Agent進入點尋找實際的筆記位置及適用的全域限制。使用子系統文件定位當前職責、合約、原始碼、測試及相關筆記。一個子系統可能橫跨多個套件或儲存庫,而一則筆記可能關聯多個子系統。
  2. 遵循連結,然後根據需要按問題、機制、解決方案名稱及限制進行搜尋。缺乏連結、對應的原始碼或匹配的名稱,並不能證明沒有相關歷史。如果不存在子系統頁面,則根據可用資料與任務主題定位相關上下文;不要預先建立空文件。
  3. 從標題、Status、Scope 及結論開始;必要時閱讀理由、替代方案與證據。優先參考當前有效的紀錄,然後根據相關性追溯歷史。當重新考慮舊方案或當前指引不足時,可直接搜尋歸檔紀錄。根據所涉及的範圍追溯取代關係;不要任意沿著鏈條追溯到最後。
  4. 確認紀錄的適用性與當前事實。如果目錄確實不存在,則繼續進行;僅在首次需要紀錄時才建立它。讀取失敗或搜尋無結果並不代表沒有歷史。

在同一個任務中,重複使用已驗證且仍適用的查詢結果。當範圍、關鍵前提或相關紀錄變更,或出現衝突時,重新檢查受影響的部分。不要僅僅因為輪次或技能改變就重新掃描所有內容。

僅在舊方案的前提條件已明確改變時,才主動再次提出該方案,並說明為何之前未被選中、哪些條件發生了變化以及影響為何。如果使用者明確變更了先前的決定,則遵循新的指示,無需再次請求批准。一般的實作授權不會自動取消既有的拒絕或範圍限制。

2. 決定是否建立紀錄

新的紀錄應滿足以下所有條件:

  1. 結論已確定。 它已被採用、拒絕、延期或限定範圍,或者存在失敗的結果及值得長期保留的條件。未解決的提案及待驗證的假設應屬於設計文件與計畫。
  2. 具有持久價值。 若無此理由,未來的Agent可能再次提出舊方案、重複有意義的失敗嘗試,或意外變更重要的限制。僅複述當前行為不符此門檻。
  3. 需要獨立的紀錄。 已搜尋過相關歷史,且無法透過更新事實、添加證據或釐清範圍來捕獲資訊。真正的決策變更需要根據取代規則建立新的紀錄。不要按日期、交付次數或替代方案的數量機械地建立紀錄。

典型主題包括:非顯而易見的子系統邊界、介面或持久性與相容性選擇;重要的選擇及未選擇替代方案的原因;刻意避免快取或自動重試的理由;可能被再次提出的重大拒絕或延期;以及有證據支持的長期失敗結論或跨任務政策。

通常,不要為格式化、機械式重新命名、從程式碼與測試即可理解的普通實作或修正、例行性依賴升級、一般故障排除嘗試、日誌、TODO 或進度建立筆記。大小不是標準。若現有筆記因工作而變得不準確,則維護它;若工作產生了符合門檻的新決策,則記錄之。

如果沒有明確的長期價值需要保留,不要為了填模板而建立紀錄。如果使用者明確要求保留某個重要決策,則重複使用或建立適當的來源;不要無聲地丟棄它。

3. 及時記錄真正的結論

一旦明確,立即記錄重要的結論;不要等到完成、會話結束或提交批准。決策可能來自使用者,或來自Agent在授權範圍內所做的選擇。記錄並不增加批准步驟,正在等待使用者決定的取捨也不能透過撰寫筆記來解決。

在撰寫之前,請閱讀格式與範例。預設位置是目標專案中的 .agents/notes/YYYY-MM-DD-topic.md;優先使用現有的專案位置。每個檔案保持一個決策主題及穩定的路徑。不要按狀態或子系統將筆記組織到目錄中。

  • 保留標題、Status 及 Scope。主體圍繞結論、理由及取捨展開;按需添加其他章節。除非專案有一致的語言,否則主體文字預設為英文。不要發明替代方案、要求固定數量或強制標記正面/負面後果。
  • 說明每個結論的範圍與條件。不要將已採用但尚未實作的目標描述為當前實作、遷移或部署事實。設計與計畫文件擁有實作進度。
  • 如果缺少理由,則說明其未被提供或記錄。對於失敗,保留其條件、結果及必要的證據或證據缺口;不要推斷為永久不可行。不要僅依賴後續會話無法存取的交談或暫存輸出。

4. 更新、取代與整理

狀態意義
active已明確採用且在其聲明範圍內仍然適用;有效的拒絕與延期也使用此狀態
superseded整個範圍已被一個或多個新決策取代
retired無任何內容仍有效,且無新決策完全接管此範圍

狀態不表示實作進度或候選解決方案的處理狀態。如果事實、名稱、路徑或證據發生變化但決策不變,則更新現有紀錄。當核心選擇或限制發生明顯變更時,建立新的紀錄。當證據失效時重新評估;不要自動變更決策。

在變更狀態、取代決策、處理部分取代或恢復舊方案之前,請閱讀狀態與取代。按範圍交叉連結新舊紀錄;在部分取代後保留剩餘的限制。如果舊方案被再次採用,請建立新紀錄,而不是抹去中間的決策。

在歸檔、合併或刪除之前,請閱讀保留與整理。預設保留紀錄。邏輯歸檔不移動路徑;合併不得抹去真正的決策變更;刪除前需遷移唯一資訊並更新參考。僅整理受當前任務影響的紀錄;完整的清理必須在範圍之內。

5. 交付前檢查

檢查與此工作相關的紀錄及相關範圍。即使沒有建立新筆記,也要檢查變更是否導致現有筆記不準確。

  1. 遺漏與重複: 重要的結論與長期理由是否已保存?它們是否僅存在於對話中?現有紀錄是否已經足夠?
  2. 真實性與證據: 不要將建議描述為決策、將目標描述為當前狀態、將失敗描述為永久拒絕、將未選擇的方案描述為禁止、或將延期描述為實作承諾。準確陳述未知、未提供及未驗證的資訊。
  3. 狀態與範圍: 範圍與條件是否準確?部分取代是否保留了剩餘義務?是否存在針對相同範圍與條件的衝突性有效結論?歸檔是否隱藏了當前的限制?
  4. 文件所有權: 更新受影響的子系統文件、設計、計畫與筆記;每個來源擁有其資訊,其他位置連結至該來源。
  5. 連結與取代鏈: 必要的來源是否可以定位?結論是否可以按範圍追溯,而無自引用連結、損壞連結或循環?整理是否保留了獨特的理由、證據及有意義的歷史參考?
  6. 驗證: 執行專案中已可用的相關檢查並審查其結果。如果沒有配置,則手動檢查。不要自動添加依賴項、腳本、CI 或格式遷移。修正發現的實際問題;不要捏造內容。當相關內容未變更時,重複使用成功的結果。

通過格式檢查並不證明理由正確、檢索完整或實作遵循決策。如果當前事實與紀錄衝突,請區分過渡安排、過時文件、不完整實作及實際衝突。修正已驗證的錯誤。如果關鍵判斷仍不清楚,請解釋衝突並請求決策;不要覆蓋新的使用者指示或聲稱完成。繼續進行不依賴答案的工作。

當新增、大幅更新、取代或整理筆記時,簡要說明變更內容、原因及任何差距,並附上連結。當沒有相關內容變更時,不要發出固定的「未新增筆記」訊息。

將程式碼、相關文件及筆記一起保留作為一個待交付成果。完成本輪的變更與檢查並展示結果後,詢問工作是否完成以及是否可以建立本地提交。如果使用者提供更多回饋,則繼續編輯。儲存或驗證筆記並不授權提交、推送或發布,也不要求提前提交筆記。

Individual skills in this repo

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

相關技能