deep-linking
Deep links, universal links and app links in React Native. Use when links do not open the app, for apple-app-site-association or assetlinks.json, lost…
React Native New Architecture (Fabric, TurboModules, bridgeless) compatibility. Use when a library breaks under it, for newArchEnabled questions, or errors mentioning codegen, Fabric, ViewPropTypes, requireNativeComponent.
$ npx -y skills add AnilBurcu/claude-code-react-native --skill new-architecture --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/new-architectureContext preview
The summary Claude sees to decide when to auto-load this skill.
React Native New Architecture (Fabric, TurboModules, bridgeless) compatibility. Use when a library breaks under it, for newArchEnabled questions, or errors mentioning codegen, Fabric, ViewPropTypes, requireNativeComponent.
name: new-architecture description: React Native New Architecture (Fabric, TurboModules, bridgeless) compatibility. Use when a library breaks under it, for newArchEnabled questions, or errors mentioning codegen, Fabric, ViewPropTypes, requireNativeComponent. user-invocable: false
The New Architecture (Fabric renderer, TurboModules, bridgeless mode) is the only architecture on current versions: Expo SDK 55+ has no option to disable it, and React Native has been deleting the legacy code paths outright. The escape hatch era is over; staying on the old architecture means staying on SDK 54 / RN 0.81 or older, which is a parking lot, not a plan.
Most actively maintained libraries work. The pain is concentrated in libraries that were abandoned between 2021 and 2023, which is exactly the set of libraries older production apps depend on.
Do not debug a library into working. First find out what its status actually is:
1. `npx expo-doctor` flags known-incompatible and unmaintained packages using React Native Directory data. 2. Search the package on reactnative.directory and check the New Architecture column and the last release date. 3. Check the library's GitHub issues for "new architecture" or "fabric". An open issue from years ago with no maintainer response answers your question.
The decision tree is short. Maintained and compatible: upgrade to the compatible version. Maintained but not yet compatible: the interop layer probably carries you (below). Abandoned: replace it now, not after the next SDK upgrade makes it worse.
Legacy view managers and modules run under an interop layer on the New Architecture, and most old libraries work through it without knowing. When one does not, the failures look like this:
Codegen runs at build time and its failures land in the native build log, not in Metro:
On SDK 54 / RN 0.81 and earlier, `"newArchEnabled": false` in app config turned the whole app back to the old architecture. On SDK 55+ and RN 0.82+ the flag is ignored: there is no switch, and pinning the project to an old SDK to keep it is trading one blocked library for a growing pile of them.
So when a library breaks, the real options are exactly three: upgrade the library, apply a one-line community patch with patch-package, or swap to the maintained replacement everyone else already swapped to. Check the library's issue tracker first; one of the three is usually waiting there.
When an abandoned library blocks you, these swaps are well-trodden and safe:
Keep the old library only when it is load-bearing and the replacement needs a real migration; then schedule the migration instead of forgetting it.
There is no flag to flip any more; the migration happens when an app that still ran on the legacy architecture (SDK 54 or older with `newArchEnabled: false`) moves to SDK 55+. Do that upgrade on a branch, then exercise the app where Fabric differs: screens with heavy lists, custom native views, gesture-driven animations, modals and text inputs. Layout rounding and z-order edge cases show up visually, not in logs, so this is an eyes-on-device task rather than a unit test task.
Claude knows React. It doesn't know why your pod install just failed. A Claude Code plugin that adds the React Native knowledge you only get from shipping apps: build failure triage, SDK upgrades that don't eat a weekend, Hermes crash decoding, push
Repo: AnilBurcu/claude-code-react-native
Deep links, universal links and app links in React Native. Use when links do not open the app, for apple-app-site-association or assetlinks.json, lost…
EAS builds, OTA updates and store submission. Use for eas.json profiles, safe OTA publishing, App Store or Play Store submission, store rejections, versioning…
Upgrading Expo SDK and React Native safely. Use when bumping the SDK or react-native, or when the app broke after an upgrade: upgrade order, expo install…
Diagnose and fix a failing iOS or Android build. Use when the build is broken, pod install or Gradle fails, or the user asks to fix a native build error.
Decoding Hermes crashes and minified production stack traces. Use for "address at index.android.bundle" frames, unsymbolicated or badly grouped Sentry events,…
In-app purchases and subscriptions with RevenueCat. Use for paywalls, odd sandbox behavior, premium not arriving after purchase, webhook verification, restore…