Skip to content

コマンドの仕組み

知っておくべき唯一のこと:OpenSpecには2種類のコマンドがあり、それぞれ異なる場所で実行されます。

  • openspec ... コマンドは ターミナル で実行されます。(例: openspec init。)
  • /opsx:... コマンドは AIアシスタントのチャット で実行されます。(例: /opsx:propose。)

もし、ターミナルに /opsx:propose と入力しても何も起こらない場合、このページがその理由です。あなたはOpenSpecの一方の部分と話しています。スラッシュコマンドはターミナルのコマンドではありません。それらは、通常の「ログインフォームを追加」と入力するのと同じチャットボックスでAIコーディングアシスタントに与える指示です。

この単一の違いこそが、新規ユーザーにとって最も一般的なつまずきポイントであるため、これを明確にします。

2つの側面

OpenSpecは二つの役割を担う一つのプロジェクトです。

CLI(ターミナル側)。 これはopenspecというプログラムであり、インストールしてシェルから実行します。プロジェクトの設定、変更点のリスト表示と検証、ダッシュボードの表示、完了した作業のアーカイブを行います。これはiTerm、VS Codeのターミナル、PowerShellなど、gitnpmを実行する場所であればどこでも入力できます。

bash
openspec init        # このプロジェクトでOpenSpecを設定します
openspec list        # アクティブな変更を表示します
openspec view        # インタラクティブなダッシュボードを開きます

スラッシュコマンド(チャット側)。 /opsx:propose/opsx:applyのような短いコマンドで、AIアシスタントに入力します。これらはAIに対し、OpenSpecのワークフローに従うように指示するものです。提案書の作成、仕様書の記述、タスクリストからのビルド、完了時のアーカイブなどです。これはClaude Code、Cursor、Windsurf、Copilot、または使用している任意のアシスタントに入力します。

text
/opsx:propose add-dark-mode    (AIチャットで入力)
/opsx:apply                    (AIチャットで入力)
/opsx:archive                  (AIチャットで入力)

ここに、一つの図によるメンタルモデルを示します。

text
        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スキルをロードし、ワークフローに従い始めます。

したがって、実際の指示は以下の通りです。

  1. プロジェクトでAIコーディングアシスタント(Claude Code, Cursor, Windsurfなど)を開きます。
  2. 他の任意のリクエストを入力するのと同じ場所で、チャット欄に/opsx:proposeと入力します。
  3. オートコンプリートを監視します。OpenSpecがインストールされていれば、スラッシュを入力している最中に/opsx:propose/opsx:applyなどが表示されます。

それだけです。トグルするモードも、起動するデーモンも、別のウィンドウも必要ありません。

本当にインタラクティブなものは一つあり、それはターミナル内のopenspec viewです。これは、仕様書や変更点を閲覧するためのダッシュボードを開きます。しかし、それは提案しビルドするためのものではありません。構築はチャット内でのスラッシュコマンドを通じて行われます。

なぜこの分割が存在するのか

これはOpenSpecが25種類以上の異なるAIツールと連携できる理由を説明するためにも理解しておく価値があります。

CLIはエンジンです。それはルールを知っています。変更フォルダの形、どのアーティファクトが何に依存しているか、デルタ仕様書を真実の源泉(source of truth)にマージする方法などです。これはどこでも同じです。

スラッシュコマンドはステアリングホイールであり、すべてのAIツールがわずかに異なるものを備えています。Claude Codeはそれらをコマンドと呼びます。CursorやWindsurfは独自の形式を持っています。一部のツールはそれらをスキルと呼んでいます。openspec initを実行すると、OpenSpecは選択した各ツールに対応する正しい種類のファイルを生成するため、どのアシスタントを好むにしても/opsx:proposeという同じ意図が機能します。

この設計の強み:ワークフローを一度学べば、それをすべてのツールで活用できます。トレードオフ:コマンドの正確な構文はツールによってわずかに異なる場合があり、これは次のセクションで扱います。

ツールごとのスラッシュコマンド構文

意図はどこでも同一です。句読点が異なります。アシスタントに合った形式を使用してください。

