expo-upgrade

Upgrade Expo SDK versions and migrate deprecated packages with guided diagnostics.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/CYRUS-pinto/pi-bot --skill expo-upgrade-cyrus-pinto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-upgrade
Source: https://github.com/CYRUS-pinto/pi-bot/tree/main/.agents/skills/expo-upgrade
Command: npx skills add https://github.com/CYRUS-pinto/pi-bot --skill expo-upgrade-cyrus-pinto

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Upgrading an Expo SDK involves breaking changes, deprecated packages, native rebuilds, and dependency conflicts that are easy to miss. This Skill provides a structured, step-by-step process for upgrading Expo SDK versions safely, including diagnostics, cache clearing, prebuild decisions, and migration guides for major API changes. ## Core Features & Use Cases - Guided Upgrade Workflow: Runs npx expo install --fix, expo-doctor diagnostics, cache clearing, and prebuild steps in the correct order, with CNG vs bare workflow detection. - Migration References: Detailed guides for React 19 changes, React Compiler, New Architecture, native tabs, expo-av to expo-audio/expo-video, and react-navigation to expo-router. - Housekeeping & Deprecation Handling: Maps deprecated packages to replacements, reviews install exclusions, patches, Metro/PostCSS config, and Hermes V1 memory regression guidance. - Use Case: When upgrading a project from SDK 54 to SDK 57, use this Skill to update dependencies, migrate expo-av audio code to expo-audio hooks, enable React Compiler, and verify the app with expo-doctor. ## Quick Start Use the expo-upgrade skill to upgrade this project to the latest Expo SDK and fix any dependency issues.

Frequently Asked Questions about expo-upgrade

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upgrade an Expo SDK version in my project?

Run npx expo install expo@latest followed by npx expo install --fix to align dependencies, then run npx expo-doctor for diagnostics. Clear caches with npx expo export -p ios --clear and remove node_modules before reinstalling.

How do I migrate from expo-av to expo-audio and expo-video?

Replace Audio.Sound.createAsync with the useAudioPlayer hook and Audio.Recording with useAudioRecorder from expo-audio. For video, replace the Video component with VideoView paired with useVideoPlayer from expo-video, then uninstall expo-av.

Should I run expo prebuild when upgrading the SDK?

Only run npx expo prebuild --clean if ios/ and android/ directories exist in your project. If neither exists, the project uses Continuous Native Generation and native projects regenerate at build time, so skip prebuild entirely.

Does Expo SDK 54 support React Compiler?

Yes, React Compiler is stable in Expo SDK 54 and later. Enable it by adding experiments.reactCompiler: true to app.json, which lets you remove manual useMemo, useCallback, and React.memo calls.

Why does my app use excessive memory after upgrading to SDK 56?

SDK 55 with Hermes V1, all SDK 56 releases, and SDK 57 before [email protected] contain a Hermes V1 memory regression triggered by react-native-worklets or react-native-reanimated. Upgrade directly to SDK 57 with [email protected] or later.

How do I migrate react-navigation imports to expo-router in SDK 56?

Run the codemod npx expo-codemod sdk-56-expo-router-react-navigation-replace on your source directory, or manually repoint @react-navigation/* imports to expo-router entry points like expo-router/react-navigation and expo-router/js-stack.