指令
這是 OpenSpec slash commands 的完整參考。這些指令在你的 AI 程式碼助理的聊天介面中呼叫(例如 Claude Code、Cursor 、Windsurf)。
關於工作流程模式與各指令的使用時機,請參閱 Workflows。關於 CLI 指令,請參閱 CLI。
快速參考
預設快速路徑(core profile)
| 指令 | 用途 |
|---|---|
/opsx:propose | 一步建立變更並產生規劃產物 |
/opsx:explore | 在確認變更前先思考構想 |
/opsx:apply | 實作變更中的任務 |
/opsx:archive | 封存已完成的變更 |
擴充工作流程指令(自訂工作流程選擇)
| 指令 | 用途 |
|---|---|
/opsx:new | 建立新的變更骨架 |
/opsx:continue | 根據相依關係建立下一個產物 |
/opsx:ff | Fast-forward:一次建立所有規劃產物 |
/opsx:verify | 驗證實作是否符合產物 |
/opsx:sync | 將差異規格合併至主規格 |
/opsx:bulk-archive | 一次封存多個變更 |
/opsx:onboard | 引導式完整工作流程教學 |
預設全域 profile 為 core。若要啟用擴充工作流程指令,請執行 openspec config profile,選擇 workflows,然後在你的專案中執行 openspec update。
指令參考
/opsx:propose
一步建立新的變更並產生規劃產物。這是 core profile 中的預設起始指令。
語法:
/opsx:propose [change-name-or-description]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
change-name-or-description | 否 | Kebab-case 命名或自然語言的變更描述 |
功能說明:
- 建立
openspec/changes/<change-name>/ - 產生實作前所需的產物(
spec-driven模式:proposal、specs、design、tasks) - 在變更準備好可執行
/opsx:apply時停止
範例:
You: /opsx:propose add-dark-mode
AI: Created openspec/changes/add-dark-mode/
✓ proposal.md
✓ specs/ui/spec.md
✓ design.md
✓ tasks.md
Ready for implementation. Run /opsx:apply.
提示:
- 此指令是最快的端對端路徑
- 若需要逐步控制產物,請啟用擴充工作流程,並改用
/opsx:new+/opsx:continue
/opsx:explore
在確認變更之前,先思考構想、調查問題 並釐清需求。
語法:
/opsx:explore [topic]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
topic | 否 | 你想探索或調查的主題 |
功能說明:
- 開啟一個無需固定結構的探索性對話
- 調查程式碼庫以回答問題
- 比較各種選項與方法
- 建立視覺化圖表以釐清思路
- 當洞察結晶化後,可銜接至
/opsx:propose(預設)或/opsx:new(擴充工作流程)
範例:
You: /opsx:explore
AI: What would you like to explore?
You: How should we handle authentication for the mobile app?
AI: Let me investigate your current auth setup...
[Analyzes codebase]
I see you're using session-based auth for the web app.
For mobile, we have three main options:
1. JWT tokens (stateless, works offline)
2. OAuth2 (if you need third-party login)
3. Extend current sessions (simpler, but requires connectivity)
Your API already has CORS configured. Which direction interests you?
You: Let's go with JWT. Can we start a change for that?
AI: Ready when you are. Run /opsx:propose add-jwt-auth to begin.
提示:
- 適用於需求不明確或需要調查的情況
- 探索過程中不會建立任何產物
- 適合在決策前比較多種方法
- 可以讀取檔案並搜尋程式碼庫
/opsx:new
建立新的變更骨架。建立變更資料夾後等待你以 /opsx:continue 或 /opsx:ff 產生產物。
此指令屬於擴充工作流程集(不包含在預設的 core profile 中)。
語法:
/opsx:new [change-name] [--schema <schema-name>]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
change-name | 否 | 變更資料夾名稱(未提供時會提示輸入) |
--schema | 否 | 要使用的工作流程 schema(預設:從設定檔或 spec-driven) |
功能說明:
- 建立
openspec/changes/<change-name>/目錄 - 在變更資料夾中建立
.openspec.yaml中繼資料檔案 - 顯示第一個可建立的產物範本
- 若未提供,則提示輸入變更名稱與 schema
建立內容:
openspec/changes/<change-name>/
└── .openspec.yaml # 變更中繼資料(schema、建立日期)
範例:
You: /opsx:new add-dark-mode
AI: Created openspec/changes/add-dark-mode/
Schema: spec-driven
Ready to create: proposal
Use /opsx:continue to create it, or /opsx:ff to create all artifacts.
提示:
- 使用描述性名稱:
add-feature、fix-bug、refactor-module - 避免使用通用名稱,如
update、changes、wip - Schema 也可在專案設定檔(
openspec/config.yaml)中設定
/opsx:continue
在相依鏈中建立下一個產物。每次建立一個產物,以實現漸進式進展。
語法:
/opsx:continue [change-name]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
change-name | 否 | 要繼續的變更(未提供時從上下文推斷) |
功能說明:
- 查詢產物相依圖
- 顯示哪些產物已就緒,哪些被阻擋
- 建立第一個就緒的產物
- 讀取相依檔案以取得上下文
- 顯示建立完成後可使用的內容
範例:
You: /opsx:continue
AI: Change: add-dark-mode
Artifact status:
✓ proposal (done)
◆ specs (ready)
◆ design (ready)
○ tasks (blocked - needs: specs)
Creating specs...
[Reads proposal.md, creates specs based on requirements]
✓ Created openspec/changes/add-dark-mode/specs/ui/spec.md
Now available: tasks
Run /opsx:continue to create the next artifact.
提示:
- 適用於希望在繼續前檢視每個產物的情況
- 適合需要掌控的複雜變更
- 多個產物可能同時就緒
- 可以在繼續之前編輯已建立的產物
/opsx:ff
快速前進完成產物建立。一次建立所有規劃產物。
語法:
/opsx:ff [change-name]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
change-name | 否 | 要快速前進的變更(未提供時從上下文推斷) |
功能說明:
- 按相依順序建立所有產物
- 透過待辦清單追蹤進度
- 當所有
apply-required產物完成時停止 - 建立下一個產物前先讀取每個相依項目
範例:
You: /opsx:ff add-dark-mode
AI: Fast-forwarding add-dark-mode...
✓ Creating proposal.md
✓ Creating specs/ui/spec.md
✓ Creating design.md
✓ Creating tasks.md
All planning artifacts complete!
Ready for implementation. Run /opsx:apply to begin.
提示:
- 適用於對建置內容有清晰概念的情況
- 比
/opsx:continue更快速地處理直 接明瞭的變更 - 之後仍可編輯產物
- 適合中小型功能
/opsx:apply
實作變更中的任務。逐一完成任務清單,撰寫程式碼並勾選已完成項目。
語法:
/opsx:apply [change-name]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
change-name | 否 | 要實作的變更(未提供時從上下文推斷) |
功能說明:
- 讀取
tasks.md並識別未完成的任務 - 逐一處理任務
- 視需要撰寫程式碼、建立檔案、執行測試
- 以核取方塊
[x]標記已完成的任務
範例:
You: /opsx:apply
AI: Implementing add-dark-mode...
Reading tasks.md:
- [ ] 1.1 Create ThemeContext
- [ ] 1.2 Add CSS custom properties
- [ ] 1.3 Implement localStorage persistence
Working on 1.1: Create ThemeContext...
[Creates src/context/ThemeContext.tsx]
✓ 1.1 Complete
Working on 1.2: Add CSS custom properties...
[Updates src/styles/globals.css]
✓ 1.2 Complete
...
提示:
- 若中斷可從上次中斷處繼續
- 可透過指定變更名稱來處理平行變更
- 完成狀態記錄在
tasks.md的核取方塊中
/opsx:verify
驗證實作是否符合你的變更產物。檢查完整性、正確性與一致性。
語法:
/opsx:verify [change-name]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
change-name | 否 | 要驗證的變更(未提供時從上下文推斷) |
功能說明:
- 從三個維度檢查實作品質
- 搜尋程式碼庫中的實作佐證
- 將問題分類為 CRITICAL、WARNING 或 SUGGESTION 並回報
- 不會阻擋封存,但會將問題浮出
驗證維度:
| 維度 | 驗證內容 |
|---|---|
| Completeness(完整性) | 所有任務完成、所有需求已實作、情境已涵蓋 |
| Correctness(正確性) | 實作符合規格意圖、邊界情況已處理 |
| Coherence(一致性) | 設計決策反映於程式碼、模式保持一致 |
範例:
You: /opsx:verify
AI: Verifying add-dark-mode...
COMPLETENESS
✓ All 8 tasks in tasks.md are checked
✓ All requirements in specs have corresponding code
⚠ Scenario "System preference detection" has no test coverage
CORRECTNESS
✓ Implementation matches spec intent
✓ Edge cases from scenarios are handled
✓ Error states match spec definitions
COHERENCE
✓ Design decisions reflected in code structure
✓ Naming conventions consistent with design.md
⚠ Design mentions "CSS variables" but implementation uses Tailwind classes
SUMMARY
─────────────────────────────
Critical issues: 0
Warnings: 2
Ready to archive: Yes (with warnings)
Recommendations:
1. Add test for system preference detection
2. Update design.md to reflect Tailwind usage, or refactor to use CSS variables
提示:
- 在封存前執行以提早發現不符之處
- 警告不會阻擋封存,但表示潛在問題
- 適合在提交前審查 AI 的工作成果
- 可揭露產物與實作之間的落差
/opsx:sync
選用指令。 將變更中的差異規格合併至主規格。封存時若尚未同步則會提示,因此通常不需要手動執行此指令。
語法:
/opsx:sync [change-name]
參數:
| 參數 | 必填 | 說明 |
|---|---|---|
change-name | 否 | 要同步的變更(未提供時從上下文推斷) |
功能說明:
- 從變更資料夾讀取差異規格
- 解析 ADDED/MODIFIED/REMOVED/RENAMED 區塊
- 將變更合併至主
openspec/specs/目錄 - 保留差異中未提及的既有內容
- 不會封存變更(保持活動狀態)