Skills
すべてのOpenSpecスキル: 引数、作成するもの、そして応答内容。
スキルは2つのセットで構成されています:
- Core: デフォルトでインストールされ、主要な計画ループを担います。
- Optional: Profiles から追加した場合にのみインストールされます。
すべてのスキルは、すでにOpenSpecを使用するプロジェクトを前提としています。何かを書き込む最初のステップの前に、スキルは解決済みのルートを確認します。ルートがない場合の動作は、スキルにどのように到達したかによって異なります:
- 自動選択: エージェントがOpenSpecを名指しせずにスキルを自ら選択した場合。OpenSpecを破棄し、OpenSpecがインストールされていない場合と同様に通常どおりリクエストに応答します。
- 明示的なOpenSpecリクエスト: OpenSpecを名指しした、スキルを名指しした、またはそのコマンドを実行した場合。書き込みの前に停止し、続行方法を尋ねます: ここで
openspec initを実行するか、--store <id>でストアを指定するか、OpenSpecなしで続行するか。回答を待ちます。
コマンドは常に后者のケースです。openspec/config.yaml にこのマシンで解決できないストア(未登録、または不正な store: 行)を指定しているプロジェクトは、未初期化とは見なされません: スキルは停止し、ストアエラーとその修正方法を表示します。どちらの場合も、スキルが自ら openspec/ ディレクトリを作成することはありません。以下のエントリは、ルートが配置された後の各スキルの動作を説明します。
| Skill | Job | Type |
|---|---|---|
| openspec-explore | 変更提案になる前にアイデアを検討する | Core |
| openspec-propose | すべての計画成果物とともに変更提案を1ステップで作成する | Core |
| openspec-apply-change | 変更提案のタスクを実装する | Core |
| openspec-update-change | 変更提案の計画を修正する | Core |
| openspec-sync-specs | 変更提案の仕様更新を specs/ にマージする | Core |
| openspec-archive-change | 完了した変更提案をアーカイブに移動する | Core |
| openspec-new-change | 変更提案を空のスキャフォールドとして開始する | Optional |
| openspec-continue-change | 次の計画成果物を1つずつ作成する | Optional |
| openspec-ff-change | 実装に必要なすべての成果物とともに変更提案を一括作成する | Optional |
| openspec-verify-change | 実装が計画と一致しているか確認する | Optional |
| openspec-bulk-archive-change | 複数の変更提案を一括でアーカイブする | Optional |
| openspec-onboard | 1つの実際の変更提案を最後まで実施してワークフローを学ぶ | Optional |
以下の各エントリは、次のステップを担うスキルを指定します。プロファイルにそのスキルが含まれていない場合、インストールされたファイルはそのスキルを一切指定しません: 引き継ぎは同等の openspec コマンド、またはあなたへの単純なリクエストになり、存在しないスキルを指すためだけに行は書き込まれません。したがって、持っているスキルは常に持っているスキルへ引き継ぎます。どのセットを取得するかは Profiles を参照してください。
openspec-explore
変更提案になる前に、アイデアを深く考えます。
| コントラクト | 説明 |
|---|---|
| Arguments | トピック:アイデア、問題、比較、またはコンテキストで探る既存の変更提案名。何も指定しない場合は探索モードに入ります。 |
| Creates | デフォルトでは何も作成しません。読み取りと調査のみを行います。要求があれば洞察を捕捉します:openspec/changes/<name>/ 配下の新しい変更提案、または既存の変更提案の提案書、設計、仕様、タスクの更新。コードは決して作成しません。 |
| Response | 必須の出力がないオープンな対話。思考が結晶化したとき、問題、アプローチ、未解決の質問、次のステップを要約し、それらを捕捉することを提案します。判断はあなたに委ねられます。ここでは実装は始まりません。 |
openspec-propose
変更提案を作成し、すべての計画成果物を一度に生成します。
| コントラクト | 説明 |
|---|---|
| Arguments | kebab-case の名前(add-dark-mode)または通常の説明。どちらも指定しない場合は尋ねられます。 |
| Creates | openspec/changes/<name>/ をスキーマが定義するすべての成果物とともに、依存関係の順序で作成します(spec-driven:提案書、仕様差分、設計、タスク)。コードは決して作成しません。 |
| Response | 作成された成果物、レビューの準備ができた状態、次のステップ。そこで停止します。実装は openspec-apply-change を待ちます。 |
openspec-apply-change
変更提案のタスクを実装し、完了またはブロックされるまでリストを進めます。
| コントラクト | 説明 |
|---|---|
| Arguments | 変更提案名(add-auth)、省略可能。対象が曖昧な場合はアクティブな変更提案を一覧表示し、選択を求めます。 |
| Creates | コード:プロジェクトファイル内で各タスクが必要とする最小限の変更。変更提案内では、sourcePath と1始まりの line で識別される追跡対象ファイル内の完了した各タスクにチェックを入れます(- [ ] から - [x])。スキーマは複数のファイルにわたってタスクを追跡できます。 |
| Response | タスクごとの進捗、その後全体の件数(N/M タスク完了)。すべて完了:openspec-archive-change を提案。成果物が不足してブロックされた場合:openspec-continue-change を指し示すか、そのスキルがインストールされていない場合(コアプロファイルには含まれていません)は openspec status と openspec instructions を指し示します。タスクが不明確な場合やエラー:一時停止して尋ねます。 |
openspec-update-change
変更提案の既存の計画成果物を改訂し、相互の整合性を保ちます。
| コントラクト | 説明 |
|---|---|
| Arguments | 変更提案名(省略可能)と希望するリビジョン。リビジョンを指定しない場合は整合性レビューを実行します:成果物同士を照合し、矛盾、ギャップ、重複をチェックします。 |
| Creates | 既に存在する成果物ファイルを編集します。1つの例外:specs/**/*.md のようなグロブとして記述された成果物で、すでに少なくとも1つのファイルが存在する場合、パスを確認した後に不足している付随ファイルを追加できます。ファイルがまだない成果物は openspec-continue-change の役割です。そのスキルがない場合(コアプロファイルには含まれていません)、代わりに openspec status と openspec instructions を指し示します。コードは決して作成しません。 |
| Response | 各提案されたリビジョンを表示し、確認後に1つの成果物ずつ書き込みます。改訂された内容と次のステップで終了します。実装は openspec-apply-change を待ちます。 |
openspec-sync-specs
変更提案の仕様更新をアーカイブせずに specs/ にマージします。
| コントラクト | 説明 |
|---|---|
| Arguments | 変更提案名(省略可能)。その差分仕様のサブセットを指定して、それらだけを同期することもできます。 |
| Creates | 各差分仕様について openspec/specs/<capability-path>/spec.md を編集または作成し、追加、変更、削除、名前変更された要件をメイン仕様にマージします。コードは決して作成しません。 |
| Response | 更新された仕様の検証後、追加、変更、削除、名前変更された要件の機能ごとの要約。変更提案はアクティブのままです。アーカイブは openspec-archive-change を待ちます。 |
openspec-archive-change
完了した変更提案をアーカイブに移動します。
| コントラクト | 説明 |
|---|---|
| Arguments | 変更提案名(省略可能)。 |
| Creates | 変更提案フォルダを openspec/changes/archive/YYYY-MM-DD-<name>/ に移動します(名前がすでに日付で始まる場合は日付を追加しません)。承認を得て、まず未処理の差分仕様を同期します。openspec-sync-specs がインストールされている場合は、そのワークフローを実行します。そうでない場合は、差分仕様をメイン仕様にマージします。コードは決して作成しません。 |
| Response | 未完成の成果物やタスクがある状態でアーカイブする前に警告し尋ね、差分仕様が存在する場合は同期するか尋ねます。最後に要約を表示します:名前、スキーマ、アーカイブ場所、仕様同期のステータス、警告。 |
openspec-new-change
変更提案を空のスキャフォールドとして開始します。
| コントラクト | 説明 |
|---|---|
| Arguments | kebab-case の名前(add-user-auth)または通常の説明、およびデフォルト以外のワークフローの場合のスキーマ名。どちらも指定しない場合は、何を作りたいかを尋ねます。 |
| Creates | openspec/changes/<name>/ を空のスキャフォールドとして作成します:成果物はまだありません。コードは決して作成しません。 |
| Response | スキャフォールドの名前と場所、ワークフローの成果物シーケンス、ステータス(0/N 完了)、最初の成果物のテンプレート。成果物の作成は openspec-continue-change を待ちます。 |
openspec-continue-change
変更提案の次の計画成果物を1つずつ作成します。
| コントラクト | 説明 |
|---|---|
| Arguments | 変更提案名(省略可能)。まだ曖昧な場合は、最近変更されたものから選択するよう求めます。 |
| Creates | スキーマのシーケンスで次に準備ができた1つの成果物を変更提案フォルダに書き込みます。実行ごとに1つの成果物。コードは決して作成しません。 |
| Response | 作成された成果物、進捗(N / M 完了)、アンロックされた成果物。計画が完了するとその旨を伝えます。実装は openspec-apply-change に移ります。 |
openspec-ff-change
変更提案と実装に必要なすべての計画成果物を一括で作成します。
| コントラクト | 説明 |
|---|---|
| Arguments | kebab-case の名前または通常の説明。指定しない場合は尋ねられます。指定された変更提案がすでに存在する場合は、代わりに続行することを提案します。 |
| Creates | openspec/changes/<name>/ と実装に必要なすべての計画成果物を依存関係の順序で作成します(spec-driven:提案書、仕様、設計、タスク)。スキップまたは条件付きとしてマークされた成果物のみ除外します。コードは決して作成しません。 |
| Response | 変更提案の名前と場所、作成された各成果物、スキップされた条件付き成果物とその理由。そこで停止します。実装は openspec-apply-change を待ちます。 |
openspec-verify-change
実装が変更提案の成果物と一致するか確認します。
| コントラクト | 説明 |
|---|---|
| Arguments | 変更提案名(省略可能)。曖昧な場合は尋ね、タスク成果物を持つ変更提案を一覧表示します。 |
| Creates | 何も作成しません。変更提案の成果物とコードベースを読み取ります。検証はレポートのみです。 |
| Response | レポート:完全性、正確性、整合性のスコアカード、その後 CRITICAL、WARNING、SUGGESTION の各問題と推奨事項、最終的なアーカイブ準備状況の評価。何も変更せず、アーカイブも行いません。 |
openspec-bulk-archive-change
複数の変更提案を一度にアーカイブします。
| コントラクト | 説明 |
|---|---|
| Arguments | なし。アクティブな変更提案を一覧表示し、任意の数を選択するよう求めます(すべてを選択するオプションあり)。アクティブなものがない場合はその旨を伝えて停止します。 |
| Creates | アーカイブする変更提案ごとに openspec/changes/archive/YYYY-MM-DD-<name>/ を作成します(すでに日付が付いた名前はそのプレフィックスを保持します)。各変更提案の仕様差分は openspec-sync-specs を介して先に同期されます。コードは決して作成しません。 |
| Response | 変更提案ごとのステータス表とバッチ全体に対する1つの確認、その後アーカイブ済み、スキップ、失敗の要約、および仕様同期結果。2つの変更提案が同じ仕様に影響する場合、コードベースを確認し、実装済みの差分を古い順に同期します。 |
openspec-onboard
実際の変更提案を最後まで行うことでワークフローを学びます。
| コントラクト | 説明 |
|---|---|
| Arguments | なし。コードベースをスキャンして小さなスタータータスクを見つけ、1つを選択するか自分で説明するよう求めます。 |
| Creates | 選択したタスクの実際の変更提案を1つの成果物ずつ作成し、実装を確認した後に実際のコードを作成します。最後に変更提案をアーカイブします。 |
| Response | 入力のための一時停止を伴う全サイクルのナレーション形式のウォークスルー:探索、作成、各成果物の構築、実装、アーカイブ。振り返りと openspec-propose へのポインタで終了します。約15〜20分かかります。 |