upgrade-sdk · git:20260728.436a435 · 2026-07-28 · sha256 e07a9bd91c82cd74
upgrade-sdk git:20260728.436a435A
Immutable. This exact content is served forever at /api/v1/blob/e07a9bd91c82cd74.
--- name: upgrade-sdk description: Run a guided Expo SDK upgrade. Use when the user asks to upgrade the Expo SDK or React Native version. argument-hint: "[target sdk version]" disable-model-invocation: true --- Upgrade this project's Expo SDK deliberately, one version at a time, following the expo-sdk-upgrade skill. `$ARGUMENTS` may name the target SDK; if the jump spans more than one major, tell the user you will land them one at a time and do the first hop now. 1. Preflight, before changing anything: - Confirm the working tree is clean; if not, stop and ask. - Create an upgrade branch. - Record the current state: `npx expo-doctor` output and the dependency list. This is the baseline to diff against. - Read the target SDK's changelog (search for the official "Expo SDK <version>" changelog post) and list the breaking changes that touch dependencies this project actually uses. Show that list to the user before proceeding. 2. Execute in the canonical order: bump `expo`, then `npx expo install --fix`, then `npx expo-doctor`. Resolve doctor complaints before building anything. 3. Regenerate natives when the project uses CNG: `npx expo prebuild --clean`. In a bare project, apply the native diffs the changelog calls out instead. 4. Verify honestly: - `npx tsc --noEmit` and the test suite. - Build and boot BOTH platforms. - Walk the native-heavy paths: auth, purchases, camera or media if present, push, deep links. 5. Check the OTA fence before finishing: confirm the runtime version will differ from the previous release (appVersion policy plus a version bump, or an explicit runtime bump). State plainly that the first release after this upgrade must be a store build. 6. Report: what moved, what broke and how it was fixed, which patches or workarounds became deletable, and what remains for the user to decide. Do not commit unless asked.