コマンドの仕組み
最も重要なこと: OpenSpecには2種類のコマンドがあり、それぞれ異なる場所で実行されます。
openspec ...コマンドはターミナルで実行します。(例:openspec init。)/opsx:...コマンドはAIアシスタントのチャットで実行します。(例:/opsx:propose。)
もしターミナルに /opsx:propose と入力して何も起きない場合、このページがその理由を説明しています。OpenSpecの正しい側と対話できていないのです。スラッシュコマンドはターミナルコマンドではありません。通常「ログインフォームを追加して」と入力するのと同じチャットボックスで、AIコーディングアシスタントに指示を出すためのものです。
この1つの区別は、新規ユーザーが最もつまずくポイントです。ここでは明確に説明します。
2つの側面
OpenSpecは1つのプロジェクトでありながら、2つの役割を担っています。
CLI(ターミナル側)。 シェルからインストール・実行する openspec という名前のプログラムです。プロジェクトのセットアップ、変更のリスト表示と検証、ダッシュボード表示、完了した作業のアーカイブを行います。iTerm、VS Codeのターミナル、PowerShellなど、git や npm を実行する場所で入力します。
openspec init # このプロジェクトにOpenSpecを設定する
openspec list # アクティブな変更を表示する
openspec view # インタラクティブなダッシュボードを開くスラッシュコマンド(チャット側)。 /opsx:propose や /opsx:apply のような短いコマンドで、AIアシスタントに入力します。これらはAIにOpenSpecのワークフローに従うよう指示します: 提案を起草し、仕様を書き、タスクリストから構築し、完了したらアーカイブする。Claude Code、Cursor、Devin Desktop、Copilot、または使用しているアシスタントに入力します。
/opsx:propose add-dark-mode (AIチャットに入力)
/opsx:apply (AIチャットに入力)
/opsx:archive (AIチャットに入力)このメンタルモデルを1枚の図で示します:
YOUR TERMINAL YOUR AI ASSISTANT'S CHAT
┌──────────────────────┐ ┌──────────────────────────────┐
│ $ openspec init │ installs │ /opsx:propose add-dark-mode │
│ $ openspec list │ ──────────► │ /opsx:apply │
│ $ openspec view │ commands │ /opsx:archive │
└──────────────────────┘ & skills └──────────────────────────────┘
run openspec here run /opsx:* here矢印に注目してください。ターミナルで openspec init を実行すると、スラッシュコマンドがAIツールにインストールされます。ターミナル側がチャット側を設定するのです。その後、日常的な操作は主にチャットで行います。
「インタラクティブモードはどうやって開始するの?」
別途開始するインタラクティブモードはありません。 よくある質問なので、素直にお答えします。
特別なOpenSpecモードに入る必要はありません。いつも通りAIコーディングアシスタントを開き、チャットにスラッシュコマンドを入力するだけです。スラッシュコマンドそれ自体がOpenSpecへの「入り口」です。アシスタントがそれを認識し、対応するOpenSpecスキルを読み込み、ワークフローに従って動作を開始します。
つまり、実際の手順は以下の通りです:
- プロジェクトでAIコーディングアシスタント(Claude Code、Cursor、Devin Desktopなど)を開きます。
- チャットに
/opsx:proposeと入力します。他のリクエストを入力するのと同じ場所です。 - 自動補完を確認します。OpenSpecがインストールされていれば、スラッシュを入力する際に
/opsx:propose、/opsx:applyなどが表示されます。
以上です。切り替えるモードも、起動するデーモンも、別のウィンドウも不要です。
本当にインタラクティブなものとしてターミナルにあるのは openspec view です。仕様や変更を閲覧するためのダッシュボードを開きます。ただし、これはビューアであり、提案や構築を行うものではありません。構築はチャットのスラッシュコマンドを通じて行います。
なぜこの分割があるのか
30以上の異なるAIツールとOpenSpecが連携できる理由を説明するため、理解する価値があります。
CLIはエンジンです。ルールを知っています: 変更フォルダの構造、どの成果物がどの成果物に依存しているか、デルタ仕様をソースオブトゥルースにマージする方法など。どこでも同じです。
スラッシュコマンドはハンドルであり、各AIツールによってわずかに異なります。Claude Codeはこれらをコマンドと呼びます。CursorやDevin Desktopには独自のフォーマットがあります。スキルと呼ぶツールもあります。openspec init を実行すると、OpenSpecは選択した各ツールに対応するファイルタイプを生成するため、どのアシスタントを使用しても同じ /opsx:propose の意図が機能します。
この設計の強み: ワークフローを1回学べば、ツールをまたいで活用できます。トレードオフ: コマンドの正確な構文はツールによってわずかに異なる場合があります。次セクションで説明します。
ツール別スラッシュコマンド構文
意図はどこでも同一です。表記はツールが読み込むファイルに従います。
| ツールのコマンドファイル | 入力方法 | 例となるツール |
|---|---|---|
.../commands/opsx/<id>.* | /opsx:propose | Claude Code, Gemini CLI, Crush |
.../opsx-<id>.* | /opsx-propose | Cursor, GitHub Copilot (IDE), Devin Desktop, Trae, Oh My Pi |
.amazonq/prompts/opsx-<id>.md | @opsx-propose | Amazon Q Developer |
| なし — スキルのみ | /openspec-propose | CodeArts, ForgeCode, Hermes, Mistral Vibe, Zed Agent, 共有 .agents |
| なし — Kimi Code | /skill:openspec-propose | Kimi Code |
| なし — Codex CLI | $openspec-propose | Codex |
Devinは2行にまたがる唯一のツールです。Devin Desktopは .devin/workflows/ を読み取るため、/opsx-propose が動作します。一方、Devin Localは読み取らないため、そのエージェントでは /openspec-propose スキルを使用してください。OpenSpecが .devin/skills/ に書き込むスキルは両方で動作するため、スキル名で相互参照しています。
すべてのツールは How To Invoke にリストされています — そのテーブルが権威あるものです。2行はスラッシュコマンドではありません: Amazon Qは @ で呼び出すプロンプトライブラリにファイルをロードし、最後の3行はスキル名を使用します(これはコマンドIDではありません。/opsx:apply は openspec-apply-change スキルです)。
不明な場合は、openspec init が出力する「Getting started」行を確認してください。すでにツールに登録された形式が使用されています。スラッシュを入力して自動補完を見る方法も、スラッシュコマンドを表示するツールでは有効です。
コマンドが配置される仕組み: スキルとコマンド
openspec init(または openspec update)を実行すると、OpenSpecはプロジェクトに小さなファイルを書き込み、AIツールがワークフローを見つけられるようにします。ツールや設定に応じて、これらはスキル、コマンド、または両方になります。
- スキルは
.claude/skills/openspec-*/SKILL.mdのような場所に配置されます。これは新興のクロスツール標準です: アシスタントが自動検出する指示のフォルダです。 - コマンドは
.cursor/commands/opsx-<id>.mdや.claude/commands/opsx/<id>.mdのような場所に配置されます — レイアウトはツール側が決定し、コマンドの入力方法もツールが決定します。これらは従来のツール別スラッシュコマンドファイルです。Codexには生成されたコマンドファイルがありません。.agents/skills/openspec-*を使用してください。
どのツールがどちらを使用するか気にする必要はありません。スラッシュコマンドを入力すれば動作します。ただし、これらのファイルが存在することを知っておくと、問題発生時に役立ちます: コマンドが消えた場合、これらのファイルが欠落または古い状態であることが原因で、openspec update で再生成できます。
ツールごとの正確なパスは Supported Tools を、スキルが従来のコマンドのみ方式に置き換わった経緯は Migration Guide を参照してください。
インストール確認
素早い確認方法、最速のものから:
- AIチャットにスラッシュを入力する。
/opsxと入力し始め、自動補完の候補が表示されるか確認します。表示されれば問題ありません。スキルのみ対応のツール(Codex、Kimi Code、CodeArts、ForgeCode、Hermes、Mistral Vibe、Zed Agent、または共有.agentsターゲット)では、正常にインストールされていても/opsxは補完されません — 上記のテーブルからスキル名を試してください。 - ファイルを確認する。 Claude Codeの場合、
.claude/skills/にopenspec-*フォルダが含まれているか確認します。他のツールは独自のディレクトリを使用します(Supported Tools にリストされています)。 - セットアップを再実行する。 プロジェクトルートから
openspec updateを実行します。設定したツール用のスキルファイルとコマンドファイルを再生成します。 - アシスタントを再起動する。 多くのツールは起動時にスキルとコマンドをスキャンするため、新しいウィンドウで開くことが解決策になる場合があります。
どのコマンドがあるの?
デフォルトで、OpenSpecはコアのスラッシュコマンドセットをインストールします:
/opsx:explore: 変更をコミットする前に、AIとアイデアを検討する(不確実な場合の優れた第一歩)/opsx:propose: 変更を作成し、すべての計画成果物を1ステップで起草する/opsx:apply: タスクリストに従って変更を構築する/opsx:update: 変更の計画成果物を修正し、一貫性を保つ/opsx:sync: 変更の仕様更新をメイン仕様へマージする(通常は自動)/opsx:archive: 変更を完了し、ファイリングする
良いデフォルトのリズム: 何をするか検討中は explore、その後 propose、apply、archive。Explore First ガイドでは、この最初のステップがなぜ報われるか説明しています。
より細かい制御が必要な人向けの拡張セットもあります(/opsx:new、/opsx:continue、/opsx:ff、/opsx:verify、/opsx:bulk-archive、/opsx:onboard)。openspec config profile で有効にし、openspec update で適用します。
これらすべてが初めてですか? /opsx:onboard(拡張セットに含まれます)は、ご自身のコードベースで完全な変更を1つ通しで案内し、各ステップを説明します。最もフレンドリーな入門です。
各コマンドの詳細は Commands を、いつどれを使うかは Workflows を参照してください。
初めてのクリーンな実行
まとめると、各ステップがどこで実行されるかラベル付きで、全体のシーケンスは以下の通りです。
TERMINAL $ npm install -g @fission-ai/openspec@latest
TERMINAL $ cd your-project
TERMINAL $ openspec init
(スラッシュコマンドをAIツールにインストール)
AI CHAT /opsx:explore
(任意: まずAIとアイデアを検討する)
AI CHAT /opsx:propose add-dark-mode
(AIが提案、仕様、設計、タスクを起草)
AI CHAT /opsx:apply
(AIが構築し、タスクにチェック)
AI CHAT /opsx:archive
(変更が仕様へマージされ、ファイリングされる)ターミナルで2ステップのセットアップ。その後チャットで生活します。これがリズムです。
関連リンク
- Getting Started: 最初の変更の完全なウォークスルー
- Commands: すべてのスラッシュコマンドの詳細
- CLI: すべてのターミナルコマンドの詳細
- Supported Tools: ツール別の構文とファイル場所
- FAQ: その他の素早い回答
- Troubleshooting: コマンドが表示されない場合の修正方法