対応ツール
OpenSpec は多くの AI コーディングアシスタントと連携できます。openspec init を実行すると、OpenSpec はアクティブなプロファイル/ワークフロー選択とデリバリーモードに基づいて、選択されたツールを設定します。
動作原理
選択された各ツールに対して、OpenSpec は以下をインストールできます。
- Skills(デリバリーに skills が含まれている場合):
.../skills/openspec-*/SKILL.md - Commands(デリバリーに commands が含まれている場合): ツール固有の
opsx-*コマンドファイル
Codex は skills のみ対応です。デリバリーが commands に設定されていても、OpenSpec は Codex に対して .agents/skills/openspec-*/SKILL.md をインストールし、Codex カスタムプロンプトファイルは生成しません。レガシーの .codex/skills パス下にある既存の OpenSpec 管理スキルは、代替ファイルが書き込まれた後に調整(reconcile)されます。カスタムファイルおよび分岐したファイルは保持されます。
デフォルトでは、OpenSpec は core プロファイルを使用します。これには以下が含まれます。
proposeexploreapplyupdatesyncarchive
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 の2つのエージェントのうち1つによって読み込まれる | 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 となります。
行が統合されないのは、以下の2つの要素が独立して変化するからです。
- 名前。1〜2行目は、ファイルがコマンドに付ける名の違いのみであり、
opsx-<id>/opsx:<id>という接頭辞は、生成されたコマンドファイルを持つすべてのツールで共通です。 - ラッパー。Amazon Q はファイルを
@で呼び出すプロンプトライブラリに読み込みます。スキル専用のツールはコマンドファイルを一切生成しないため、最後の3つの行では スキル 名を使用しています(生成されたスキルの名前 にリストされています)。これらはコマンドIDと1対1で対応しません(例:/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/sills/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/config.yaml の skills.external_dirs にプロジェクトの .hermes/skills/ ディレクトリを追加してください。そうすると、Hermes はユーザー向けのスラッシュ呼び出し(例:/openspec-propose)でスキルを公開します。
**** Windsurf は 2026年6月2日に Devin Desktop に名称変更 され、設定ディレクトリも移動しました。.devin/ が推奨される読み書き先の場所となり、.windsurf/ はレガシーな読み取り専用フォールバックです。OpenSpec はこの改名に従い、ツールIDは devin となります。また、既存のセットアップスクリプトが動作し続けるよう --tools windsurf も依然としてこれを解決します。もしプロジェクトがまだ .windsurf/ に OpenSpec ファイルを持っている場合、次の openspec update で移動が提案されます。拒否するとファイルはそのまま残り、ユーザーが作成したファイルは一切触れません。ワークフローはファイル名で呼び出されるため、.devin/workflows/opsx-apply.md は /opsx-apply となります。Devin ローカルエージェントはワークフローをサポートしていません — スキルのみをサポートし、.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 coding agent は、エディタ内の Copilot とは別に、GitHub Actions 環境内で GitHub 上で実行されます。OpenSpec は2つのファイルを生成することで、このエージェントが OpenSpec CLI を使用できるように設定できます。
.github/workflows/copilot-setup-steps.yml— エージェントの環境に@fission-ai/openspecをインストールする.github/agents/openspec.agent.md— エージェントに OpenSpec の操作方法を指示する
これはリポジトリ内に GitHub Actions ワークフローを書き込むため、オプトイン(任意) です。
| 方法 | 動作 |
|---|---|
openspec init (対話式) | クラウドファイルの設定を行うかどうかを尋ねます。デフォルトは No です。 |
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 をカスタマイズしている場合、またはすでに独自のものがある場合は、それらは untouched(変更不可)のまま保持され(init/update がそれを通知します)。
共有 .agents ターゲットを選択すべきタイミング
agents はベンダーニュートラルなオプションです。特定のツールのディレクトリではなく、多くのエージェントツールが読み込む共有ルートである .agents/skills/ にスキルを書き出します。
| シチュエーション | 選択 |
|---|---|
| あなたのツールが上記の表に固有の行を持っている | そのツール固有の ID — スラッシュコマンドなど、そのツールの統合全体を取得できる |
1つのリポジトリに複数のエージェントがあり、すべて .agents/skills を読み込んでいる | agents — ツールごとに1つずつではなく、1つのスキルツリーで済む |
あなたのツールはまだリストされていないが .agents/skills を読み込んでいる | agents |
ツール固有の ID と併せて選択しても問題ありません。通常、それぞれは独自のルートに書き出します。例外は Codex と Zed Agent で、これらは同じ標準的な .agents ルートを使用します。Codex が Zed や agents と一緒に選択されている場合、OpenSpec は1つの Codex 主導のツリーを維持します。そのハンドオフ先には、Codex 用の $openspec-* と他のエージェント用の /openspec-* の両方が含まれるため、--tools all や既存のマルチエージェント設定は、2つのライターが同じファイルを上書きすることなく動作し続けます。また、OpenSpec はプロジェクトに .agents/skills/ ディレクトリが存在する場合、自動的にこれを提案します。単なる .agents/ では不十分です。なぜなら、ツールはそのルートをルールやサブエージェント定義にも使用するからです。なお、.agents は .agent ではありません。単数のディレクトリは Antigravity のものです。
知っておくべき2つの点があります。
- スキルのみ。コマンドアダプターが存在しないため、
opsx-*コマンドファイルは書き出されません。コマンドを含む配信モードでopenspec initを実行すると、agentsはCommands skipped for: … (no adapter)の下に報告されるツールのリストに含まれます。ワークフローはスキル名で呼び出してください。.agents/skillsを読み込むアシスタントのほとんどは、OpenSpec のセットアップヒントが出力する形式である/openspec-proposeと表記します。ターゲットはベンダーニュートラルなので、別の形式を使用する場合はアシスタント自身のドキュメントを確認してください。 AGENTS.mdは作成または編集されません。ターゲットは.agents/ディレクトリです。ルートにあるAGENTS.mdに古いバージョンからの OpenSpec マーカーブロックが残っている場合、openspec updateはそれらを削除します。詳細は 移行ガイド を参照してください。
ここでの Zed サポートは組み込みの Zed Agent 向けです。Zed External Agents や Terminal Threads は独自の統合を使用します。エージェントスキルには Zed v1.4.2 以降が必要です。信頼されていないワークツリー内では、信頼を付与する までプロジェクトローカルのスキルは利用できません。
.agents/skills/ は Codex、Zed Agent、およびベンダーニュートラルターゲットによって共有されるため、OpenSpec がそこで何を主張しているかを知っておくと役立ちます。OpenSpec は、選択したワークフローに対応する openspec-* スキルディレクトリのみを書き出し、更新し、削除します。さらに、Codex、Zed Agent、またはベンダーニュートラルターゲットのいずれがこの共有ツリーを描画したかを記録する .openspec-target マーカーも追加します。そのディレクトリ内のその他の内容は untouched(変更不可)のままです。openspec-* の名前とマーカーは OpenSpec の所有物として扱い、それら内部の編集は他のツールと同様に、次の openspec update で置き換えられます。
マーカー以前のプロジェクトの場合、OpenSpec は管理対象のスキル参照から所有権を推測します。$openspec-* は Codex を意味し、/openspec-* はベンダーニュートラルターゲットを意味します。レガシーな .codex/skills と並存する汎用的な標準ツリーは、古いデュアルターゲットインストールとして扱われ、互換性のある共有ツリーに統合されます。
openspec update もこの所有権を尊重します。プロジェクトがベンダーニュートラルターゲットとして .agents を所有しており、残った Codex インストールが stray(逸脱した)プロンプトファイルからのみ検出される場合、更新は Codex 構文で書き直すのではなく、確立された agents ツリーをその場に留め、それらのレガシープロンプトファイルも削除せずに保持します。共有ツリーを Codex に引き渡すには、明示的に openspec init --tools codex を実行してください。
非対話型セットアップ
CI/CD またはスクリプトによるセットアップには、--tools(および任意で --profile)を使用します:
# 特定のツールを設定
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 は、選択されたワークフローに基づいてワークフロー成果物をインストールします:
- Core プロファイル(デフォルト):
propose、explore、apply、update、sync、archive - カスタム選択: すべてのワークフロー ID の任意の部分集合:
propose、explore、new、continue、apply、update、ff、sync、archive、bulk-archive、verify、onboard
つまり、スキル/コマンドの数はプロファイル依存かつ配信方法依存であり、固定ではありません。
生成されるスキル名
プロファイル/ワークフロー設定で選択された場合、OpenSpec はこれらのスキルを生成します:
openspec-proposeopenspec-exploreopenspec-new-changeopenspec-continue-changeopenspec-apply-changeopenspec-update-changeopenspec-ff-changeopenspec-sync-specsopenspec-archive-changeopenspec-bulk-archive-changeopenspec-verify-changeopenspec-onboard
コマンドの動作については Commands を、init/update オプションについては CLI を参照してください。
関連項目
- CLI Reference — ターミナルコマンド
- Commands — スラッシュコマンドとスキル
- Getting Started — 初回セットアップ