AI ツールアダプター
slipway init --tools は、AI コーディングツールが Slipway コマンドを呼び出し、現在のプロジェクトからガバナンス対象のスキル指示を読み込めるようにするホストツール用ファイルを出力します。
| Tool ID | スキルのパス | コマンドのパス | 呼び出し方法 |
|---|---|---|---|
claude |
.claude/skills/slipway-*/SKILL.md |
.claude/commands/slipway/*.md |
/slipway:<command> |
codex |
.codex/skills/slipway-*/SKILL.md |
.codex/skills/slipway-*/SKILL.md |
$slipway-<command>(または /skills) |
copilot |
.github/skills/slipway-*/SKILL.md |
.github/prompts/slipway-<command>.prompt.md |
/slipway-<command> |
cursor |
.cursor/skills/slipway-*/SKILL.md |
.cursor/commands/*.md |
/slipway-<command> |
kilo |
.kilocode/skills/slipway-*/SKILL.md |
.kilocode/workflows/slipway-<command>.md |
/slipway:<command> |
kiro |
.kiro/skills/slipway-*/SKILL.md |
.kiro/skills/slipway-<command>/SKILL.md |
@slipway:<command> またはホストのスキルピッカー |
opencode |
.opencode/skills/slipway-*/SKILL.md |
.opencode/commands/slipway-*.md |
/slipway-<command> |
pi |
.pi/skills/slipway-*/SKILL.md |
.pi/prompts/slipway-<command>.md |
/slipway-<command> |
qwen |
.qwen/skills/slipway-*/SKILL.md |
.qwen/skills/slipway-<command>/SKILL.md |
/slipway-<command> またはホストのスキルピッカー |
windsurf |
.windsurf/skills/slipway-*/SKILL.md |
.windsurf/workflows/slipway-<command>.md |
/slipway-<command> |
Codex、Kiro、Qwen のコマンドは、各アダプターのスキルディレクトリ配下に、発見可能なコマンドごとのスキルとして生成されます。プロンプトベースおよびワークフローベースのホストは、代わりにコマンドファイルを生成します。生成されるすべてのコマンドサーフェスは slipway CLI を呼び出します。ホストファイルがライフサイクル、レビュー、エビデンスの動作を独自に実装することはありません。Slipway はグローバルな Codex プロンプトファイルを書き込まなくなり、Codex のリフレッシュもホストグローバルなプロンプトディレクトリを削除しません。プロジェクト単位のプロンプトベースアダプターは、リフレッシュ時に Slipway 所有の廃止済みプロンプトファイルを引き続き削除します。
アダプターの生成
Section titled “アダプターの生成”slipway init --tools claudeslipway init --tools codex,opencodeslipway init --tools allslipway init --tools none # initialize runtime layout only, no adapter files管理対象ファイルをリフレッシュし、Slipway 所有の廃止済みアダプター成果物を削除します。
slipway init --tools all --refresh自動検出した管理対象アダプターをリフレッシュします。
slipway init --refreshSlipway はアダプターを、生成したセンチネルによって検出します。.claude、.codex、.cursor、.opencode、.pi、.qwen、.kiro、.windsurf、.kilocode といったディレクトリが単に存在するだけでは検出しません。所有権マニフェストはリフレッシュ時に生成済みファイルを保護します。センチネルのみのレガシーアダプターはマニフェスト追跡へ取り込めますが、センチネルのないパス衝突は、既存の内容が生成出力とすでに一致している場合を除き、フェイルクローズドのままです。Copilot はこの管理状態を、共有の .github ツリーをアダプター所有として扱うのではなく、.github/copilot/slipway 配下に保持します。リフレッシュは、ユーザー所有のフック、プロンプト、ワークフロー、スキルを生成済みファイルとともに保持しつつ、Slipway 所有のレガシーシェルフックランチャーと廃止済みの bash "<hook>.sh" フック設定エントリを削除します。
生成されるコマンドサーフェス
Section titled “生成されるコマンドサーフェス”生成ホストプロンプトを利用するコマンドは、すべてのツールでコマンドサーフェスを提供します。
- Claude、Copilot、Cursor、Kilo、OpenCode、Pi、Windsurf 上のプロンプトファイルおよびワークフローファイル。
- Codex、Kiro、Qwen 上のコマンドごとのスキル。
slipway tool のような CLI 専用のヘルパー名前空間は、Slipway バイナリ内では公開されたままですが、ホストコマンドのラッパーは生成しません。生成されたスキルが slipway tool ... サブコマンドを直接呼び出します。
生成されるフックは slipway バイナリ以外に依存しません。手動のヘルパーコマンドは、明示的に認証済みのバックエンドやドメインツールを利用できます。GitHub ヘルパーは gh を優先し、gh が利用できない場合や認証エラーを報告した場合はトークン API にフォールバックし、どちらのバックエンドも存在しない場合はフェイルクローズドになります。
コアのライフサイクルコマンド:
new($slipway-new)intake($slipway-intake)plan($slipway-plan)implement($slipway-implement)review($slipway-review)fix($slipway-fix)done($slipway-done)next($slipway-next)run($slipway-run)status($slipway-status)
ディスカバリーコマンド:
codebase-map($slipway-codebase-map)
状況依存コマンド:
preset($slipway-preset)validate($slipway-validate)abort($slipway-abort)cancel($slipway-cancel)delete($slipway-delete)repair($slipway-repair)evidence($slipway-evidence。wave-orchestration ホストはslipway evidence task ...でタスクのエビデンスを記録します)
ヘルパー:
toolは CLI 専用です。$slipway-toolや生成ホストプロンプトのラッパーは存在しません。生成されたスキルがslipway tool <helper>を直接呼び出します。
診断コマンド:
health($slipway-health)instructions($slipway-instructions)
セットアップコマンド:
init($slipway-init)
ワークフロースキルのコマンドリファレンスが、生成されたコマンドサーフェスをインデックス化します。CLI 専用のヘルパーについては、生成されたスキル指示が示す明示的な slipway tool ... コマンドを使用してください。
サーフェスマニフェスト
Section titled “サーフェスマニフェスト”docs/SURFACE-MANIFEST.json は、生成されるアダプター、コマンド、スキル、JSON、ドキュメントの各サーフェスについてコミットされたインベントリです。手動で編集するものではなく、Slipway 所有の Go の権威ソースから再生成されます。
go run ./internal/toolgen/cmd/gen-surface-manifest --writego run ./internal/toolgen/cmd/gen-surface-manifest --check生成されるツール、コマンド、スキル、JSON コントラクト、ドキュメントサーフェスを追加したら --write を実行し、マニフェストの行が指すファイル内に対応するドキュメントトークンを維持してください。
OpenCode に関する注意
Section titled “OpenCode に関する注意”OpenCode はプロジェクトコマンドを .opencode/commands/ 配下の Markdown ファイルとして保存します。Slipway は次の場所にフラットな OpenCode コマンドファイルを生成します。
.opencode/commands/コマンドファイル名がそのまま OpenCode のコマンド ID になります。たとえば次のファイルは、
.opencode/commands/slipway-new.md次のように呼び出します。
/slipway-new一部の OpenCode ビルドは、コマンドピッカーでプロジェクトコマンドにプロジェクト接頭辞を付けて表示します。生成されるファイルパスは、安定した Slipway のコントラクトとして維持されます。
生成される OpenCode スキルは次の場所に置かれます。
.opencode/skills/また、OpenCode には settings.json がないため、アドバイザリのセッションフックはプラットフォームネイティブのランチャーファイルとして生成されます。
.opencode/hooks/slipway-session-start.opencode/hooks/slipway-session-start.ps1.opencode/hooks/slipway-session-start.cmdCursor も同じパターンに従い、.cursor/hooks/slipway-session-start と .ps1・.cmd のコンパニオンを提供します。これらのランチャーは slipway hook ... へ委譲するだけで、フックの動作は Slipway バイナリ内にあります。
アダプターに関する補足
Section titled “アダプターに関する補足”Copilot はコマンドプロンプトを .github/prompts/ に .prompt.md 拡張子で保存し、生成されるスキルを .github/skills/ に保存します。センチネルと所有権マニフェストは .github/copilot/slipway 配下に置かれます。
Pi はコマンドプロンプトを .pi/prompts/ に、生成されるスキルを .pi/skills/ に保存します。Slipway は .pi/settings.json もマージし、enableSkillCommands を true に、./skills を skills に、./prompts を prompts にそれぞれ記載します。さらに Slipway は .pi/extensions/slipway-hooks.ts を生成し、session-start フックを pi の session_start / before_agent_start 拡張イベントへブリッジします(pi は .pi/extensions/ を自動検出しますが、プロジェクトが信頼された後にのみプロジェクトローカル拡張を読み込みます)。
Qwen と Kiro は、コマンドを別個のプロンプトファイルではなく、生成されたコマンドスキルとして公開します。Qwen はセッションスタートフック用に .qwen/settings.json を書き込みます。Kiro のコマンドスキルは @slipway:<command> を使用します。
Windsurf と Kilo は、コマンドを .windsurf/workflows/ および .kilocode/workflows/ 配下のワークフローファイルとして公開します。Kilo はワークフローファイルが slipway-<command>.md という名前であっても、/slipway:<command> トリガーを使用します。
設定対応ホスト
Section titled “設定対応ホスト”Claude(.claude/settings.json)と Qwen(.qwen/settings.json)は、ランチャースクリプトを介さず、自身の設定ファイルにフックをインラインで登録します。Slipway は settings.json に slipway hook ... コマンドをそのまま書き込みます。
SessionStart上のslipway hook session-start
Claude と Qwen は SessionStart のみを登録します。これらの設定登録型フックにはランチャーファイルは生成されず、コマンドは PATH 上の slipway バイナリを解決し、フックの動作はそのバイナリ内にあります。Pi の settings.json はスキルとプロンプトの登録専用であり、その session-start フックは代わりに生成された .pi/extensions/ モジュールを通じてブリッジされます。
安全に関するルール
Section titled “安全に関するルール”- 意図してローカルのホスト動作をカスタマイズする場合を除き、生成された Slipway アダプターファイルを編集しないでください。
- Slipway の変更後は、
slipway init --refreshを使って生成済みファイルを更新し、Slipway 所有の廃止済みアダプターエントリを削除してください。 - 隣接する AI ツールディレクトリ内のユーザー所有ファイルは保持してください。
- リポジトリをすべての貢献者向けに初期化すべき場合は
.slipway.yamlをコミットしてください。生成されたアダプターファイルは、コミット前にリポジトリのポリシーに従ってレビューしてください。