examples-auto-run について
自動入力モードでプロジェクトのサンプルをビルド・実行するスクリプト型スキルです。並列起動、実行ごとのログ記録、起動・停止・確認・再実行の補助機能を備えています。
主な機能
- 01実行前のパッケージビルドとチェック
- 02自動入力モードでサンプルを起動
- 03対象となる起動処理を並列実行
- 04起動ごとのログファイルを作成
- 05起動・停止・状態・ログの操作
- 06記録された失敗項目を順次再実行
活用シーン
- 01複数のサンプル起動スクリプトの実行
- 02個別のサンプル実行ログの確認
- 03前回失敗したサンプルの再試行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ openai/ openai-agents-js --skill examples-auto-runインストール後、Claude Code で/examples-auto-runを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlscripts/run.sh
詳細
examples-auto-run
機能
- 最初に
pnpm build && pnpm -r build-checkを実行します - 自動入力モードで
pnpm examples:start-allを実行します(対話型プロンプトには自動で回答し、HITL/MCP/apply-patch は自動承認します)。 - start を並列実行します(デフォルトの同時実行数は 4)。各 start の stdout/stderr は
.tmp/examples-start-logs/内の個別のログファイルに出力されます。 run.shを使って、start/stop/status/logs/tail の各ヘルパーを利用できます。- Codex セッションが終了すると(disown/nohup なしの場合)、子プロセスに SIGHUP が送られて終了します。手動でクリーンアップするには
stopも利用できます。
使い方
# Start (auto mode, concurrency=4 by default)
.agents/skills/examples-auto-run/scripts/run.sh start [extra args to examples:start-all]
# If you invoke the skill name alone ($examples-auto-run):
# - when `.tmp/examples-rerun.txt` exists and is non-empty, it will run `rerun` automatically
# - otherwise it runs the default `start` command.
# Examples:
.agents/skills/examples-auto-run/scripts/run.sh start --filter basic
.agents/skills/examples-auto-run/scripts/run.sh start --include-server --include-audio
# Check status
.agents/skills/examples-auto-run/scripts/run.sh status
# Stop running job (kills pid from .tmp/examples-auto-run.pid)
.agents/skills/examples-auto-run/scripts/run.sh stop
# List logs (per start script)
.agents/skills/examples-auto-run/scripts/run.sh logs
# Tail latest log
.agents/skills/examples-auto-run/scripts/run.sh tail
.agents/skills/examples-auto-run/scripts/run.sh tail basic__start_hello-world.log
# After a run, build a rerun list from the latest main log (auto-skip list is imported from `scripts/run-example-starts.mjs` and server/audio/external skips are honored)
.agents/skills/examples-auto-run/scripts/run.sh collect
# Rerun only the entries in .tmp/examples-rerun.txt
.agents/skills/examples-auto-run/scripts/run.sh rerun
# Show the current auto-skip list (env or defaults)
.agents/skills/examples-auto-run/scripts/run.sh start --print-auto-skip --dry-run
デフォルト設定(環境変数で上書き可能)
EXAMPLES_INTERACTIVE_MODE=autoAUTO_APPROVE_MCP=1、APPLY_PATCH_AUTO_APPROVE=1、AUTO_APPROVE_HITL=1(ランナーで設定)EXAMPLES_CONCURRENCY=4sandbox:start:memory-generationは、事前停止時のメモリー生成が共有ローカルリソースと競合する可能性があるため、引き続きランナーによって直列化されます。その他のホスト型、Unix ローカル、および Docker サンドボックスの例は並列実行されます。
EXAMPLES_EXECA_TIMEOUT_MS=300000(5 分)
financial-research-agentとcomputer-useはスクリプト内で 10 分を使用します。- デフォルトでは interactive を含め、server/audio/external を除外します:
EXAMPLES_INCLUDE_INTERACTIVE=1EXAMPLES_INCLUDE_SERVER=0EXAMPLES_INCLUDE_AUDIO=0
EXAMPLES_INCLUDE_EXTERNAL=0- つまり、
realtime-*/nextjs(server/audio としてタグ付けされています)は、--include-server/--include-audioまたは対応する環境変数で明示的に有効にしない限りスキップされます。
- つまり、
- 自動スキップリスト:
EXAMPLES_AUTO_SKIP(カンマまたはスペース区切り)を指定すると、run.shとrun-example-starts.mjsの両方で使用される組み込みのデフォルト設定を上書きできます。デフォルトには、agent-patterns:start:llm-as-a-judge、connectors:start、mcp:start:hosted-mcp-on-approval、mcp:start:hosted-mcp-human-in-the-loop、sandbox:start:vercel、tools:start:codex、tools:start:codex-same-threadが含まれます。
Codex の実行環境
- Codex が
startまたはrerunを実行する場合、デフォルトでは Codex サンドボックスの外でコマンドを実行してください(sandbox_permissions=require_escalated)。一部の例は、ネストされたサンドボックス、ブラウザー、npm ヘルパー、またはローカルサービスのプロセスを起動します。Codex サンドボックス内から実行すると、Playwright ブラウザーの起動権限エラー、npm キャッシュの権限エラー、ネストされたサンドボックスのセットアップエラーなど、環境に起因する失敗が発生する場合があります。 - ユーザーが明示的に求めた場合、または例を実行しない限定的なドライラン/ログ確認コマンドを実行する場合に限り、サンドボックス内で実行してください。
キャンセル/クリーンアップ
- ジョブはバックグラウンドで実行されますが、disown されません。Codex がシェルを一時停止または終了すると、プロセスグループに SIGHUP が送られ、停止します。
- 手動でクリーンアップするには、
run.sh stopを実行します(すでに終了している場合は古い PID を削除します)。
ログの保存場所
.tmp/examples-start-logs/<package>__<script>.log(start ごと)- メインランナーのログパスは、
startの実行時に表示されます。 - 再実行リスト(
collectによって生成):.tmp/examples-rerun.txt(1 行につきpackage:script)
注意事項
- 自動スキップは一元管理されており(上記と同じデフォルト設定)、
EXAMPLES_AUTO_SKIPで上書きできます。自動スキップ項目は再実行対象の収集から除外され、再実行時にも自動的に除外されます。 - 自動入力マップは一般的な対話型プロンプトに対応しています。HITL/MCP/apply-patch の自動承認はランナーによって有効化されます。
- 自動モードでは、シェルツールの承認は自動的に行われます(
SHELL_AUTO_APPROVE=1)。 rerunは項目を順番に実行し、失敗後も続行します。また、.tmp/examples-rerun.txtを残りの失敗項目だけで書き換えます。自動スキップ項目は再追加されません。- ランナーでは動作検証を**行いません。そのため、Codex はユーザーに求められるのを待たず、
startまたはrerunの実行直後に必ず検証してください。**必須の手順:- コードやコメントから意図した処理の流れ(呼び出されるツール、期待される出力、ガード、承認)を推測するため、サンプルのソースを読みます。
.tmp/examples-start-logs/内の対応するログを読みます。- 意図とログを比較し、主要な処理や結果が発生したことを確認し、欠落や相違があれば指摘します。
- サンプルだけでなく、終了コードが 0 のすべての項目について実施します。
- 実行完了直後に検証結果をまとめます。「OK」の場合は、確認した内容(例:「ツールが呼び出され、最終メッセージが出力された」)を記載します。
- 報告時、検証の根拠となる出力を省略したり、途中を省略記号で置き換えたりしないでください。関連する行をすべて含め(簡潔に、ただし省略せずに)報告します。
- ランナーは概要の後に完全な表を出力します。各起動スクリプトにつき 1 行で、
status、package:script、info(理由/終了コード/スキップ)、ログのパスを含みます。表が表示される前に実行が停止した場合は、アナライザーに最新のmain_*.logを参照させ、表と検証結果を再構成します。
コメント
Markdown 対応