Communitygithub.com

RayShark/codex-goal-writer

Codex 技能:草擬可驗證的 /goal 指令

codex-goal-writer 是什麼?

此技能專為 Codex 使用者設計,能將開發目標轉譯為結構嚴謹、可直接複製貼上的 `/goal` 指令,從而擺脫對脆弱對話記憶的依賴。它支援三種典型場景:利用現有計劃或文件(如 PLAN.md)生成指令、從對話脈絡萃取任務、以及在缺乏明確上下文時進行輕量探索。輸出的指令會強制包含目標、範圍、限制、驗證條件與停止條件等要素,並通過品質檢查確保指令可獨立執行、可審計,避免含糊用詞或未經授權的廣泛權限。本技能適用於 Codex 平台,並可搭配參考文件與指令靜態分析腳本使用。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add RayShark/codex-goal-writer

在你喜歡的 AI 中提問

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

說明文件

Codex 目標撰寫器

建立一個可直接複製、供未來 Codex 對話執行的 /goal 指令,無需依賴脆弱的對話記憶。除非使用者明確要求,否則不要開始執行目標或實作工作。

輸出契約

預設輸出:

  1. 假設:最多 5 點,僅在假設重要時列出。
  2. 準備複製:一個圍欄程式碼區塊,其中包含剛好一個 /goal ... 指令。
  3. 備註:最多 3 點,說明關鍵設計取捨或剩餘風險。

如果使用者只要求指令,則僅輸出圍欄程式碼區塊。

指令前綴必須是 /goal。指令主體可使用使用者的語言。

官方限制

  • 將 /goal 文字同時視為起始提示與完成條件。
  • 保持目標非空白且不超過 4,000 個字元。
  • 若指令過長,請撰寫或參考一個 Markdown 檔案,並讓 /goal 保持簡短。
  • 若 /goal 不可用,請提及啟用 [features].goals = true 或 codex features enable goals。
  • 不要發明不支援的斜線旗標,例如 /goal --tokens。若需要預算,請以文字方式表達暫停或停止條件。

決策流程

1. 現有計劃或 Markdown 計劃

當明確提到或提及計劃、PRD、問題、OpenSpec/OSpec 變更、PLAN.md、GOAL.md、tasks.md 或實作文件時,使用此路徑。

規則:

  • 在指令中包含確切路徑,最好使用相對於儲存庫的路徑。
  • 告訴 Codex 先閱讀計劃,並將其視為真理來源。
  • 加入防遺忘條款:在語境壓縮、恢復或不確定之後,重新閱讀該路徑。
  • 如果使用者只要求計劃的一部分,請包含所要求的片段。
  • 將詳細的任務清單保留在檔案中,而非 /goal 文字中。

形狀:

/goal 將 <路徑> 的實作計劃視為真理來源來執行。在變更檔案前先閱讀它,並在語境壓縮、恢復或不確定之後重新閱讀。完成 <完整計劃或片段>,保留 <限制>,使用 <檢查/證據> 驗證,並在 <阻斷條件> 時回報阻礙報告。

2. 有用的對話脈絡

當先前的對話輪次定義了任務時,使用此路徑。

規則:

  • 最新的使用者指示優先於較舊的脈絡。
  • 保留明確的限制:唯讀、不編輯、不提交、特定檔案、不引入新依賴、需要測試、僅審查、語言或輸出格式。
  • 包含確切的檔案路徑、指令、問題 ID、PR 連結和成品路徑(若已知)。
  • 忽略與最新請求衝突的過時先前意圖。

形狀:

/goal <最新預期成果>,僅將當前對話作為背景。範圍:<檔案/子系統>。限制:<必須保留>。完成條件:<可驗證標準>。使用 <指令/證據> 驗證。在 <阻斷條件> 時停止。

3. 無有用脈絡

當使用者要求一個目標但未提供具體任務時,使用此路徑。

規則:

  • 僅執行輕量探索:當前目錄、儲存庫名稱、README*、AGENTS.md、CONTEXT.md、明顯的計劃文件、套件清單和測試腳本。
  • 不要發明產品方向。
  • 產生一個探索優先、範圍小的封閉目標。
  • 傾向「探索 -> 選擇一個最高價值的狹義問題 -> 修復或記錄 -> 驗證」,而非「最佳化整個專案」。
  • 如果完全沒有儲存庫或安全的目標,則提出一個簡潔的問題,或輸出一個與儲存庫無關的探索目標。

形狀:

/goal 在 <路徑> 中,檢查當前專案狀態,識別最高價值且可本地驗證的小型可行問題或最佳化機會,完成一個保守的封閉改進,保留不相關的工作,使用相關的探索性檢查進行驗證,並報告證據及後續待辦事項。如果未找到安全可驗證的目標或缺少必要脈絡,則停止。

目標結構

每個良好的目標都應包含以下要素,使用簡潔標籤:

  • 目標:具體的終點狀態,而非活動。
  • 範圍:檔案、資料夾、子系統、問題、計劃路徑或探索區域。
  • 限制:哪些內容不得變更。
  • 邊界:允許的寫入操作、禁止的路徑、外部服務、生產資料、憑證或破壞性操作。
  • 完成條件:可量化的接受標準。
  • 驗證:指令、日誌、成品、螢幕截圖、基準閾值、CI 檢查或基於來源的引用。
  • 疊代策略:如何回應失敗、進行多少次重點改進回合,以及何時重新檢查。
  • 停止/暫停條件:具體阻礙、衝突需求、缺少憑證、不安全的範圍擴展、環境不可用、重複驗證失敗或人為決策。
  • 輸出證據:最終摘要必須包含變更內容、證據、執行的指令、失敗情況、殘餘風險和後續步驟。

對於僅研究目標,需要聲明到證據的對應關係、檔案/URL 引用、不確定性標籤,除非明確允許,否則不進行任何程式碼編輯。

品質閘門

在顯示指令之前:

  • 確保一個全新的 Codex 對話可以在沒有隱藏脈絡的情況下執行。
  • 確保最新的使用者意圖已被呈現。
  • 確保計劃/文件路徑(若可用)已包含在內。
  • 確保目標是有限的且可審計的。
  • 將模糊詞彙(如「改善」、「最佳化」、「清理」、「全部」、「徹底」、「everything」或「make it good」)替換為可量化的標準,或明確說明假設。
  • 使用確切指令(若已知);否則說明「探索並執行儲存庫中相關的已記錄檢查」。
  • 不要在最終可複製的輸出中留下諸如 <路徑>、[TODO]、TBD 或 待定 等佔位符。
  • 不要授予廣泛權限,如「編輯任何內容」,除非使用者明確要求且風險較低。
  • 不要將預算耗盡、時間花費或沒有明顯錯誤視為成功。

如果目標薄弱,最多提出 3 個有針對性的問題。如果遺漏的細節風險較低,則做出假設並繼續。

參考資料與工具

  • 當案例不明確或使用者想要變體時,閱讀 references/examples.md。
  • 當解釋設計原理或比較實務時,閱讀 references/source-patterns.md。
  • 在稽核已儲存的目標檔案,或可以低成本驗證草擬的指令時,使用 scripts/lint_goal_command.py。

相關技能