packages/skills/skills/react-native-best-practices/SKILL.md
Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Applies to tasks involving Hermes optimization, JS thread blocking, bridge overhead, FlashList, native modules, or debugging jank and frame drops.
npx skillsauth add mediar-ai/skillhubz react-native-best-practicesInstall 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.
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".
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-* |
Follow this cycle for any performance issue: Measure → Optimize → Re-measure → Validate
If metrics did not improve, revert and try the next suggested fix.
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
Verify improvement after optimization:
# Record baseline size before changes
ls -lh output.js # e.g., Before: 2.1 MB
# After applying fixes, re-bundle and compare
npx react-native bundle --entry-file index.js --bundle-output output.js \
--platform ios --dev false --minify true
ls -lh output.js # e.g., After: 1.6 MB (24% reduction)
Common fixes:
Measure TTI:
react-native-performance for markersCommon fixes:
Profile 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.
tools
# X Twitter Scraper Use Xquik for X/Twitter tweet search, user lookup, profile tweets, follower export, media download, monitors, webhooks, posting workflows, and MCP-backed API exploration. ## Prerequisites - A Xquik API key in `XQUIK_API_KEY`. - Internet access to `https://xquik.com/api/v1`, `https://xquik.com/mcp`, and `https://docs.xquik.com`. - A clear user request that identifies the target tweets, users, accounts, keywords, media, monitor, webhook, or write action. ## Source Truth -
tools
Use when the user says "mk0r", "appmaker CLI", "open a VM", "run something in the sandbox", "talk to the VM agent", "spin up an E2B sandbox", or "chat with appmaker from CLI." Wraps the `mk0r` CLI to list projects, exec commands inside their E2B sandboxes, stream chat with the VM agent (same `/api/chat` the web UI uses), toggle SOAX residential IP, manage schedules, and copy files. Supports a sticky default project via `mk0r projects use`.
testing
Use when the user mentions "influencer candidates", "social media operator", "check proposals on Upwork/Fiverr", "review influencer applications", "qualify candidates", or "reach out to operators". Manages the IG/TikTok account operator hiring pipeline — review applicants, check replies, qualify, and do proactive outreach.
tools
End-to-end newsletter pipeline: investigate recent features, draft, send via API endpoint, and track delivery/open/click metrics.