指令詳解

/opsx:ff 指令詳解

如何使用 /opsx:ff 快進生成所有尚未完成的規劃產物

指令用途

/opsx:ff「快進 (Fast-forward)」 的縮寫。它的作用是一口氣補齊當前變更計畫 (Change) 中所有尚未生成的規劃產物(例如 proposal.mddesign.mdtasks.md ),直接將計畫狀態推進至「可開始實作 (Ready for Implementation)」的階段。

/opsx:propose 的核心差異

許多人會混淆 /opsx:propose/opsx:ff,因為它們最終都能產出一套完整的規劃檔案。兩者的根本定位如下:

  • /opsx:propose:用於「全新開始」。當你連資料夾都還沒建立時,直接用它一氣呵成完成所有初始化與規劃。
  • /opsx:ff:常用於「中途接管」。例如,你先前使用 /opsx:new 啟動了漸進式計畫,並親自微調了 proposal.md。此時你不想再手動一步步產生剩下的 design.mdtasks.md,就可以調用 /opsx:ff 讓 AI 自動接手把剩下的文件補齊。

運作流程

  1. 檢查現有計畫:如果使用者未指定計畫,AI 助手會讀取當前專案上下文。若為新計畫,則先執行 openspec new change 進行初始化。
  2. 分析產物狀態:執行 openspec status,找出所有 status 為 pending 且其依賴已滿足的產物。
  3. 智慧補齊 (Fast-forward):依順序自動生成所有缺失的規劃文件,例如:若 proposal.md 已存在,則跳過,直接生成 design.mdtasks.md
  4. 提示實作:將計畫推進至 Ready 狀態,並引導使用者執行 /opsx:apply

實戰對話範例

以下是三個不同情境下的對話範例:

範例一:快進已有計畫的剩餘產物

  • Context: 專案中已存在以 /opsx:new 建立的 add-logout-feature 計畫,且使用者已手動完成 proposal.md
  • You:
    /opsx:ff
    
  • AI:

    偵測到進行中的變更計畫:add-logout-feature。 目前 proposal.md 已完成,正在為您快進生成剩餘產物:

    • ✓ 建立 design.md: 規劃清除 Cookie 與 Session 的後端邏輯。
    • ✓ 建立 tasks.md: 拆解出控制器修改與清除瀏覽器快取的 3 個步驟。

    快進完成!此計畫已進入 Ready 狀態。您可以執行 /opsx:apply 開始實作。


範例二:直接使用快進啟動新計畫

  • You:
    /opsx:ff "為 orders API 加入快取機制"
    
  • AI:

    好的,已為您建立新變更計畫 cache-orders-api,並快進生成所有產物:

    計畫已 Ready!請執行 /opsx:apply 進入實作。


範例三:計畫已是 Ready 狀態時的提示

  • You:
    /opsx:ff
    
  • AI:

    偵測到進行中的變更計畫 cache-orders-api

    該計畫的所有必要規劃產物(proposal, design, tasks)均已是 done 狀態。

    由於計畫已處於 Ready 狀態,無須執行快進。請直接執行以下指令開始修改程式碼:

    /opsx:apply