Catalog
expo/eas-workflows

expo

eas-workflows

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.

NewUpdated Oct 3, 2026

EAS Workflows Skill

EAS service - costs apply. EAS Workflows run on Expo Application Services, a paid product with free-tier limits. Each workflow job consumes your plan's build/compute minutes, and jobs that build or submit also need paid Apple Developer and Google Play accounts. Review https://expo.dev/pricing before triggering runs.

Help developers write and edit EAS CI/CD workflow YAML files.

Reference Documentation

Fetch these resources before generating or editing workflow files, or when answering syntax questions. 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>
  1. JSON Schema — https://api.expo.dev/v2/workflows/schema

    • It is NECESSARY to fetch this schema
    • Source of truth for the workflow YAML structure; EAS CLI remains the authoritative final validator
    • All job types and their required/optional parameters
    • Trigger types and configurations
    • Runner types, VM images, and all enums
  2. Syntax Documentation — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx

    • Overview of workflow YAML syntax
    • Examples and English explanations
    • Expression syntax and contexts
  3. Pre-packaged Jobs — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx

    • Documentation for supported pre-packaged job types
    • Job-specific parameters and outputs

Do not rely on memorized values; these resources evolve as new features are added.

Workflow File Location

Workflows live in .eas/workflows/*.yml (or .yaml). Each file must be 16 KiB or smaller.

Top-Level Structure

A workflow file has these top-level keys:

  • name — Display name for the workflow
  • on — Triggers that start the workflow (at least one required)
  • jobs — Job definitions (required)
  • defaults — Shared defaults for all jobs
  • concurrency — Control parallel workflow runs

Consult the schema for the full specification of each section.

Expressions

Use ${{ }} syntax for dynamic values. The schema defines available contexts:

  • github.* — GitHub repository and event information
  • inputs.* — Values from workflow_dispatch inputs
  • needs.* — Outputs and status from dependent jobs
  • jobs.* — Job outputs (alternative syntax)
  • steps.* — Step outputs within custom jobs
  • workflow.* — Workflow metadata

Generating Workflows

When generating or editing workflows:

  1. Fetch the schema to get current job types, parameters, and allowed values
  2. Validate that required fields are present for each job type
  3. Verify job references in needs and after exist in the workflow
  4. Check that expressions reference valid contexts and outputs
  5. Ensure if conditions respect the schema's length constraints

Validation

After generating or editing a workflow file, validate it with EAS CLI from the Expo project root:

npx -y eas-cli@latest workflow:validate .eas/workflows/<workflow.yml> --non-interactive

Run the command separately for each changed workflow file. It requires a logged-in EAS CLI session and a linked Expo project. Unlike schema-only validation, it also checks build profile references against the project's eas.json and performs EAS server-side validation. Fix every reported error and rerun the command until it prints Workflow configuration YAML is valid. Do not replace this command with a local YAML or JSON Schema validator.

Answering Questions

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.

Submitting Feedback

If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:

npx --yes submit-expo-feedback@latest --category skills --subject "eas-workflows" "<actionable feedback>"

Only submit when you have something specific and actionable to report. Include as much relevant context as possible. If an AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.

Files4
4 files · 4.4 KB

Select a file to preview

Overall Score

86/100

Grade

A

Excellent

Grades are signals, not a certification. Always review a skill yourself before use.

Safety

82

Quality

90

Clarity

88

Completeness

84

Summary

EAS Workflows skill helps developers write and validate EAS CI/CD workflow YAML files for Expo projects. It provides structured guidance for workflow syntax, job types, and triggers by fetching authoritative resources (JSON schema, documentation) from Expo and GitHub, and validates workflow files using EAS CLI.

Detected Capabilities

file readfile writehttp requestbash execution (node, npx with eas-cli)schema/documentation fetch with caching

Trigger Keywords

Phrases that agents use to match this skill to user intent.

write eas workflowedit .eas/workflowsvalidate workflow yamleas ci/cd pipelineexpo build triggereas job typesworkflow expression syntax

Risk Signals

INFO

HTTP requests to remote URLs (api.expo.dev, raw.githubusercontent.com)

scripts/fetch.js, SKILL.md reference documentation section
INFO

Node.js script execution via bash (node scripts/fetch.js, npx eas-cli)

SKILL.md allowed-tools field and validation section
INFO

File writes to .eas/workflows/ directory

SKILL.md workflow file location section
WARNING

Local caching of remote responses without validation

scripts/fetch.js lines 25-29, cache loading without content inspection
INFO

ETag-based cache refresh may serve stale schema during schema evolution

scripts/fetch.js lines 31-32, 304 response handling

Referenced Domains

External domains referenced in skill content, detected by static analysis.

api.expo.devexpo.devraw.githubusercontent.com

Use Cases

  • Create EAS CI/CD workflow files for Expo projects
  • Edit and modify existing .eas/workflows YAML configuration
  • Validate workflow syntax against JSON schema before deployment
  • Answer questions about available job types, triggers, and runner options
  • Resolve expressions and context variables in workflow definitions
  • Debug workflow configuration errors against EAS server-side validation

Quality Notes

  • Well-structured skill with clear workflow file location and top-level structure documented
  • Comprehensive reference to three authoritative external resources (schema, syntax docs, pre-packaged jobs) with explicit requirement to fetch rather than relying on memorized values
  • Strong validation guidance: explicit instructions to run EAS CLI validation against .eas/workflows YAML, with error correction loop documented
  • Expressions section clearly explains ${{}} syntax and available contexts with reference to schema
  • Appropriate cost/payment warning at top alerts users to free-tier limits and resource consumption
  • allowed-tools field is scoped: restricts to Read, Write, Node.js (with node:* prefix), and specific EAS CLI versions via npx
  • Includes feedback mechanism (submit-expo-feedback) for error reporting
  • Scripts directory provides a well-implemented fetch utility with ETag caching and TTL handling
  • Limitations clearly stated: 16 KiB file size limit, schema is source of truth, EAS CLI validation is required
  • Addresses edge cases: empty workflow files, missing build profiles, job reference validation
  • Step-by-step generation workflow (fetch schema → validate fields → check references → validate expressions → run EAS CLI) is explicit and actionable
Model: claude-haiku-4-5-20251001Analyzed: Oct 3, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Version History

  1. v3.0

    Contract changed: description

    ✦ AIRemoves "EAS service (paid)" label from description used for agent activation.

    triggering2026-10-03

    LATEST
  2. v2.0

    Contract changed: allowed-tools

    ✦ AIValidation now uses npx eas-cli@latest workflow:validate directly; removed local Node validator script. File size limit 16 KiB per workflow added.

    tool access2026-09-09

    View This Version
  3. v1.0

    2026-07-11

    View This VersionInitial version

Use expo/eas-workflows in your dev environment

Command Palette

Search for a command to run...