From erne-universal
Diagnoses and optimizes React Native app performance: slow startup, janky scrolling, stuttering animations, large bundles, high memory.
How this skill is triggered — by the user, by Claude, or both
Slash command
/erne-universal:performance-optimizationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are performing a systematic performance diagnosis on a React Native application. Follow this step-by-step process.
You are performing a systematic performance diagnosis on a React Native application. Follow this step-by-step process.
Invoke when:
| Symptom | Likely Cause | First Check |
|---|---|---|
| Slow startup | Large bundle, heavy init | Bundle size, eager imports |
| Janky scrolling | List renderer, heavy cells | FlatList vs FlashList, cell complexity |
| Stuttering animations | JS thread blocking | Worklets, useAnimatedStyle |
| High memory | Leaks, large images | Image caching, subscription cleanup |
| Slow navigation | Heavy screens, eager loading | Lazy loading, screen weight |
Bundle Analysis:
npx react-native-bundle-visualizer
# or for Expo:
npx expo export --dump-sourcemap
Target: < 1.5MB JavaScript bundle
FPS Monitoring:
useFrameCallback from ReanimatedTTI (Time to Interactive):
Memory:
Bundle Size:
React.lazy() with SuspenseRendering:
FlatList with FlashList + estimatedItemSizeReact.memouseCallback for event handlers passed to childrenAnimations:
useAnimatedStyle instead of inline animated valueswithSequence/withDelaycancelAnimation for cleanupImages:
expo-image with cachePolicy="memory-disk"Memory:
useEffect returnRe-measure after each optimization:
## Performance Report
| Metric | Before | After | Target | Status |
|--------|--------|-------|--------|--------|
| Bundle size | 2.1MB | 1.4MB | <1.5MB | PASS |
| TTI | 3.2s | 1.8s | <2s | PASS |
| List FPS | 45fps | 60fps | 60fps | PASS |
| Memory (5min) | +80MB | +12MB | <20MB | PASS |
npx claudepluginhub jubakitiashvili/everything-react-native-expoOptimizes React Native apps with guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Helps with Hermes, JS thread blocking, FlashList, native modules, and frame drops.
Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Guides Hermes optimization, JS thread blocking, bridge overhead, FlashList, native modules, and jank debugging.
Optimizes React Native app performance with Hermes engine, memoization, lazy loading, image optimization, and profiling tools.