Upgrades an Expo SDK, fixes dependency mismatches, and points at that SDK's breaking changes.

How it works

Foe: Tangle Hydra, a messy diff that needs review.

Foes

  • Tangle Hydra

Party · Context

  • RangerYour agent100/100
  1. Tangle Hydra

    The Tangle Hydra blocks the way.

    What really happensIt stands for a messy diff that needs review.

    Ranger: Context 100/100.

  2. Regrow

    The Tangle Hydra uses Regrow.

    What really happensA messy diff hides new problems inside old ones.

    Ranger takes 8. Ranger: Context 92/100.

  3. Expo Upgrade

    The upgrade scroll is read before versions are bumped.

    What really happensThe skill loads for Expo SDK upgrades, dependency conflicts, deprecated packages, and the migration notes for that jump.

    Tangle Hydra takes 17.

  4. Expo Upgrade

    The current SDK is identified, and the skip-56 warning is checked.

    What really happensRead the expo version first. From SDK 55 or earlier, the skill says skip SDK 56 and go to SDK 57 at expo@57.0.9 or later.

    Tangle Hydra takes 14.

  5. Regrow

    The Tangle Hydra uses Regrow.

    Ranger takes 8. Ranger: Context 84/100.

  6. Expo Upgrade

    Expo and its peers are moved, then the doctor is called.

    What really happensThe written steps are npx expo install expo@latest, npx expo install --fix, then npx expo-doctor. Do not switch the Hermes version by hand.

    Tangle Hydra takes 33.

  7. Expo Upgrade

    Native folders are regenerated only when they already exist.

    What really happensIf ios/ and android/ are absent, skip prebuild. If native changes are required and those folders exist, npx expo prebuild --clean regenerates them.

    Tangle Hydra takes 8. Ranger: Ward.

  8. Expo Upgrade

    The hydra is retied to the new SDK, with old packages swapped.

    What really happensYou get an upgraded project. Check https://expo.dev/changelog for the target SDK. expo-av moves to expo-audio and expo-video.

    Tangle Hydra takes 28. Tangle Hydra falls.

  9. Victory

    The Tangle Hydra falls.

Learn this spell

Claude Code

claude plugin install expo@claude-plugins-official

Codex

codex plugin add expo@openai-curated

Notes

Follows the project's SDK. The skill's install steps are `npx expo install expo@latest` and `npx expo install --fix`, then `npx expo-doctor`. From SDK 55 or earlier, skip SDK 56 and move to SDK 57 at expo@57.0.9 or later, because of a Hermes V1 memory bug. Do not switch the Hermes version by hand. Read the changelog for the target SDK.

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 casts6 of 6runs cleared on the first prompt; Unarmed: 24 of 24 (matched quests)
Attunement100%6 of 6 runs opened an equipped skill
Upkeep+12% manaextra mana per run vs Unarmed, median of 2 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes-20%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 12134sUnarmed: 31s1,127 Unarmed: 978Not reportedUnarmed: 3.3k+69 / -39Unarmed: +74 / -39100%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-upgrade --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-upgrade@55ec65cd16499f20f14fb10fe99a2e62901b00a1. How to run it

Ranger: Pantry navigation migrationQuest v5100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 12 of 1211m 1sUnarmed: 1m 2s2,306 Unarmed: 2,116Not reportedUnarmed: 8.4k+136 / -131Unarmed: +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-upgrade --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-upgrade@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 Upgrade, Claude CodeScrying (screenshot) of a cleared run of Ranger: Pantry navigation migration with Expo Upgrade, 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.