From react-native-expo-complete
Complete React Native and Expo optimization guide combining Callstack profiling with Vercel code patterns. Covers FPS, TTI, bundle size, memory, lists, animations, state, UI, and React Compiler. Use for any React Native performance, debugging, or best practices task.
npx claudepluginhub gigs-slc/react-native-skills --plugin react-native-expo-completeThis skill uses the workspace's default tool permissions.
The ultimate React Native optimization guide combining:
AGENTS.mdreferences/bundle-analyze-app.mdreferences/bundle-analyze-js.mdreferences/bundle-barrel-exports.mdreferences/bundle-code-splitting.mdreferences/bundle-hermes-mmap.mdreferences/bundle-library-size.mdreferences/bundle-native-assets.mdreferences/bundle-r8-android.mdreferences/bundle-tree-shaking.mdreferences/images/bundle-treemap-source-map-explorer.pngreferences/images/controlled-textinput-pingpong.pngreferences/images/devtools-flamegraph.pngreferences/images/emerge-xray-ios.pngreferences/images/expo-atlas-treemap.pngreferences/images/flashlight-flatlist-vs-flashlist.pngreferences/images/fps-drop-graph.pngreferences/images/memory-heap-snapshot.pngreferences/images/tti-warm-start-diagram.pngreferences/images/xcode-instruments-templates.pngGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
The ultimate React Native optimization guide combining:
Reference these guidelines when:
| Priority | Category | Impact | Source |
|---|---|---|---|
| 1 | Core Rendering | CRITICAL | Vercel |
| 2 | List Performance | CRITICAL | Both |
| 3 | FPS & Re-renders | CRITICAL | Callstack |
| 4 | Bundle Size | CRITICAL | Callstack |
| 5 | Animation | HIGH | Both |
| 6 | Navigation | HIGH | Vercel |
| 7 | TTI Optimization | HIGH | Callstack |
| 8 | UI Patterns | HIGH | Vercel |
| 9 | Native Performance | HIGH | Callstack |
| 10 | State Management | MEDIUM | Vercel |
| 11 | React Compiler | MEDIUM | Both |
| 12 | Memory Management | MEDIUM | Callstack |
| 13 | Monorepo | MEDIUM | Vercel |
rendering-no-falsy-and - Never use && with falsy values (crashes app)rendering-text-in-text-component - Wrap strings in Text componentslist-performance-virtualize - Use FlashList/LegendList for any listlist-performance-item-memo - Memoize list item componentslist-performance-callbacks - Stabilize callback referenceslist-performance-inline-objects - Avoid inline style objectslist-performance-function-references - Extract functions outside renderlist-performance-images - Use compressed, appropriately-sized imageslist-performance-item-expensive - Move expensive work outside itemslist-performance-item-types - Use item types for heterogeneous listsanimation-gpu-properties - Animate only transform and opacityanimation-derived-value - Use useDerivedValue for computed animationsanimation-gesture-detector-press - Use Gesture.Tap for press animationsnavigation-native-navigators - Use native stack/tabs over JS navigatorsui-expo-image - Use expo-image for all imagesui-image-gallery - Use Galeria for lightboxesui-pressable - Use Pressable over TouchableOpacityui-safe-area-scroll - Use contentInsetAdjustmentBehaviorui-scrollview-content-inset - Use contentInset for dynamic spacingui-menus - Use native context menus (zeego)ui-native-modals - Use native modals over JS bottom sheetsui-measure-views - Use onLayout, not measure()ui-styling - Use StyleSheet.create, gap, borderCurvereact-state-minimize - Derive values, minimize statereact-state-dispatcher - Use dispatch updatersreact-state-fallback - Use fallback pattern for reactive defaultsstate-ground-truth - State represents truth, derive visualsreact-compiler-destructure-functions - Destructure functions earlyreact-compiler-reanimated-shared-values - Use .get()/.set() not .valuemonorepo-native-deps-in-app - Install native deps in app packagemonorepo-single-dependency-versions - Single versions across packagesfonts-config-plugin - Load fonts at build timeimports-design-system-folder - Re-export from design systemjs-hoist-intl - Hoist Intl formatter creation# Open React Native DevTools
# Press 'j' in Metro, or shake device → "Open DevTools"
js-profile-react.md - React DevTools profilingjs-measure-fps.md - FPS monitoringjs-react-compiler.md - Automatic memoizationjs-atomic-state.md - Jotai/Zustand patternsjs-concurrent-react.md - useDeferredValue, useTransitionnpx react-native bundle \
--entry-file index.js \
--bundle-output output.js \
--platform ios \
--sourcemap-output output.js.map \
--dev false --minify true
npx source-map-explorer output.js --no-border-checks
bundle-barrel-exports.md - Avoid barrel importsbundle-analyze-js.md - JS bundle visualizationbundle-tree-shaking.md - Dead code eliminationbundle-r8-android.md - Android code shrinkingbundle-hermes-mmap.md - Disable bundle compressionnative-measure-tti.md - TTI measurement setupbundle-hermes-mmap.md - Enable Hermes mmapInteractionManagernative-turbo-modules.md - Building fast native modulesnative-threading-model.md - Turbo Module threadsnative-profiling.md - Platform profiling guidesjs-memory-leaks.md - JS memory leak huntingnative-memory-leaks.md - Native memory leaksnative-memory-patterns.md - C++/Swift/Kotlin memoryjs-animations-reanimated.md - Reanimated worklets| Problem | Vercel Rules | Callstack References |
|---|---|---|
| App crashes | rendering-no-falsy-and, rendering-text-in-text-component | - |
| List scroll jank | list-performance-* | js-lists-flatlist-flashlist.md |
| Animation drops frames | animation-gpu-properties | js-animations-reanimated.md |
| Too many re-renders | react-state-minimize | js-profile-react.md, js-react-compiler.md |
| Slow startup (TTI) | - | native-measure-tti.md, bundle-hermes-mmap.md |
| Large app size | - | bundle-analyze-app.md, bundle-r8-android.md |
| Memory growing | - | js-memory-leaks.md, native-memory-leaks.md |
| TextInput lag | - | js-uncontrolled-components.md |
| Native module slow | - | native-turbo-modules.md |
react-native/
├── SKILL.md # This file
├── AGENTS.md # Full 74KB compiled Vercel guide
├── rules/ # 36 individual Vercel rule files
│ ├── list-performance-*.md
│ ├── animation-*.md
│ ├── ui-*.md
│ └── ...
└── references/ # 27 Callstack reference files
├── js-*.md
├── native-*.md
├── bundle-*.md
└── images/
Combined from: