expo-sdk-upgrade

expo-sdk-upgrade is a skill for Claude Code from AnilBurcu/claude-code-react-native. It costs 59 tokens per session (944 once invoked), scanned C, original, MIT.

A reference for safely upgrading Expo SDK and React Native versions, including dependency alignment, health checks, native project changes, and over-the-air update precautions.

In plain words
What is it for?
Use it to plan and troubleshoot Expo upgrades, update dependencies in the right order, review breaking changes, and verify the app afterward.
Why use it?
It addresses the version conflicts and native build failures that can happen when related packages are upgraded independently or when old update channels receive incompatible code.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

Part of the rn plugin — 18 skills, 4 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/anilburcu/claude-code-react-native/expo-sdk-upgrade
Any agent
npx skills add AnilBurcu/claude-code-react-native --skill expo-sdk-upgrade
Clone the repo
git clone --depth 1 https://github.com/AnilBurcu/claude-code-react-native

Made for: Claude Code.

Or install rn, the plugin that ships this one along with the rest of its 18 skills, 4 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for expo-sdk-upgrade

README.md
[![agentmods](https://agentmods.dev/badge/skills/anilburcu/claude-code-react-native/expo-sdk-upgrade.svg)](https://agentmods.dev/skills/anilburcu/claude-code-react-native/expo-sdk-upgrade)
Your own site
<a href="https://agentmods.dev/skills/anilburcu/claude-code-react-native/expo-sdk-upgrade"><img src="https://agentmods.dev/badge/skills/anilburcu/claude-code-react-native/expo-sdk-upgrade.svg" alt="Measured on agentmods" height="20"></a>
Per session 59 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 944 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00059 $0.00944
Opus 5 $0.00030 $0.00472
Sonnet 5 $0.00012 $0.00189
Haiku 4.5 $0.00006 $0.00094

Measured 5d ago against content hash 499c40580a05, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade C, and why

expo-sdk-upgrade scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

- If dependency resolution seems stuck on stale versions after edits, do a full reinstall (`rm -rf node_modules && npm install`), but keep the lockfile unless you intend to re-resolve the world.
plugins/rn/skills/expo-sdk-upgrade/SKILL.md · 75 lines

How it starts

The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Expo SDK upgrades without a lost weekend

Ground rules

  • One SDK version at a time. Two majors in one jump doubles the breakage and halves your ability to bisect it.
  • Upgrade on a branch and keep the app runnable on main. You will want to diff against a working tree.
  • Read the SDK changelog before touching anything. The "Breaking changes" and "Deprecations" sections are short and they are the whole game.
  • Budget real time for it. A clean upgrade is an afternoon; a project with many native libraries can take days.

The order of operations

# 1. Update the expo package itself to the target SDK
#    (57 was current when this was written; check expo.dev/changelog)
npm install expo@^57.0.0

# 2. Let Expo align every SDK-managed dependency to the versions it was tested with
npx expo install --fix

# 3. Ask for a health report
npx expo-doctor

expo install --fix is the step people skip and then pay for. React Native, React, Reanimated, gesture-handler, screens and the rest are version-coupled per SDK. Mixing "latest of everything" is the most common source of upgrade crashes.

Then:

# 4. Regenerate native projects if the repo uses CNG (no manual edits under ios/ or android/)
npx expo prebuild --clean

# 5. Run both platforms before declaring victory
npx expo run:ios
npx expo run:android

What expo-doctor tells you and what it cannot

expo-doctor validates dependency versions against React Native Directory metadata and flags unmaintained or incompatible packages. Take its "unmaintained" flags seriously: abandoned native libraries block more upgrades than anything else, and swapping one is often cheaper than patching it.

It cannot catch runtime behavior changes. A library can install cleanly and still break at runtime because of a renamed prop or a New Architecture difference, which is why step 5 is non-negotiable.

Version-coupled packages

  • react-native-reanimated: tightly coupled to the React Native version. Never pin it ahead of or behind what expo install chooses.
  • react-native-gesture-handler, react-native-screens, react-native-safe-area-context: same rule.
  • Anything with a config plugin: plugin APIs shift between SDKs, so a library's plugin can throw during prebuild even when its runtime code is fine. The error names the plugin; check that library's release notes for the SDK you are targeting.

Read the full file on GitHub · 75 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 75 lines · 59 tokens per session scan C 499c40580a05

Subscribe to this mod's changes

expo-sdk-upgrade is a skill published in the GitHub repository AnilBurcu/claude-code-react-native (3 stars, last pushed 1mo ago), licensed MIT. It adds 59 tokens to every session and 944 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

expo-56

Authoritative, version-pinned reference for Expo SDK 56 and SDK 57 — both postdate your training, so defer to this skill over memory for anything Expo. SDK 57 is the current release (2026-07-08, React Native 0.86); SDK 56 is the previous, still-supported release (React Native 0.85). Use it whenever the user is…

mahdi-salmanzade/expo56-skill · 391 tokens

create-mobile-app

Use when the user wants to start a new Power Apps mobile app (Expo / React Native / TypeScript, targeting iOS and Android) from scratch.

microsoft/power-platform-skills · 35 tokens

writing-react-native-storybook-stories

Create and edit React Native Storybook stories using Component Story Format (CSF). Use when writing .stories.tsx files, adding stories to React Native components, configuring Storybook addons (controls, actions, backgrounds, notes), setting up argTypes, decorators, parameters, or working with portable stories for…

storybookjs/react-native · 83 tokens

setup-react-native-storybook

Set up Storybook for React Native in Expo, React Native CLI, or Re.Pack projects. Use when adding Storybook to a project, configuring metro.config.js with withStorybook, creating .rnstorybook configuration files, setting up Storybook routes in Expo Router, configuring getStorybookUI, or adding the StorybookPlugin to a…

storybookjs/react-native · 102 tokens

uniwind

Uniwind — Tailwind CSS v4 styling for React Native. Use when adding, building, or debugging components in a React Native project that uses Uniwind classNames. Covers setup, Metro config, global.css, theming, className props, accent- color props, platform/data/state/responsive variants, CSS variables, custom utilities…

uni-stack/uniwind · 130 tokens

upgrading-react-native-storybook

Incrementally upgrade React Native Storybook across the supported migration paths. Use when upgrading @storybook/react-native projects from 5.3.x to 6.5.x, 6.5.x to 7.6.x, 7.6.x to 8.3.x, 8.x to 9.x, or 9.x to 10.x. Detect the currently installed Storybook version, choose only the next migration step, update…

storybookjs/react-native · 151 tokens