Skip to content

支援的工具 ​

OpenSpec 可與多款 AI 程式碼助手搭配使用。當您執行 openspec init 時,OpenSpec 會根據您目前啟用的 profile/workflow 選擇與交付模式,為選定的工具進行設定。

運作方式 ​

對於每個選定的工具,OpenSpec 可安裝:

  1. Skills(若交付內容包含 skills):.../skills/openspec-*/SKILL.md
  2. Commands(若交付內容包含 commands):工具專屬的 opsx-* 命令檔案

Codex 僅支援 skills:即使交付模式設定為 commands,OpenSpec 仍會為 Codex 安裝 .agents/skills/openspec-*/SKILL.md,且不會產生 Codex 自訂提示詞檔案。位於舊版 .codex/skills 路徑下、由 OpenSpec 管理的現有 skills,會在其替代版本寫入後進行對帳;自訂及已分岔的檔案將予以保留。

預設情況下,OpenSpec 使用 core profile,其中包含:

  • propose
  • explore
  • apply
  • update
  • sync
  • archive

您可以透過 openspec config profile 啟用擴展工作流(new、continue、ff、verify、bulk-archive、onboard),然後執行 openspec update。

如何調用 ​

這些文件以 /opsx:propose 作為標準名稱,但每個工具在載入 OpenSpec 所寫入的文件時,會以自己的方式拼寫命令。請在下方工具目錄參考中找到您工具的命令路徑,然後在此處比對其格式。

OpenSpec 寫入的命令文件您輸入的內容工具
.../commands/opsx/<id>.* — 使用 opsx/ 資料夾作為命名空間/opsx:<id>Claude Code、CodeBuddy、Crush、Gemini CLI、Lingma、Qoder、ZCode
.../opsx-<id>.* — 文件名即為命令/opsx-<id>所有其他具有生成命令文件的工具,Amazon Q 和 Devin 除外
.devin/workflows/opsx-<id>.md — 僅由 Devin 的兩個代理之一讀取Devin Desktop 上為 /opsx-<id>,Devin Local 上為 /openspec-<skill>Devin Desktop****
.amazonq/prompts/opsx-<id>.md — 提示詞,非命令@opsx-<id>Amazon Q Developer
無 — 僅限技能/openspec-<skill>CodeArts、ForgeCode、Hermes、MiniMax Code、Mistral Vibe、Zed Agent、共用 .agents
無 — Kimi Code/skill:openspec-<skill>Kimi Code
無 — Codex CLI$openspec-<skill>Codex(/openspec-<skill> 無法識別)

因此 /opsx:propose 在 Cursor 中為 /opsx-propose,在 Amazon Q 中為 @opsx-propose,在 Codex 中為 $openspec-propose。

有兩個因素各自獨立變化,這就是為什麼各行無法合併:

  • 名稱。 第 1–2 行僅在文件如何命名命令上有所不同,而 opsx-<id> / opsx:<id> 詞幹對所有具有生成命令文件的工具而言都是相同的。
  • 包裝器。 Amazon Q 將其文件載入到以 @ 調用的提示詞庫中。僅限技能的工具完全不生成命令文件,因此其最後三行使用技能名稱 — 列於生成的技能名稱下 — 這些名稱與命令 ID 並非一一對應(/opsx:apply 對應的是 openspec-apply-change 技能)。

上述命令路徑模式刻意使用與副檔名無關的寫法(.*):副檔名取決於工具(Gemini CLI 使用 .toml,Continue 使用 .prompt,Kiro 和 GitHub Copilot 使用 .prompt.md),且部分工具在選擇器中會顯示帶副檔名的名稱。請比對目錄結構,而非副檔名。

OpenSpec 生成的文件,以及設定完成後列印的「快速入門」提示,已經為您選擇的工具使用了正確的格式 — 因此最快的解答方式是閱讀該提示。

工具目錄參考 ​

