skills/performance-optimization/SKILL.md
Step-by-step performance diagnosis and optimization for React Native apps
npx skillsauth add JubaKitiashvili/everything-react-native-expo performance-optimizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 |
development
Guided version migration for React Native and Expo SDK upgrades
development
Test-driven development workflow for React Native — Jest, React Native Testing Library, and Detox
development
Mobile security audit for React Native applications
documentation
Guided wizard for creating Turbo Modules and Expo Modules with iOS and Android implementations