Expoプロジェクトの EAS ワークフロー YAML ファイル(設定ファイル)の理解と作成をサポートします。 次のような場合に使用: - ユーザーが Expo または EAS に関連する CI/CD(継続的インテグレーション・継続的デプロイメント)やワークフローについて質問する - .eas/workflows/ というファイルパスについて言及される - EAS ビルドパイプライン(自動構築処理)やデプロイメント自動化(本番環境への自動展開)についてサポートが必要な場合
Helps understand and write EAS workflow YAML files for Expo projects. Use this skill when the user asks about CI/CD or workflows in an Expo or EAS context, mentions .eas/workflows/, or wants help with EAS build pipelines or deployment automation.
開発者が EAS CI/CD ワークフロー YAML ファイルを作成・編集するのをサポートします。
ワークフローファイルを生成または検証する前に、以下のリソースを取得してください。
まずこのスキルのディレクトリを解決し、その scripts/ ディレクトリ内のフェッチスクリプトを使用します。
スクリプトは Node.js で実装されており、効率化のため ETag を使ったレスポンスキャッシュを行います:
# リソースの取得
node <skill-dir>/scripts/fetch.js <url>
JSON スキーマ — https://api.expo.dev/v2/workflows/schema
シンタックスドキュメント — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx
プリパッケージドジョブ — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx
新機能の追加に伴いこれらのリソースは更新されるため、記憶済みの値には依存しないでください。
ワークフローファイルは .eas/workflows/*.yml(または .yaml)に配置します。
ワークフローファイルには以下のトップレベルキーがあります:
name — ワークフローの表示名on — ワークフローを開始するトリガー(1 つ以上必須)jobs — ジョブ定義(必須)defaults — 全ジョブ共通のデフォルト設定concurrency — 並列ワークフロー実行の制御各セクションの完全な仕様はスキーマを参照してください。
動的な値には ${{ }} 構文を使用します。スキーマで利用可能なコンテキストが定義されています:
github.* — GitHub リポジトリおよびイベント情報inputs.* — workflow_dispatch インプットからの値needs.* — 依存ジョブの出力とステータスjobs.* — ジョブの出力(代替シンタックス)steps.* — カスタムジョブ内のステップ出力workflow.* — ワークフローのメタデータワークフローを生成または編集する際は、以下の手順に従ってください:
needs および after で参照されているジョブがワークフロー内に存在するか確認するif 条件がスキーマの文字数制約を満たしているか確認するワークフローファイルを生成または編集した後は、スキーマに対してバリデーションを実行してください:
# 依存関係が未インストールの場合はインストール
[ -d "<skill-dir>/scripts/node_modules" ] || npm install --prefix <skill-dir>/scripts
node <skill-dir>/scripts/validate.js <workflow.yml> [workflow2.yml ...]
バリデーターは最新のスキーマを取得し、YAML 構造をチェックします。 ワークフローが完成したと判断する前に、報告されたエラーをすべて修正してください。
ジョブタイプ・トリガー・ランナータイプなど利用可能なオプションについてユーザーから質問された場合は、 古い情報に依存するのではなく、スキーマを取得してそこから回答を導き出してください。
Help developers write and edit EAS CI/CD workflow YAML files.
Fetch these resources before generating or validating workflow files. First resolve this skill's directory, then use the fetch script in its scripts/ directory. It is implemented using Node.js and caches responses using ETags for efficiency:
# Fetch resources
node <skill-dir>/scripts/fetch.js <url>
JSON Schema — https://api.expo.dev/v2/workflows/schema
Syntax Documentation — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx
Pre-packaged Jobs — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx
Do not rely on memorized values; these resources evolve as new features are added.
Workflows live in .eas/workflows/*.yml (or .yaml).
A workflow file has these top-level keys:
name — Display name for the workflowon — Triggers that start the workflow (at least one required)jobs — Job definitions (required)defaults — Shared defaults for all jobsconcurrency — Control parallel workflow runsConsult the schema for the full specification of each section.
Use ${{ }} syntax for dynamic values. The schema defines available contexts:
github.* — GitHub repository and event informationinputs.* — Values from workflow_dispatch inputsneeds.* — Outputs and status from dependent jobsjobs.* — Job outputs (alternative syntax)steps.* — Step outputs within custom jobsworkflow.* — Workflow metadataWhen generating or editing workflows:
needs and after exist in the workflowif conditions respect the schema's length constraintsAfter generating or editing a workflow file, validate it against the schema:
# Install dependencies if missing
[ -d "<skill-dir>/scripts/node_modules" ] || npm install --prefix <skill-dir>/scripts
node <skill-dir>/scripts/validate.js <workflow.yml> [workflow2.yml ...]
The validator fetches the latest schema and checks the YAML structure. Fix any reported errors before considering the workflow complete.
When users ask about available options (job types, triggers, runner types, etc.), fetch the schema and derive the answer from it rather than relying on potentially outdated information.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。