ToolHow you type it
Claude Code/opsx:propose, /opsx:apply
Cursor/opsx-propose, /opsx-apply
Windsurf/opsx-propose, /opsx-apply
GitHub Copilot (IDE)/opsx-propose, /opsx-apply
Kimi CLIskill-style, e.g. /skill:openspec-propose
Traeskill-style, e.g. /openspec-propose

ほとんどのツールは、コロン形式(/opsx:propose)またはダッシュ形式(/opsx-propose)を使用しています。少数のツールでは、スラッシュコマンドではなくOpenSpecを名前付きスキルとして表示します。それらの場合は、スキルの名前で呼び出します。どのファイルがどこに書き込まれるかを正確に含む完全なツールリストはSupported Toolsを参照してください。

迷ったときは、AIチャットにスラッシュを入力し、オートコンプリートを確認してください。使用しているツールが期待する形式を表示してくれます。

コマンドがどのように存在したか:スキルとコマンド

openspec init(またはopenspec update)を実行すると、OpenSpecはプロジェクト内に小さなファイルを書き込み、AIツールがワークフローを見つけられるようにします。お使いのツールや設定に応じて、これらはスキル (skills)コマンド (commands)、またはその両方です。

  • Skills.claude/skills/openspec-*/SKILL.md のような場所に存在します。これは現れつつあるクロスツール標準であり、アシスタントが自動検出する指示のフォルダです。
  • Commands.claude/commands/opsx/<id>.md のような場所に存在します。これらは古いパー・ツール(per-tool)のスラッシュコマンドファイルです。

お使いのツールがどちらを使用しているかを気にする必要はありません。スラッシュコマンドを入力すれば機能します。しかし、これらのファイルが存在することを知っておくと、何か問題が発生したときに役立ちます。もしコマンドが消えていたら、通常はこれらのファイルが欠落しているか古くなっているため、openspec updateで再生成できます。

ツールごとの正確なパスについてはSupported Toolsを、スキルが古いコマンドのみのアプローチに取って代わった経緯についてはMigration Guideを参照してください。

インストールされていることの確認

簡単なチェックから始めましょう。

  1. AIチャットにスラッシュを入力します。 /opsxと入力し、オートコンプリートの提案が表示されるかを確認します。表示されればOKです。
  2. ファイルをチェックします。 Claude Codeの場合は、.claude/skills/内にopenspec-*フォルダがあることを確認してください。他のツールは独自のディレクトリを使用しています(Supported Toolsにリストされています)。
  3. セットアップを再実行します。 プロジェクトルートからopenspec updateを実行します。これにより、設定したすべてのツールに対応するスキルとコマンドファイルが再生成されます。
  4. アシスタントを再起動します。 多くのツールは起動時にスキルやコマンドをスキャンするため、ウィンドウを新しく開くことが必要なステップである場合があります。

どのようなコマンドがあるのか?

デフォルトで、OpenSpecは以下のコアスラッシュコマンドセットをインストールします。

  • /opsx:explore: 変更を確定する前にAIとアイデアを練る(迷っている場合の素晴らしい第一歩)
  • /opsx:propose: 変更を作成し、すべての計画アーティファクトを一度にドラフトする
  • /opsx:apply: タスクリストを通じて変更をビルドする
  • /opsx:sync: 変更の仕様書更新をメインの仕様書にマージする(通常は自動)
  • /opsx:archive: 変更を完了し、ファイリングする

良いデフォルトのリズム:何をすべきか考えているときはexploreをし、次にproposeapplyarchiveを実行します。Explore Firstガイドが、なぜこの最初のステップが報われるのかを説明しています。

さらに、より細かな制御を望む人向けの拡張セット(/opsx:new, /opsx:continue, /opsx:ff, /opsx:verify, /opsx:bulk-archive, /opsx:onboard)も存在します。これはopenspec config profileで有効にし、その後openspec updateで適用します。

これらすべてが初めてですか?/opsx:onboard(拡張セットに含まれる)は、あなたのコードベース全体を通して完全な変更を案内し、各ステップをナレーションしてくれます。それは最も親切な紹介です。

各コマンドの詳細についてはCommandsを参照してください。どれを使うべきかの判断基準についてはWorkflowsを参照してください。

クリーンな初回実行の流れ

すべてをまとめたものが以下にあります。各ステップがどこで発生するかというラベル付けをした完全なシーケンスです。

text
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: コマンドが表示されない場合の修正方法