Claude Code Plugin • mobile

React Native best practices,
inside Claude Code

Metro bundler optimization, FlatList vs ScrollView decisions, Expo vs bare workflow guidance, and React Navigation patterns — all wired into your AI assistant.

1 /plugin marketplace add petro-nazarenko/mobile-skills | 2 /plugin install react-native-best-practices@mobile-skills
Get started View on GitHub

What it covers

Metro Bundler

Cold-start fixes, cache tuning, bundle size reduction, and custom transformer setup.

📷

FlatList / ScrollView

Decision matrix, getItemLayout, window size tuning, and FlashList upgrade path.

📦

Expo vs Bare

Workflow spectrum, CNG, EAS Build, OTA updates, and managed → bare migration steps.

🗺

React Navigation

Stack, Tab, and Drawer patterns, deep linking, Android back-button handling, and performance.

📱

Platform-specific code

Platform.OS usage audit, .ios.js/.android.js splits, and platform extension best practices.

🔍

Codebase audit

Automated grep patterns to detect common RN anti-patterns across your entire project.

Example use cases

Fix slow Metro cold start

Triggers: metro, bundler, slow start, bundle size
/react-native-best-practices
My app takes 40s to cold start in Metro. How do I fix it?
📷

Laggy list of 500 items

Triggers: FlatList, ScrollView, list, laggy, slow scroll
/react-native-best-practices
My list of 500 items is laggy on Android. Should I use FlatList or ScrollView?
📦

Expo vs bare for production

Triggers: expo, eject, bare workflow, native module
/react-native-best-practices
We need push notifications and a custom Bluetooth module. Should we stay on Expo or eject?
🗺

Android back-button navigation bug

Triggers: React Navigation, stack, tab, back button, navigator
/react-native-best-practices
Tab bar with nested stack navigators — back button behaves wrong on Android. What's the correct pattern?
📱

Platform-specific code audit

Triggers: Platform.OS, .ios.js, .android.js, platform split
/react-native-best-practices
Audit my codebase for Platform.OS usage and recommend .ios.js/.android.js splits.
📦

Reduce 18 MB production bundle

Triggers: bundle size, tree shaking, metro config, production
/react-native-best-practices
Our production bundle is 18 MB. Walk me through reducing it with Metro config and tree shaking.
🔍

New project architecture

Triggers: new project, setup, stack, architecture, React Native
/react-native-best-practices
Starting a new RN app targeting iOS and Android with offline support. Recommend the stack and navigation structure.

Quick decision tables

FlatList vs ScrollView

ConditionUse
< 20 static itemsScrollView
≥ 20 itemsFlatList
Unknown / dynamic countFlatList
Infinite scroll / paginationFlatList
Grid layoutFlatList with numColumns
> 50 items, complex renderersFlashList (Shopify)

Expo workflow

ScenarioRecommended
Prototype / MVPExpo Go
Standard app, no custom nativeExpo Managed
Need specific native moduleExpo Bare (via prebuild)
Full native controlBare React Native
Team has no iOS/Android experienceExpo Managed + EAS Build
OTA updates requiredExpo (expo-updates)

Installation

1
Add the marketplace

Register the mobile-skills marketplace in Claude Code.

/plugin marketplace add petro-nazarenko/mobile-skills
2
Install the plugin

Install the react-native-best-practices plugin from the marketplace.

/plugin install react-native-best-practices@mobile-skills
3
Use the skill

Run the skill with any React Native question or a description of your problem.

/react-native-best-practices [your question or problem]

Plugin info

Namereact-native-best-practices
Marketplacemobile-skills
Version1.0.0
AuthorPetro Nazarenko
LicenseMIT
Categorymobile
Repositorypetro-nazarenko/mobile-skills