antithesis-launch について
リポジトリから Antithesis のテスト実行を設定し、送信するスキルです。前提条件を確認してイメージをビルドし、設定の検証に成功した場合のみ起動します。必須情報の不足や検証失敗時は停止します。
主な機能
- 01snouty のバージョンと環境の確認
- 02Antithesis 設定ディレクトリの特定
- 03コンテナイメージのビルド
- 04検証後のテスト実行
- 05コマンドと実行 ID の報告
活用シーン
- 01リポジトリの Antithesis テスト実行
- 02送信前のテスト設定の検証
- 03指定済みイメージを使ったテスト実行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ antithesishq/ antithesis-skills --skill antithesis-launchインストール後、Claude Code で/antithesis-launchを入力して読み込まれたか確認します。
詳細
Antithesis の起動
スキルのバージョン: 2026-10-21 4f8d80b
前提条件
snoutyがインストールされていない場合は、作業を進めないでください。インストール方法については、https://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.mdを参照してください。snoutyが 0.8.0 より古い場合は、作業を進めないでください。snouty --versionでバージョンを確認してください。更新するにはsnouty updateを使用してください。snouty doctorを実行してください。コンテナランタイムと Compose CLI を確認します。両方の結果をユーザーに報告し、同じ組み合わせでビルドしてください。このスキルではdocker composeを使用しますが、snouty が CLI として指定したものがdocker-composeの場合は、代わりにdocker-composeを使用してください。
目標
次の順序でのみ、Antithesis の実行を起動してください。
docker compose build(ビルド済みイメージを使用するよう指示された場合はスキップ)snouty validate- 検証に失敗した場合は停止し、エラーを報告
snouty launch
必須入力
- 分単位の
durationが必須です。ユーザーから指定されていない場合は、実行を送信する前に確認してください。
検出
- ユーザーが指定したパス、コマンド、または Antithesis ディレクトリ名から開始してください。
- それ以外の場合は、リポジトリを調査し、ハーネスの構成を把握してください。コマンドを選択する前に、近くにある
AGENTS.md、README*、Makefile*、および Antithesis 固有のスクリプトを確認してください。 - Antithesis 用の
docker-compose.yamlを探して、設定ディレクトリを見つけてください。antithesis/configのようなディレクトリを優先しますが、標準外の構成にも対応してください。 - 次の項目は、Antithesis を示す強い手がかりとして扱ってください。近くにある
scratchbook/またはtest/ディレクトリ、/opt/antithesisに言及する compose の内容、ANTITHESIS_環境変数、setup_complete、または既存のsnoutyの使用例です。 - compose ファイルの候補が複数ある場合は、リポジトリのドキュメントまたは既存の
snouty launchの使用例で参照されているものを優先してください。それでも判断できない場合は、推測せずにユーザーに確認してください。 docker-compose.yamlを含むディレクトリを、snouty validate <CONFIG>およびsnouty launch --config <CONFIG>の引数として使用してください。- そのファイルを指定してビルドしてください。
docker compose -f <CONFIG>/docker-compose.yaml build。 - snouty はイメージをビルドもプルもしないため、すべてのイメージが snouty の選択するエンジンのストアにすでに存在している必要があります。両方のエンジンがインストールされている場合、snouty は podman を優先します。
- snouty に docker のストアを使用させるには、
SNOUTY_CONTAINER_ENGINE=dockerを設定してください。
- snouty に docker のストアを使用させるには、
- podman を使用する場合は、
podman compose -f <CONFIG>/docker-compose.yaml buildでビルドしてください。このラッパーは Docker Compose v2 を podman の API ソケット経由で実行するため、イメージは podman のストアに格納されます。まずプロバイダーを確認してください。podman compose versionがDocker Compose version ...を出力する必要があります。Compose v2 のバイナリが見つからない場合、podman は代わりにpodman-composePython ツールを使用します。
実行引数
-
起動方法は次の順序で決定してください。ユーザーによる明示的な指定、既存のリポジトリのドキュメント/スクリプト/使用例。それ以外の場合、docker-compose.yaml ファイルを使用するときは
basic_test、Kubernetes のセットアップを使用するときはbasic_k8s_testをデフォルトとします。 -
ビルド済みイメージを使って実行を起動するよう明示的に指示された場合は、ユーザーが指定したイメージ参照を使って
snouty launch --config-image <CONFIG_IMAGE>を実行してください。 -
それ以外の場合は
snouty launch --config <CONFIG>を使用します。この方法ではANTITHESIS_REPOSITORYが必要です。すでに設定されている場合は、現在の環境の値を再利用してください。設定されていない場合は、停止してユーザーに確認してください。 -
次のすべての値を必ず明示的に設定してください。
--duration:ユーザーが指定した実行時間--source:リポジトリ名--test-name:リポジトリ名にブランチ名または設定名を加えたもの--description:ブランチ名、現在の目標、前回の実行からの変更点などの詳細を含む、簡潔で読みやすい実行の説明。
-
上書きを許可してください。このスキルを呼び出すユーザーまたは別のスキルが起動パラメーターを指定した場合は、上記のデフォルト値ではなく、指定された値を使用してください。
実行
- これらのコマンドは完了までに長い時間がかかる場合があります。すぐに完了すると想定せず、バックグラウンド実行または十分に長いタイムアウトを優先してください。
- ビルドが成功し、
snouty validateが正常終了するまでは、snouty launchを実行しないでください。
docker compose -f "$CONFIG_DIR/docker-compose.yaml" build
snouty validate "$CONFIG_DIR"
snouty launch \
--json \
--launcher "$LAUNCHER" \
--config "$CONFIG_DIR" \
--duration "$DURATION" \
--source "$SOURCE" \
--test-name "$TEST_NAME" \
--description "$DESCRIPTION"
出力
- 提出前に、設定ディレクトリ、compose のビルドコマンド、検証コマンド、最終的な
snouty launchコマンドの形式を報告します。 - 検証に失敗した場合は、ただちに停止し、失敗したコマンドと主なエラーを表示します。
--jsonフラグを指定すると、snouty launchはrun_idを含む機械可読形式の出力を生成します。run_idを解析して報告します。実行完了後のトリアージに必要です。
セルフレビュー
- 選択した設定ディレクトリには、実際に Antithesis の
docker-compose.yamlが含まれています。 - ビルド、検証、実行の各ステップは、すべて同じ設定を参照しています。
snouty launchの実行前に、snouty validateが成功しています。- 実行時には
source、test-name、description、durationを明示的に設定し、呼び出し元から値が指定されている場合はデフォルト値より優先して使用するとともに、呼び出し元から指定された追加パラメーターも使用しています。 - ビルドでは、compose CLI とコンテナエンジンとして
snouty doctorが報告したものを使用しています。 duration、ANTITHESIS_REPOSITORYのような不足している必須項目や、設定場所が曖昧な場合は、不適切な提出を行わずに停止しました。