工具(ID)技能路徑模式命令路徑模式
Amazon Q Developer (amazon-q).amazonq/skills/openspec-*/SKILL.md.amazonq/prompts/opsx-<id>.md
Antigravity (antigravity).agent/skills/openspec-*/SKILL.md.agent/workflows/opsx-<id>.md
Auggie (auggie).augment/skills/openspec-*/SKILL.md.augment/commands/opsx-<id>.md
IBM Bob Shell (bob).bob/skills/openspec-*/SKILL.md.bob/commands/opsx-<id>.md
Claude Code (claude).claude/skills/openspec-*/SKILL.md.claude/commands/opsx/<id>.md
Cline (cline).cline/skills/openspec-*/SKILL.md.clinerules/workflows/opsx-<id>.md
Command Code (command-code).commandcode/skills/openspec-*/SKILL.md.commandcode/commands/opsx-<id>.md
CodeArts (codeartsagent).codeartsdoer/skills/openspec-*/SKILL.md未生成(無命令適配器;使用基於技能的 /openspec-* 調用)
CodeBuddy (codebuddy).codebuddy/skills/openspec-*/SKILL.md.codebuddy/commands/opsx/<id>.md
Codex (codex).agents/skills/openspec-*/SKILL.md未生成(僅限技能;使用 $openspec-*)
Devin Desktop,原稱 Windsurf (devin).devin/skills/openspec-*/SKILL.md.devin/workflows/opsx-<id>.md****
ForgeCode (forgecode).forge/skills/openspec-*/SKILL.md未生成(無命令適配器;使用基於技能的 /openspec-* 調用)
Continue (continue).continue/skills/openspec-*/SKILL.md.continue/prompts/opsx-<id>.prompt
CoStrict (costrict).cospec/skills/openspec-*/SKILL.md.cospec/openspec/commands/opsx-<id>.md
Crush (crush).crush/skills/openspec-*/SKILL.md.crush/commands/opsx/<id>.md
Cursor (cursor).cursor/skills/openspec-*/SKILL.md.cursor/commands/opsx-<id>.md
Factory Droid (factory).factory/skills/openspec-*/SKILL.md.factory/commands/opsx-<id>.md
Gemini CLI (gemini).gemini/skills/openspec-*/SKILL.md.gemini/commands/opsx/<id>.toml
GitHub Copilot (github-copilot).github/skills/openspec-*/SKILL.md.github/prompts/opsx-<id>.prompt.md**
Hermes Agent (hermes).hermes/skills/openspec-*/SKILL.md***未生成(無命令適配器;使用基於技能的 /openspec-* 調用)
iFlow (iflow).iflow/skills/openspec-*/SKILL.md.iflow/commands/opsx-<id>.md
Junie (junie).junie/skills/openspec-*/SKILL.md.junie/commands/opsx-<id>.md
Kilo Code (kilocode).kilocode/skills/openspec-*/SKILL.md.kilocode/workflows/opsx-<id>.md
Kimi Code (kimi).kimi-code/skills/openspec-*/SKILL.md未生成(無命令適配器;使用基於技能的 /skill:openspec-* 調用)
Kiro (kiro).kiro/skills/openspec-*/SKILL.md.kiro/prompts/opsx-<id>.prompt.md
Lingma (lingma).lingma/skills/openspec-*/SKILL.md.lingma/commands/opsx/<id>.md
MiniMax Code (minimax-code)~/.minimax/skills/openspec-*/SKILL.md未生成(無命令適配器;使用 MiniMax Code 技能)
Mistral Vibe (vibe).vibe/skills/openspec-*/SKILL.md未生成(無命令適配器;使用基於技能的 /openspec-* 調用)
Oh My Pi (oh-my-pi).omp/skills/openspec-*/SKILL.md.omp/commands/opsx-<id>.md
OpenCode (opencode).opencode/skills/openspec-*/SKILL.md.opencode/commands/opsx-<id>.md
Pi (pi).pi/skills/openspec-*/SKILL.md.pi/prompts/opsx-<id>.md
SourceCraft Code Assistant for VS Code (codeassistant).codeassistant/skills/openspec-*/SKILL.md.codeassistant/commands/opsx-<id>.md
Qoder (qoder).qoder/skills/openspec-*/SKILL.md.qoder/commands/opsx/<id>.md
Qwen Code (qwen).qwen/skills/openspec-*/SKILL.md.qwen/commands/opsx-<id>.md
Rovo Dev CLI (rovodev).rovodev/skills/openspec-*/SKILL.md未生成。Rovo 沒有斜線命令介面 — 它會自動匹配技能或透過提示詞匹配(例如「使用 openspec-propose 技能」);/skills 僅用於管理技能。生成的內容以名稱引用技能,絕不以 /openspec-* 命令形式出現。
Zoo Code (roocode).roo/skills/openspec-*/SKILL.md.roo/commands/opsx-<id>.md
Trae (trae).trae/skills/openspec-*/SKILL.md.trae/commands/opsx-<id>.md
Zed Agent (zed).agents/skills/openspec-*/SKILL.md未生成(僅限技能;使用 /openspec-* 或 @openspec-*)
ZCode (zcode).zcode/skills/openspec-*/SKILL.md.zcode/commands/opsx/<id>.md
共用 .agents 技能 (agents).agents/skills/openspec-*/SKILL.md未生成(無命令適配器;使用基於技能的 /openspec-* 調用)

