From ceo
Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Covers Hermes, FlashList, native modules, and profiling jank.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ceo:react-native-best-practicesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Performance optimization guide for React Native applications, covering JavaScript/React, Native (iOS/Android), and bundling optimizations. Based on Callstack's "Ultimate Guide to React Native Optimization".
references/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.pngreferences/images/xcode-thread-view.pngPerformance optimization guide for React Native applications, covering JavaScript/React, Native (iOS/Android), and bundling optimizations. Based on Callstack's "Ultimate Guide to React Native Optimization".
Each reference file follows a hybrid format for fast lookup and deep understanding:
Impact ratings: CRITICAL (fix immediately), HIGH (significant improvement), MEDIUM (worthwhile optimization)
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | FPS & Re-renders | CRITICAL | js-* |
| 2 | Bundle Size | CRITICAL | bundle-* |
| 3 | TTI Optimization | HIGH | native-*, bundle-* |
| 4 | Native Performance | HIGH | native-* |
| 5 | Memory Management | MEDIUM-HIGH | js-*, native-* |
| 6 | Animations | MEDIUM | js-* |
Profile first:
# Open React Native DevTools
# Press 'j' in Metro, or shake device → "Open DevTools"
Common fixes:
useDeferredValue for expensive computationsAnalyze bundle:
npx 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
Common fixes:
Measure TTI:
react-native-performance for markersCommon fixes:
InteractionManagerProfile native:
Common fixes:
Full documentation with code examples in references/:
js-*)| File | Impact | Description |
|---|---|---|
js-lists-flatlist-flashlist.md | CRITICAL | Replace ScrollView with virtualized lists |
js-profile-react.md | MEDIUM | React DevTools profiling |
js-measure-fps.md | HIGH | FPS monitoring and measurement |
js-memory-leaks.md | MEDIUM | JS memory leak hunting |
js-atomic-state.md | HIGH | Jotai/Zustand patterns |
js-concurrent-react.md | HIGH | useDeferredValue, useTransition |
js-react-compiler.md | HIGH | Automatic memoization |
js-animations-reanimated.md | MEDIUM | Reanimated worklets |
js-uncontrolled-components.md | HIGH | TextInput optimization |
native-*)| File | Impact | Description |
|---|---|---|
native-turbo-modules.md | HIGH | Building fast native modules |
native-sdks-over-polyfills.md | HIGH | Native vs JS libraries |
native-measure-tti.md | HIGH | TTI measurement setup |
native-threading-model.md | HIGH | Turbo Module threads |
native-profiling.md | MEDIUM | Xcode/Android Studio profiling |
native-platform-setup.md | MEDIUM | iOS/Android tooling guide |
native-view-flattening.md | MEDIUM | View hierarchy debugging |
native-memory-patterns.md | MEDIUM | C++/Swift/Kotlin memory |
native-memory-leaks.md | MEDIUM | Native memory leak hunting |
native-android-16kb-alignment.md | CRITICAL | Third-party library alignment for Google Play |
bundle-*)| File | Impact | Description |
|---|---|---|
bundle-barrel-exports.md | CRITICAL | Avoid barrel imports |
bundle-analyze-js.md | CRITICAL | JS bundle visualization |
bundle-tree-shaking.md | HIGH | Dead code elimination |
bundle-analyze-app.md | HIGH | App size analysis |
bundle-r8-android.md | HIGH | Android code shrinking |
bundle-hermes-mmap.md | HIGH | Disable bundle compression |
bundle-native-assets.md | HIGH | Asset catalog setup |
bundle-library-size.md | MEDIUM | Evaluate dependencies |
bundle-code-splitting.md | MEDIUM | Re.Pack code splitting |
# Find patterns by keyword
grep -l "reanimated" references/
grep -l "flatlist" references/
grep -l "memory" references/
grep -l "profil" references/
grep -l "tti" references/
grep -l "bundle" references/
| Problem | Start With |
|---|---|
| App feels slow/janky | js-measure-fps.md → js-profile-react.md |
| Too many re-renders | js-profile-react.md → js-react-compiler.md |
| Slow startup (TTI) | native-measure-tti.md → bundle-analyze-js.md |
| Large app size | bundle-analyze-app.md → bundle-r8-android.md |
| Memory growing | js-memory-leaks.md or native-memory-leaks.md |
| Animation drops frames | js-animations-reanimated.md |
| List scroll jank | js-lists-flatlist-flashlist.md |
| TextInput lag | js-uncontrolled-components.md |
| Native module slow | native-turbo-modules.md → native-threading-model.md |
| Native library alignment issue | native-android-16kb-alignment.md |
Based on "The Ultimate Guide to React Native Optimization" by Callstack.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin pyinx-ceo-skills-pluginOptimizes React Native apps: FPS, TTI, bundle size, memory leaks, re-renders, animations. Covers Hermes, FlashList, native modules, JS thread, and bridge overhead.
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.
Diagnoses and optimizes React Native app performance: slow startup, janky scrolling, stuttering animations, large bundles, high memory.