
Upgrading React Native
Bump React Native (and optional Expo SDK) without missing native iOS/Android template changes or breaking dependency stacks.
Overview
Upgrading React Native is an agent skill for the Operate phase that applies Upgrade Helper template diffs, updates dependencies, and migrates native iOS and Android config for a React Native version bump.
Install
npx skills add https://github.com/callstackincubator/agent-skills --skill upgrading-react-nativeWhat is this skill?
- 6-step upgrade sequence: route path, Upgrade Helper diff, dependencies, React alignment, Expo layer, verification
- Canonical template diffs via Upgrade Helper (upgrade-helper-core workflow)
- Third-party package assessment and package.json updates (upgrading-dependencies)
- Native iOS and Android migration including CocoaPods and Gradle changes
- Expo SDK upgrade layer when the app uses Expo
- 6-step typical upgrade sequence documented in the skill overview
Adoption & trust: 5.3k installs on skills.sh; 1.4k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need a newer React Native or Expo SDK but template, native, and npm changes are spread across dozens of files and easy to get wrong.
Who is it for?
Existing React Native or Expo apps where the target version is known and you want Upgrade Helper–driven diffs plus dependency and native migration guidance.
Skip if: Greenfield React Native scaffolding, pure JavaScript refactors with no version change, or teams that will not run local iOS/Android builds to validate CocoaPods and Gradle.
When should I use this skill?
Upgrading React Native, bumping RN version, updating from RN 0.x to 0.y, or migrating Expo SDK alongside a React Native upgrade.
What do I get? / Deliverables
You get an ordered upgrade path with fetched template diffs, updated package.json and native projects, and verification steps so the app builds on the target RN version.
- Applied template diffs and updated package.json
- Migrated native iOS/Android project files
- Post-upgrade verification results
Recommended Skills
Journey fit
Version upgrades are maintenance work on a shipped mobile codebase—iterate is the canonical shelf even when done before a store release. RN upgrades are iterative platform maintenance: template diffs, Gradle/CocoaPods, and dependency alignment—not greenfield UI or launch marketing.
How it compares
Use for version-migration playbooks instead of ad-hoc Stack Overflow patches without a canonical template diff.
Common Questions / FAQ
Who is upgrading-react-native for?
Solo and indie builders maintaining React Native or Expo mobile apps who are responsible for npm, Xcode, and Android Gradle upgrades without a dedicated mobile platform team.
When should I use upgrading-react-native?
When bumping React Native, moving between RN 0.x releases, fixing upgrade regressions, or migrating Expo SDK alongside a native RN upgrade—typically during Operate iterate, and also right before Ship launch when a store build requires a minimum SDK.
Is upgrading-react-native safe to install?
Treat it like any third-party agent skill: review the Security Audits panel on this Prism page and restrict automated shell, filesystem, and network access to your app repo before letting an agent apply diffs.
SKILL.md
READMESKILL.md - Upgrading React Native
# Upgrading React Native ## Overview Covers the full React Native upgrade workflow: template diffs via Upgrade Helper, dependency updates, Expo SDK steps, and common pitfalls. ## Typical Upgrade Sequence 1. **Route**: Choose the right upgrade path via [upgrading-react-native.md][upgrading-react-native] 2. **Diff**: Fetch the canonical template diff using Upgrade Helper via [upgrade-helper-core.md][upgrade-helper-core] 3. **Dependencies**: Assess and update third-party packages via [upgrading-dependencies.md][upgrading-dependencies] 4. **React**: Align React version if upgraded via [react.md][react] 5. **Expo** (if applicable): Apply Expo SDK layer via [expo-sdk-upgrade.md][expo-sdk-upgrade] 6. **Verify**: Run post-upgrade checks via [upgrade-verification.md][upgrade-verification] ```bash # Quick start: detect current version and fetch diff npm pkg get dependencies.react-native --prefix "$APP_DIR" npm view react-native dist-tags.latest # Example: upgrading from 0.76.9 to 0.78.2 # 1. Fetch the template diff curl -L -f -o /tmp/rn-diff.diff \ "https://raw.githubusercontent.com/react-native-community/rn-diff-purge/diffs/diffs/0.76.9..0.78.2.diff" \ && echo "Diff downloaded OK" || echo "ERROR: diff not found, check versions" # 2. Review changed files grep -n "^diff --git" /tmp/rn-diff.diff # 3. Update package.json, apply native changes, then install + rebuild npm install --prefix "$APP_DIR" cd "$APP_DIR/ios" && pod install # 4. Validate: both platforms must build successfully npx react-native build-android --mode debug --no-packager xcodebuild -workspace "$APP_DIR/ios/App.xcworkspace" -scheme App -sdk iphonesimulator build ``` ## When to Apply Reference these guidelines when: - Moving a React Native app to a newer version - Reconciling native config changes from Upgrade Helper - Validating release notes for breaking changes ## Quick Reference | File | Description | |------|-------------| | [upgrading-react-native.md][upgrading-react-native] | Router: choose the right upgrade path | | [upgrade-helper-core.md][upgrade-helper-core] | Core Upgrade Helper workflow and reliability gates | | [upgrading-dependencies.md][upgrading-dependencies] | Dependency compatibility checks and migration planning | | [react.md][react] | React and React 19 upgrade alignment rules | | [expo-sdk-upgrade.md][expo-sdk-upgrade] | Expo SDK-specific upgrade layer (conditional) | | [upgrade-verification.md][upgrade-verification] | Manual post-upgrade verification checklist | | [monorepo-singlerepo-targeting.md][monorepo-singlerepo-targeting] | Monorepo and single-repo app targeting and command scoping | ## Problem → Skill Mapping | Problem | Start With | |---------|------------| | Need to upgrade React Native | [upgrade-helper-core.md][upgrade-helper-core] | | Need dependency risk triage and migration options | [upgrading-dependencies.md][upgrading-dependencies] | | Need React/React 19 package alignment | [react.md][react] | | Need workflow routing first | [upgrading-react-native.md][upgrading-react-native] | | Need Expo SDK-specific steps | [expo-sdk-upgrade.md][expo-sdk-upgrade] | | Need manual regression validation | [upgrade-verification.md][upgrade-verification] | | Need repo/app command scoping | [monorepo-singlerepo-targeting.md][monorepo-singlerepo-targeting] | [upgrading-react-native]: references/upgrading-react-native.md [upgrade-helper-core]: references/upgrade-helper-core.md [upgr