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 agentmods add skills/forcedotcom/salesforcemobilesdk-reactnative/upgrade-react-nativenpx skills add forcedotcom/SalesforceMobileSDK-ReactNative --skill upgrade-react-nativegit clone --depth 1 https://github.com/forcedotcom/SalesforceMobileSDK-ReactNativeWhat 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 | $0.00000 | $0.03117 |
| Opus 5 | $0.00000 | $0.01558 |
| Sonnet 5 | $0.00000 | $0.00623 |
| Haiku 4.5 | $0.00000 | $0.00312 |
Grade E, and why
upgrade-react-native scanned grade E with 3 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 2d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s "https://registry.npmjs.org/react-native" | python3 -c " Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf android/generated/source/codegen Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s "https://registry.npmjs.org/react-native" | python3 -c " How it starts
The opening of the file, as written. The whole thing — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Upgrade React Native Version
Upgrades the React Native version in the SalesforceMobileSDK-ReactNative and SalesforceMobileSDK-Templates repos.
When to Use
When bumping React Native from one minor/patch version to another (e.g., 0.84.x → 0.85.x) as part of the SDK's regular RN upgrade cadence.
Parameters
OLD_VERSION: Current RN version (e.g.,0.84.1)NEW_VERSION: Target RN version (e.g.,0.85.3)BRANCH: Feature branch name (e.g.,rn-upgrade-0.85)FORK_USER: GitHub username for the personal fork (e.g.,wmathurin)
Process
Phase 1: Pre-Checks
1a. Find the latest patch
curl -s "https://registry.npmjs.org/react-native" | python3 -c "
import sys, json
data = json.load(sys.stdin)
versions = [v for v in data['versions'] if v.startswith('NEW_MINOR.')]
print('Latest:', versions[-1])
"
1b. Check React peer dep for the new version
curl -s "https://registry.npmjs.org/react-native/NEW_VERSION" | python3 -c "
import sys, json; d=json.load(sys.stdin)
print('React peer dep:', d['peerDependencies'].get('react'))
"
1c. Grep for removed/deprecated APIs in our source
Check the RN release blog for removed APIs, then grep:
# Examples from past upgrades — always check the release notes for the actual list
grep -r "StyleSheet\.absoluteFillObject" src/ test/
grep -r "CatalystInstanceImpl\|NativeViewHierarchyManager\|ReactTextUpdate\|UIManagerHelper" android/
grep -r "RCTHostRuntimeDelegate" ios/
grep -r "preset.*react-native" --include="*.json" --include="*.js" .
If any hits: fix before bumping. If clean: proceed.
Phase 2: Version Bumps — ReactNative repo
Edit these files, replacing OLD_VERSION → NEW_VERSION everywhere:
| File | Fields |
|---|---|
package.json |
peerDependencies["react-native"], devDependencies["@react-native/*"] |
iosTests/package.json |
dependencies["react-native"], devDependencies["@react-native/*"], dependencies["react-native-force"] URL #rn-upgrade-OLD → #rn-upgrade-NEW |
androidTests/package.json |
same as iosTests |
android/build.gradle |
react-android:OLD_VERSION → react-android:NEW_VERSION |
androidTests/android/app/build.gradle.kts |
react-android:OLD, hermes-android:OLD → NEW |
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.
- 2d ago First seen · 271 lines · 0 tokens per session scan E ce62f1f2dce3
upgrade-react-native is a skill published in the GitHub repository forcedotcom/SalesforceMobileSDK-ReactNative (57 stars, last pushed 4d ago), licensed BSD-3-Clause. It costs nothing until one of its globs matches a file; then it loads 3,117 tokens. A static security scan graded it E with 3 findings (downloads and executes remote code, recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
stitch::react-native
Convert Stitch HTML designs to React Native components, or syncs/updates existing native components to align with the latest Stitch designs, using StyleSheet.
react-native-expert
Builds, optimizes, and debugs cross-platform mobile applications with React Native and Expo. Implements navigation hierarchies (tabs, stacks, drawers), configures native modules, optimizes FlatList rendering with memo and useCallback, and handles platform-specific code for iOS and Android. Use when building a React…
vercel-react-native-skills
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
expo-web-to-native
Framework (OSS). Migrate an existing web React app to a native iOS/Android app with Expo. Use when the user wants to turn a website into a mobile app, port a Next.js/Vite/CRA React codebase to React Native, reuse web code on native incrementally, or asks how web idioms (the DOM, CSS, React Router, localStorage…
building-ui
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
use-dom
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.