支援的工具
OpenSpec 支援哪些 AI 程式碼工具,以及每個工具的指令語法。
矩陣中的每個工具執行相同的 OpenSpec 工作流程。技能和指令是相同的工作流程指示。 唯一的差別在於您輸入的內容。init 安裝哪種形式是傳遞設定,涵蓋於 設定您的專案。
支援矩陣
顯示套用工作流程的呼叫方式。每個工作流程都遵循相同的結構。 id 傳遞給 openspec init --tools <id> 以跳過選擇器 (CLI)。
| 工具 | --tools id | 技能 | 技能呼叫 | 指令 | 指令呼叫 |
|---|---|---|---|---|---|
| Amazon Q Developer | amazon-q | .amazonq/skills/ | /openspec-apply-change | .amazonq/prompts/ | @opsx-apply |
| Amp | amp | .agents/skills/ | /openspec-apply-change | none | none |
| Antigravity | antigravity | .agents/skills/ | /openspec-apply-change | .agents/workflows/ | /opsx-apply |
| AtomCode | atomcode | .atomcode/skills/ | /openspec-apply-change | .atomcode/commands/ | /opsx-apply |
| Auggie (Augment CLI) | auggie | .augment/skills/ | /openspec-apply-change | .augment/commands/ | /opsx-apply |
| IBM Bob | bob | .bob/skills/ | /openspec-apply-change | .bob/commands/ | /opsx-apply |
| Claude Code | claude | .claude/skills/ | /openspec-apply-change | .claude/commands/opsx/ | /opsx:apply |
| Cline | cline | .cline/skills/ | /openspec-apply-change | .clinerules/workflows/ | /opsx-apply |
| CodeArts | codeartsagent | .codeartsdoer/skills/ | /openspec-apply-change | none | none |
| CodeBuddy Code (CLI) | codebuddy | .codebuddy/skills/ | /openspec-apply-change | .codebuddy/commands/opsx/ | /opsx:apply |
| Code Studio | codestudio | .codestudio/skills/ | /openspec-apply-change | .codestudio/prompts/ | /opsx-apply |
| Codex | codex | .agents/skills/ | $openspec-apply-change | none | none |
| Continue | continue | .continue/skills/ | /openspec-apply-change | .continue/prompts/ | /opsx-apply |
| CoStrict | costrict | .cospec/skills/ | /openspec-apply-change | .cospec/openspec/commands/ | /opsx-apply |
| Crush | crush | .crush/skills/ | /openspec-apply-change | .crush/commands/opsx/ | /opsx:apply |
| Cursor | cursor | .cursor/skills/ | /openspec-apply-change | .cursor/commands/ | /opsx-apply |
| DeepSeek Harness | dsh | .dsh/skills/ | /openspec-apply-change | none | none |
| Devin Desktop (formerly Windsurf) | devin | .devin/skills/ | /openspec-apply-change | .devin/workflows/ | /opsx-apply |
| EasyCode | easycode | .easycode/skills/ | /openspec-apply-change | .easycode/commands/opsx/ | /opsx:apply |
| Factory Droid | factory | .factory/skills/ | /openspec-apply-change | .factory/commands/ | /opsx-apply |
| ForgeCode | forgecode | .forge/skills/ | /openspec-apply-change | none | none |
| Gemini CLI | gemini | .gemini/skills/ | /openspec-apply-change | .gemini/commands/opsx/ | /opsx:apply |
| GigaCode | gigacode | .gigacode/skills/ | /openspec-apply-change | .gigacode/commands/ | /opsx-apply |
| GitHub Copilot | github-copilot | .github/skills/ | /openspec-apply-change | .github/prompts/ | /opsx-apply |
| Grok Build | grok | .grok/skills/ | /openspec-apply-change | none | none |
| GSD | gsd | .agents/skills/ | ask for openspec-apply-change | none | none |
| Hermes Agent | hermes | .hermes/skills/ | /openspec-apply-change | none | none |
| iFlow | iflow | .iflow/skills/ | /openspec-apply-change | .iflow/commands/ | /opsx-apply |
| Junie | junie | .junie/skills/ | /openspec-apply-change | .junie/commands/ | /opsx-apply |
| Kilo Code | kilocode | .kilocode/skills/ | /openspec-apply-change | .kilo/command/ | /opsx-apply |
| Kimi Code | kimi | .kimi-code/skills/ | /skill:openspec-apply-change | none | none |
| Kiro | kiro | .kiro/skills/ | /openspec-apply-change | .kiro/prompts/ | /opsx-apply |
| Lingma | lingma | .lingma/skills/ | /openspec-apply-change | .lingma/commands/opsx/ | /opsx:apply |
| MiniMax Code | minimax-code | ~/.minimax/skills/ (global) | /openspec-apply-change | none | none |
| Mistral Vibe | vibe | .vibe/skills/ | /openspec-apply-change | none | none |
| Oh My Pi | oh-my-pi | .omp/skills/ | /openspec-apply-change | .omp/commands/ | /opsx-apply |
| OpenCode | opencode | .opencode/skills/ | /openspec-apply-change | .opencode/commands/ | /opsx-apply |
| Pi | pi | .pi/skills/ | /openspec-apply-change | .pi/prompts/ | /opsx-apply |
| Qoder | qoder | .qoder/skills/ | /openspec-apply-change | .qoder/commands/opsx/ | /opsx:apply |
| Qwen Code | qwen | .qwen/skills/ | /openspec-apply-change | .qwen/commands/ | /opsx-apply |
| Trae | trae | .trae/skills/ | /openspec-apply-change | .trae/commands/ | /opsx-apply |
| Veai | veai | .veai/skills/ | /openspec-apply-change | none | none |
| Warp | warp | .warp/skills/ | /openspec-apply-change | none | none |
| ZCode | zcode | .zcode/skills/ | /openspec-apply-change | .zcode/commands/opsx/ | /opsx:apply |
| Zoo Code | roocode | .roo/skills/ | /openspec-apply-change | .roo/commands/ | /opsx-apply |
| Other / Universal | agents | .agents/skills/ | /openspec-apply-change | none | none |
- 技能呼叫:工具是否將技能註冊為輸入項是工具自己的行為。該欄顯示 OpenSpec 在生成的檔案和 init 提示中使用的拼寫。如果輸入後無反應,請查閱您的工具文件。
- 指令檔案格式:大多數工具接受
.md指令檔案。EasyCode 和 Gemini CLI 接受.toml,Continue 接受.prompt,Code Studio、Kiro 和 GitHub Copilot 接受.prompt.md。無論何種格式,您輸入的拼寫都相同。
各工具注意事項
未在此處列出的工具,其行為與其所在列完全相同。
Amp
- 專案技能:Amp 從
.agents/skills/讀取 OpenSpec 技能。 - 無指令檔案:Amp 直接執行技能,因此 init 跳過指令生成。
- 共享資料夾:Amp 與 Antigravity、Codex、Zed Agent 和
agents目標共享.agents/skills/。OpenSpec 只寫入一次技能樹。
Antigravity
- 目前資料夾:Antigravity v1.20.5 及更高版本從
.agents/讀取工作區技能和工作流程。 - 傳統資料夾:在 OpenSpec 寫入替代檔案後,它會從
.agent/移除等效的生成檔案。自訂檔案和變更過的生成檔案會保留在.agent/中供您審查。 - 共享技能:Antigravity 與 Amp、Codex、Zed Agent 和
agents目標共享.agents/skills/。OpenSpec 在僅寫入一次該技能樹的同時,仍會將 Antigravity 指令寫入.agents/workflows/。
Cline
Cline 從 .clinerules/workflows/ 讀取指令,而不是從其 .cline/ 資料夾。技能保留在 .cline/skills/ 中。
Codex
- CLI 和 IDE 擴充功能:使用
$openspec-propose提及您的想法,或執行/skills來選取技能。Codex 無法識別/openspec-propose(上游問題)。 - 桌面應用程式:在側邊欄中開啟 Skills 並選取
openspec-propose。OpenAI 的技能文件 描述了兩種介面。 - 無指令檔案:Codex 直接執行技能,因此即使傳遞包含指令,init 也會跳過指令並顯示
Commands skipped for: codex (uses skills)。 - 共享資料夾:Codex 技能放置在
.agents/skills/,與 Amp、Antigravity、Zed Agent 和agents目標使用相同的樹狀結構。選取多個時,會保留一個相容的單一樹狀結構,且當 Codex 擁有該樹狀結構時,其交接項會同時拼寫$openspec-*和/openspec-*。 - 舊版路徑:由舊版本安裝在
.codex/skills/下的技能將在下一次openspec update時遷移。
DeepSeek Harness
- 專案根目錄:DSH 使用最近的
.git上層目錄,或在 Git 之外使用目前目錄。請在那裡執行openspec init --tools dsh。對於巢狀的 OpenSpec 專案,請將其.dsh/skills/目錄的絕對路徑加入到 DSH 的customSkillDirs中。如果名稱重疊,Git 根目錄的技能仍會優先(上游探索規則)。 - 優先順序:
.dsh/skills/優先於.agents/skills/中同名的技能。 - 傳遞:使用
skills或both。若使用commands,則不會安裝 DSH 工作流程。使用openspec config profile變更傳遞方式,然後重新執行openspec init --tools dsh。
Devin Desktop (formerly Windsurf)
- 兩個代理:
.devin/workflows/中的指令檔案僅在 Devin Desktop 中有效。Devin Local 僅執行技能,因此生成的技能參照/openspec-<skill>,這在兩者中均有效。 - 重新命名:
--tools windsurf仍會解析為devin。如果專案在舊版.windsurf/資料夾中有 OpenSpec 檔案,則會在下次openspec update時提供移動的選項。
GitHub Copilot
- IDE 擴充功能(指令傳遞):VS Code、JetBrains 和 Visual Studio 載入
.github/prompts/opsx-<id>.prompt.md作為/opsx-<id>。如果指令消失而其檔案仍然存在,請重新啟動 IDE。 - Copilot CLI(技能傳遞):CLI 會忽略
.github/prompts/,而是載入.github/skills/openspec-*/SKILL.md。以/openspec-<skill>呼叫技能。如果技能消失而其檔案仍然存在,請執行/skills reload,然後/skills info openspec-propose以確認探索。
GSD
- 專案技能:GSD 從
.agents/skills/讀取 OpenSpec 工作流程。 - 呼叫:要求 GSD 使用
openspec-<workflow>技能。GSD 也可以透過其技能探索設定選取匹配的技能。 - 無子代理檔案:
.gsd/agents/包含 GSD 子代理定義。OpenSpec 不會將工作流程技能寫入該處。
Hermes Agent
Hermes 預設僅從 ~/.hermes/skills/ 載入技能。請將專案的 .hermes/skills/ 資料夾加入到 ~/.hermes/config.yaml 中的 skills.external_dirs;init 會在安裝後列印此提醒。
MiniMax Code
- 僅限全域:技能存放至
~/.minimax/skills/。存放庫內不會寫入任何內容。 - 跨專案安全:僅傳遞指令的設定會保留全域技能,因此一個專案的設定無法移除其他專案使用的技能。
Warp
- 一律使用技能:即使傳遞設定為
commands,技能仍會寫入.warp/skills/,因為 Warp 沒有指令檔案且直接呼叫技能。 - OpenSpec 管理的項目:僅
.warp/skills/。Warp 設定和WARP.md不會被建立或編輯。
Other / Universal(共享 .agents 技能)
- 適用時機:任何讀取共享
.agents/skills/資料夾的工具,包括矩陣中沒有列出的工具。當您的助手未列出時,這是應選取的項目。init 選擇器的搜尋框可透過universal、other、generic、custom、proprietary、unlisted、unsupported、vendor-neutral或agents.md找到它。 - 與其他目標並存:Amp、Antigravity、Codex、Zed Agent 和此目標共享一個實體技能樹。OpenSpec 在
.openspec-target中記錄一個寫入者,並在每次執行時寫入一次技能樹。每個工具的獨立指令檔案仍會生成。 - OpenSpec 管理的項目:僅
openspec-*資料夾和.openspec-target標記。.agents/下的任何其他內容保持不變。 AGENTS.md:不會建立或編輯。目標是.agents/資料夾,而非檔案。