** GitHub Copilot 提示詞文件在 IDE 擴充功能(VS Code、JetBrains、Visual Studio)中被識別為自訂斜線命令。Copilot CLI 目前不會直接讀取 .github/prompts/*.prompt.md。選擇 github-copilot 還可以設定 GitHub 託管的雲端編碼代理 — 請參閱下方GitHub Copilot 雲端編碼代理。

*** Hermes 預設從 ~/.hermes/skills/ 載入技能。若要使用專案本地的 OpenSpec 技能,請將專案的 .hermes/skills/ 目錄新增到 ~/.hermes/config.yaml 中的 skills.external_dirs;Hermes 隨後會以使用者可見的斜線調用形式(如 /openspec-propose)暴露這些技能。

**** Windsurf 於 2026 年 6 月 2 日重新品牌為 Devin Desktop,其設定目錄也隨之遷移:.devin/ 為首選的讀寫位置,.windsurf/ 為僅限讀取的後向相容備援。OpenSpec 跟隨此次更名 — 工具 ID 為 devin,且 --tools windsurf 仍可解析到該工具,以確保現有設定腳本繼續運作。若專案仍將 OpenSpec 文件保留在 .windsurf/ 中,下次執行 openspec update 時會提示遷移;若拒絕遷移,文件將保留原處,且您自行撰寫的文件絕不會被修改。工作流程以文件名調用,因此 .devin/workflows/opsx-apply.md 對應 /opsx-apply。Devin Local 代理不支援工作流程 — 僅支援技能,且完全不讀取 .windsurf/ — 因此當 OpenSpec 寫入 Devin 技能時,會保留其內容,並將快速入門提示指向 /openspec-* 技能調用,此形式在兩個代理上均可運作。在僅限命令的交付模式下不會寫入任何技能,兩者均回退到 /opsx-*。

SourceCraft Code Assistant 的支援目標為其 VS Code 擴充功能。其自訂命令和技能僅在 VS Code 中可用。此整合不會設定 SourceCraft Web 或 JetBrains。

在僅限技能的交付模式下,請要求 Code Assistant 使用 openspec-propose 技能並附上您的構想。技能透過請求匹配啟動;OpenSpec 不會為該工具生成 /openspec-* 命令。

MiniMax Code 是一個全域性的僅限技能整合。OpenSpec 僅在 ~/.minimax/skills/ 下寫入其 openspec-* 目錄;不會建立專案本地的 .minimax 或 .mavis 目錄。在僅限命令的交付模式下,現有的全域 MiniMax Code 技能將保持不變,以確保一個專案的交付設定不會移除另一個專案所使用的技能。

GitHub Copilot 雲端編碼代理 ​

GitHub 的Copilot 編碼代理在 GitHub Actions 環境中運行 — 與您編輯器中的 Copilot 相互獨立。OpenSpec 可以透過生成兩個文件來設定其使用 OpenSpec CLI:

  • .github/workflows/copilot-setup-steps.yml — 在代理環境中安裝 @fission-ai/openspec
  • .github/agents/openspec.agent.md — 告知代理如何驅動 OpenSpec

由於這會在您的儲存庫中寫入 GitHub Actions 工作流程,因此為選擇性加入:

方式行為
openspec init(互動式)詢問是否設定雲端文件。預設為否。
openspec init --copilot-cloud不提示直接設定(適用於腳本/CI)。
openspec init --no-copilot-cloud不提示直接跳過,並移除任何先前生成的文件。
openspec update絕不提示。僅在您選擇加入時(或專案已有這些文件)才刷新文件。若您選擇退出,則移除 OpenSpec 管理的雲端文件。

您的選擇會儲存在 openspec/config.yaml 中,格式為 githubCopilot.cloudAgent: true|false,因此非互動式更新會遵循此設定。OpenSpec 僅會寫入或移除其自身生成的內容的文件 — 若您自訂了 copilot-setup-steps.yml 或 openspec.agent.md,或已有自己的版本,則保持不變(init/update 會告知您此情況)。

何時選擇共用 .agents 目標 ​

agents 是供應商中立的選項:它將技能寫入 .agents/skills/,這是許多代理工具共用的根目錄,而非工具專屬的目錄。

情境選擇
您的工具在上方有專屬行其專屬 ID — 您將獲得該工具的整合,包括其支援的斜線命令
同一儲存庫有多個代理,均讀取 .agents/skillsagents — 一個技能樹而非每個工具各一個
您的工具尚未列出但讀取 .agents/skillsagents

與工具專屬 ID 同時選擇它是沒問題的;每個通常寫入各自的根目錄。Codex 和 Zed Agent 是例外,因為它們使用相同的標準 .agents 根目錄。若 Codex 與 Zed 或 agents 同時選取,OpenSpec 會保留一棵由 Codex 主導的樹。其交接內容同時標註 $openspec-*(供 Codex 使用)和 /openspec-*(供其他代理使用),因此 --tools all 和現有的多代理設定可繼續運作,而不會有兩個寫入者覆寫相同文件。OpenSpec 也會在專案擁有 .agents/skills/ 目錄後自動提供此選項 — 僅有 .agents/ 是不夠的,因為工具也使用該根目錄存放規則和子代理定義。請注意 .agents 不等於 .agent:單數目錄屬於 Antigravity。

有兩點需要注意:

  • 僅限技能。 不存在命令適配器,因此不會寫入任何 opsx-* 命令文件;在包含命令的交付模式下,openspec init 會在 Commands skipped for: … (no adapter) 下列出 agents。請以技能名稱調用工作流程 — 大多數讀取 .agents/skills 的助理會將其拼寫為 /openspec-propose,即 OpenSpec 設定提示所顯示的格式。該目標為供應商中立,因此若您的助理使用其他格式,請查閱其自身文件。
  • 不會建立或編輯 AGENTS.md。 目標是 .agents/ 目錄。若您的根目錄 AGENTS.md 仍保留舊版 OpenSpec 標記區塊,openspec update 會將其移除 — 請參閱遷移指南。

此處的 Zed 支援針對內建的 Zed Agent。Zed External Agents 和 Terminal Threads 使用各自的整合。Agent Skills 需要 Zed v1.4.2 或更新版本。在未信任的工作樹中,專案本地技能不可用,直到您授予信任。

由於 .agents/skills/ 由 Codex、Zed Agent 和供應商中立目標共用,了解 OpenSpec 在該目錄中的權限範圍是值得的:它僅寫入、刷新和移除您選取工作流程的 openspec-* 技能目錄,以及一個 .openspec-target 標記,用於記錄該共用樹是由 Codex、Zed Agent 還是供應商中立目標渲染的。該目錄中的其他內容一律不動。請將 openspec-* 名稱和標記視為 OpenSpec 的 — 其內部的編輯會在下次 openspec update 時被取代,與其他所有工具相同。

對於無標記的舊專案,OpenSpec 從管理的技能引用中推斷所有權:$openspec-* 表示 Codex,/openspec-* 表示供應商中立目標。與遺留 .codex/skills 並存的通用標準樹會被視為較舊的雙目標安裝,並合併為相容的共用樹。

openspec update 也遵循此所有權。若專案以供應商中立目標擁有 .agents,且僅從殘留的提示詞文件偵測到遺留的 Codex 安裝,則更新會保留既有的 agents 樹而非以 Codex 語法重寫,並保留那些遺留提示詞文件而非刪除它們。若要將共用樹交給 Codex,請明確執行 openspec init --tools codex。

非互動式設定 ​

對於 CI/CD 或腳本化設定,請使用 --tools(並可選擇性地加上 --profile):

bash
# 設定特定工具
openspec init --tools claude,cursor

# 設定所有支援的工具
openspec init --tools all

# 略過工具設定
openspec init --tools none

# 覆寫此 init 執行階段的設定檔
openspec init --profile core

可用的工具 ID(--tools) — 也接受 windsurf,作為 devin 的別名:amazon-q, antigravity, auggie, bob, claude, cline, command-code, codeartsagent, codex, devin, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, hermes, iflow, junie, kilocode, kimi, kiro, lingma, minimax-code, vibe, oh-my-pi, opencode, pi, qoder, qwen, roocode, codeassistant, trae, zed, zcode, agents

依工作流程而定的安裝 ​

OpenSpec 會根據所選的工作流程安裝對應的工作流程工件:

  • 核心設定檔(預設): propose、explore、apply、update、sync、archive
  • 自訂選擇: 所有工作流程 ID 的任意子集: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard

換句話說,技能/指令的數量會依設定檔和交付方式而異,並非固定不變。

產生的技能名稱 ​

當由設定檔/工作流程設定選取時,OpenSpec 會產生下列技能:

  • openspec-propose
  • openspec-explore
  • openspec-new-change
  • openspec-continue-change
  • openspec-apply-change
  • openspec-update-change
  • openspec-ff-change
  • openspec-sync-specs
  • openspec-archive-change
  • openspec-bulk-archive-change
  • openspec-verify-change
  • openspec-onboard

請參閱指令了解指令行為,以及 CLI 了解 init/update 的選項。

相關 ​