All skills
callstackincubator avatar

/upgrading-react-native

@fa0bad0 official

Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and Gradle changes, and handling breaking API updates. Use when upgrading React Native, bumping RN version, updating from RN 0.x to 0.y, or migrating Expo SDK alongside a React Native upgrade.

Use this Skill: https://skilld.dev/gh/callstackincubator/agent-skills/upgrading-react-native

This session only. Nothing lands on disk.

referencesupgrading-dependencies.md

≈561 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Skill: Upgrading Dependencies

Common dependency issues and mitigations when upgrading React Native.

Quick Checks

npm ls --depth=0

Dependency Risk and Migration Plan

  1. Review compatibility signals:
  2. If react is upgraded, run react.md for companion package alignment and React 19 rules.
  3. Handle known risky packages:
    • react-native-fast-image -> prefer @d11/react-native-fast-image or expo-image (confirm with user)
    • @react-native-cookies/cookies -> prefer @preeternal/react-native-cookie-manager (confirm with user)
    • react-native-code-push -> treat as incompatible; disable for upgrade and consider @appzung/react-native-code-push, @bravemobile/react-native-code-push, or expo-updates
    • react-native-image-crop-picker -> upgrade to >=0.51.1; if unstable, plan migration to expo-image-picker (confirm with user)
    • react-native-network-logger - lists react and react-native in peer deps as * which can be misleading. Upgrade to v2 if target_version >= 0.79.
    • react-native-permissions - upgrade to v5 if possible (requires RN 0.74+)
  4. Apply additional cleanup rules:
    • If @rnx-kit/metro-resolver-symlinks is present, remove it from deps and metro.config.js (Metro supports symlinks since 0.72)
    • If app uses react-native-localize timezone APIs and @callstack/timezone-hermes-fix is missing, ask whether to add it
  5. If no safe alternative is found for a critical dependency, ask for explicit user confirmation before continuing.
  6. Read only breaking/manual steps from RN blog posts between current_version and target_version.

Related Skills

Source: SKILL.md on GitHub

1 warning16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides a standard and reliable workflow for upgrading React Native applications by applying template diffs from the community-maintained Upgrade Helper and rn-diff-purge resources. It includes comprehensive environment checks, dependency risk assessment, and platform-specific build verification steps using established ecosystem tools.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    7/9 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at fa0bad0. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Activeupdated 2 months ago
  • react-native
  • upgrade
  • upgrade-helper
  • ios
  • android
  • cocoapods
  • gradle
  • expo
  • dependencies

README badge

README badge for callstackincubator/agent-skills/upgrading-react-native

Upgrades React Native apps by fetching and applying rn-diff-purge template diffs, updating package.json and native configurations, and validating builds on iOS and Android. Targets the full upgrade workflow from version detection through CocoaPods and Gradle reconciliation, including Expo SDK migration when needed.

Generated from the current SKILL.md.

Does this skill handle Expo SDK upgrades?
Yes, but only conditionally. The skill includes an Expo SDK upgrade layer (expo-sdk-upgrade.md) that applies alongside React Native upgrades for Expo-managed apps. Non-Expo apps skip this step.
What if the rn-diff-purge diff is not available for my version pair?
The skill fetches diffs from the react-native-community/rn-diff-purge repository. If a diff does not exist for your version pair, you may need to upgrade in smaller increments or manually reconcile template changes.
Does this skill update third-party dependencies automatically?
No. The skill assesses and plans dependency updates via upgrading-dependencies.md but does not apply them automatically. You must review compatibility and decide which packages to bump.
Can this skill handle monorepo apps?
Yes. The skill includes monorepo-singlerepo-targeting.md to scope commands and target the correct app within a monorepo structure.
Does this verify the upgrade was successful?
Yes. The skill includes upgrade-verification.md with a post-upgrade checklist covering build validation on both iOS and Android, and optional agent-assisted regression testing.

Generated from the current SKILL.md. These answers refresh after source changes.