Writes EAS Workflow YAML for CI and deploys, then validates it with the EAS CLI.

How it works

Foe: Gate Warden, the release gate: deploys, app stores, pull requests.

Foes

  • Gate Warden

Party · Context

  • RangerYour agent100/100
  1. Gate Warden

    The Gate Warden blocks the way.

    What really happensIt stands for the release gate: deploys, app stores, pull requests.

    Ranger: Context 100/100.

  2. Bar the gate

    The Gate Warden uses Bar the gate.

    What really happensA release waits until tests, builds and reviews pass.

    Ranger takes 9. Ranger: Context 91/100.

  3. Expo EAS Workflows

    The EAS Workflows scroll opens when the gate needs a pipeline.

    What really happensThe skill loads for EAS CI/CD, .eas/workflows/, build pipelines, or deployment automation in an Expo project.

    Gate Warden takes 19.

  4. Expo EAS Workflows

    The current gate schema is fetched before any YAML is cut.

    What really happensIt fetches the workflow JSON schema, syntax docs, and pre-packaged job docs with the skill's fetch script. Memorized fields are not enough.

    Gate Warden takes 16.

  5. Bar the gate

    The Gate Warden uses Bar the gate.

    Ranger takes 9. Ranger: Context 82/100.

  6. Expo EAS Workflows

    A workflow scroll is written into the project's gate folder.

    What really happensWorkflow files go in .eas/workflows/*.yml and must be 16 KiB or smaller. They need a name, at least one trigger, and jobs.

    Gate Warden takes 24.

  7. Expo EAS Workflows

    The warden checks the scroll before a run is allowed.

    What really happensnpx eas-cli@latest workflow:validate checks the file, eas.json profiles, and the EAS server. It needs a logged-in CLI and a linked project.

    Gate Warden takes 10. Ranger: Ward.

  8. Expo EAS Workflows

    A valid pipeline is left at the gate. Runs can cost coin.

    What really happensYou get workflow YAML. EAS Workflows is a paid service with free-tier limits. Store builds also need paid Apple and Google accounts.

    Gate Warden takes 31. Gate Warden falls.

  9. Victory

    The Gate Warden falls.

Learn this spell

Claude Code

claude plugin install expo@claude-plugins-official

Codex

codex plugin add expo@openai-curated

Notes

For Claude Code and Codex, the Expo README recommends the official plugin, which installs every Expo skill plus the Expo MCP config. EAS Workflows is paid, with free-tier limits. Build and submit jobs also need paid Apple Developer and Google Play accounts. Files live in .eas/workflows/ and must be 16 KiB or smaller. Validation needs a logged-in EAS CLI and a linked project.

Proving Grounds record

Controlled quest results, separate from recorded usage. Each setup pools runs across its quests. The per-quest table below has casts, cast time, mana, incantation and runes; medians are not pooled.

Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate100%6 of 6 runs passed every check; Unarmed: 24 of 24 (matched quests)
Steadiness61%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (6 equipped runs; 24 control runs)
Instant casts5 of 6runs cleared on the first prompt; Unarmed: 24 of 24 (matched quests)
Attunement67%4 of 6 runs opened an equipped skill
Upkeep+21% manaextra mana per run vs Unarmed, median of 2 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes-19%lines added per run vs Unarmed, median of 2 quests
Per-quest Proving Grounds record
QuestFixed taskClear ratePassed runsSteadinessReliability lower boundBuffClear-rate points vs UnarmedInstant castsFirst-prompt clearsCastsPrompts to clearCast timeAgent runtimeManaCost at API list pricesIncantationOutput tokensRunesLines added / removedAttunementSkills openedSetupApp, model, effort and sandbox
Ranger: orders screen performance passQuest v4100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 12 of 12140sUnarmed: 31s1,283 Unarmed: 978Not reportedUnarmed: 3.3k+75 / -38Unarmed: +74 / -3933%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell expo-eas-workflows --quest ranger-orders-list --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v4 and spell commits expo-eas-workflows@55ec65cd16499f20f14fb10fe99a2e62901b00a1. How to run it

Ranger: Pantry navigation migrationQuest v5100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed2 of 367%Unarmed: 12 of 1211m 23sUnarmed: 1m 2s2,338 Unarmed: 2,116Not reportedUnarmed: 8.4k+121 / -119Unarmed: +202 / -198100%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell expo-eas-workflows --quest ranger-recipe-router --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v5 and spell commits expo-eas-workflows@55ec65cd16499f20f14fb10fe99a2e62901b00a1. How to run it

Scrying (screenshots of runs)

The latest run of each setup. Local paths, names and ids are blurred; credentials are removed.

Scrying (screenshot) of a cleared run of Ranger: orders screen performance pass with Expo EAS Workflows, Claude CodeScrying (screenshot) of a cleared run of Ranger: Pantry navigation migration with Expo EAS Workflows, Claude Code
Explore the quests, full results and trial method

This spell has no recorded sessions in the curator's logs. Tried it? Send a spell report.