Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Phaedra-Solutions/cursor-rules --skill upgrade-react-nativegit clone --depth 1 https://github.com/Phaedra-Solutions/cursor-rulesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/phaedra-solutions/cursor-rules/upgrade-react-native)<a href="https://agentmods.dev/skills/phaedra-solutions/cursor-rules/upgrade-react-native"><img src="https://agentmods.dev/badge/skills/phaedra-solutions/cursor-rules/upgrade-react-native/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/phaedra-solutions/cursor-rules/upgrade-react-native"><img src="https://agentmods.dev/badge/skills/phaedra-solutions/cursor-rules/upgrade-react-native.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00116 | $0.02593 |
| Opus 5.5 | $0.00046 | $0.01037 |
| Sonnet 5.5 | $0.00023 | $0.00519 |
| Haiku 4.5 | $0.00012 | $0.00259 |
Grade A, and why
upgrade-react-native scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Upgrade React Native / Expo
When to use
- The user asks to upgrade React Native or the Expo SDK, or to move off an unsupported version (RN ≤ 0.85 gets no patches; 0.88 and 0.87 are Active, 0.86 End of Cycle).
- The installed version is below
mobile/react-native-expo(RN 0.82+, Expo SDK 55+) and the user agrees to upgrade. - The app still runs the old architecture and must reach RN 0.82+ / SDK 55+ (see the migration path in
legacy/react-native-old-arch). - A store requirement (for example Google Play's target API 36 from 31 Aug 2026, or a new Xcode/iOS SDK) or a security fix needs a newer version.
For a patch upgrade inside the same SDK or RN minor, run npx expo install --fix (Expo) or bump react-native to the latest patch (bare), then go straight to Verify.
Before you start
- Read exact versions from the lockfile:
expo,react-native,react,@types/react,expo-router,@react-native-community/cli,typescript, every native library, and the Node version (.nvmrc,engines, CI,eas.jsonbuild images). - Decide the project type and say it:
- Expo with CNG:
ios/andandroid/missing or git-ignored; - Expo with committed native folders (no CNG): treat native changes like a bare app;
- bare RN CLI: no
expodependency.
- Expo with CNG:
- Detect the architecture (table in
legacy/react-native-old-arch) on both platforms. - The working tree must be clean. Ask the user to commit or stash; work on a new branch (for example
chore/expo-sdk-58). - Ask the user:
- the target (default: Expo SDK 58 / RN 0.88), and whether to stop for review after each step;
- whether they can build on a Mac with Xcode (SDK 58 needs Xcode ≥ 26.4) and an Android SDK, or only through EAS Build;
- whether network installs are approved. Follow the release-age cooldown in
core/supply-chain; a security patch inside the cooldown needs the user's explicit exception; - whether OTA updates (EAS Update) are live, because a native upgrade needs a new
runtimeVersionand a store release.
- Plan the hops and show them:
- Expo: one SDK at a time (for example 54 → 55 → 56 → 57 → 58). Each SDK targets one RN version (SDK 55 = RN 0.83, 56 = 0.85, 57 = 0.86, 58 = 0.88).
- Bare: one RN minor at a time (0.80 → 0.81 → 0.82 …).
- Old architecture: stop at RN 0.81 / SDK 54, turn on the New Architecture and verify, and only then cross to 0.82 / SDK 55. Never cross that line with the old architecture still on.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 122 lines · 116 tokens per session scan A 526e2fab6e68
upgrade-react-native is a skill published in the GitHub repository Phaedra-Solutions/cursor-rules (4 stars, last pushed 2d ago), licensed MIT. It adds 116 tokens to every session and 2,593 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-01.
Other skills, from other repositories
compose-multiplatform-patterns
Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.
kotlin-android
Use when building or fixing a native Android app in Kotlin and Jetpack Compose on the UDF layered architecture — ViewModel/StateFlow, Hilt, Room, Retrofit, coroutines, type-safe Navigation, and the Gradle/AGP surface. NOT shared Android and iOS UI from one Kotlin codebase (that is compose-multiplatform).
compose-multiplatform
Use when building one shared Compose UI in Kotlin across Android, iOS, and desktop — commonMain @Composables, expect/actual, source-set placement, native interop, multiplatform ViewModel/navigation/Koin. NOT a single-platform native build (that is kotlin-android / swift-ios), and NOT Dart/Flutter cross-platform UI…
ui-mobile
Mobile UI patterns - React Native, iOS/Android, touch targets.
grok-cli
Delegate bounded tasks to Grok Build from a supervising agent such as Codex. Use when the user asks Grok to investigate, review, implement, or provide another perspective, or when a distinct coding agent would materially help. Includes a background ACP client for progress, follow-up prompts, permissions, and…
init-project
Turn this boilerplate into a new app by renaming it, removing sample files, and linking it to EAS. Use when starting a new app from this template, or when asked to init, bootstrap, or rename the project.