jubakitiashvili/everything-react-native-expo/performance-optimization
Claude Code and agent skill by jubakitiashvili/everything-react-native-expo
- community
Checking that the SKILL.md file is still in the repository.
Step-by-step performance diagnosis and optimization for React Native apps
Install
npx vskill@latest install jubakitiashvili/everything-react-native-expo/performance-optimizationSKILL.md
Performance Optimization
You are performing a systematic performance diagnosis on a React Native application. Follow this step-by-step process.
When to Use This Skill
Invoke when:
- App feels slow or janky
- Startup time is too long
- Lists scroll poorly
- Animations stutter
- Bundle size is too large
- Memory usage is high
Diagnostic Process
Step 1: Identify the Problem
| 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 |
Step 2: Measure
Bundle Analysis:
Target: < 1.5MB JavaScript bundle
FPS Monitoring:
- Enable Perf Monitor in dev menu
- Or use
useFrameCallbackfrom Reanimated - Target: 60fps constant, no drops below 55fps
TTI (Time to Interactive):
- Measure from app launch to first interactive frame
- Target: < 2 seconds on mid-range device
Memory:
- Use Xcode Instruments (iOS) or Android Profiler
- Watch for monotonically increasing memory (leak indicator)
Step 3: Optimize by Category
Bundle Size:
- Analyze imports — find large dependencies
- Lazy load screens:
React.lazy()withSuspense - Tree-shake unused exports
- Replace large libraries with lighter alternatives
- Use Hermes (enabled by default in Expo SDK 50+)
Rendering:
- Replace
FlatListwithFlashList+estimatedItemSize - Memoize expensive components:
React.memo - Use
useCallbackfor event handlers passed to children - Avoid inline object/array creation in JSX
- Profile re-renders with React DevTools Profiler
Animations:
- Move all animations to UI thread (Reanimated worklets)
- Use
useAnimatedStyleinstead of inline animated values - Batch related animations with
withSequence/withDelay - Reduce animated property count (transform is cheaper than layout)
- Use
cancelAnimationfor cleanup
Images:
- Use
expo-imagewithcachePolicy="memory-disk" - Serve correct sizes (don't scale 4K images to thumbnails)
- Use WebP format for smaller file sizes
- Implement progressive loading (blurhash placeholder)
Memory:
- Clean up listeners in
useEffectreturn - Remove event subscriptions on unmount
- Use WeakRef for caches where appropriate
- Paginate large data sets (don't load all at once)
Step 4: Verify Improvements
Re-measure after each optimization:
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/performance-optimization/SKILL.md
Popularity
- Repository stars
- 32
- Repository forks
- 3
- Repository npm downloads, 7 days
- 46
- 7-day trend score
- 33
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 26 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jubakitiashvili/everything-react-native-expo/performance-optimization)