Comprehensive performance optimization guide for Expo React Native applications. Contains 54 rules across 9 categories, prioritized by impact to guide automated refactoring and code generation.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionexpoExecute the skills CLI command in your project's root directory to begin installation:
Fetches expo from pproenca/dot-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate expo. Access via /expo in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
95
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
95
stars
Comprehensive performance optimization guide for Expo React Native applications. Contains 54 rules across 9 categories, prioritized by impact to guide automated refactoring and code generation.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Launch Time Optimization | CRITICAL | launch- |
| 2 | Bundle Size Optimization | CRITICAL | bundle- |
| 3 | List Virtualization | HIGH | list- |
| 4 | Image Optimization | HIGH | image- |
| 5 | Data Fetching Patterns | HIGH | data- |
| 6 | Navigation Performance | MEDIUM-HIGH | nav- |
| 7 | Re-render Prevention | MEDIUM | rerender- |
| 8 | Animation Performance | MEDIUM | anim- |
| 9 | Memory Management | LOW-MEDIUM | mem- |
launch-splash-screen-control - Control splash screen visibility during asset loadinglaunch-preload-critical-assets - Preload fonts and images during splashlaunch-hermes-engine - Use Hermes engine for faster startuplaunch-defer-non-critical - Defer non-critical initializationlaunch-new-architecture - Enable New Architecture for synchronous native communicationlaunch-minimize-root-imports - Minimize imports in root App componentbundle-avoid-barrel-files - Avoid barrel file importsbundle-analyze-size - Analyze bundle size before releasebundle-remove-unused-dependencies - Remove unused dependenciesbundle-split-by-architecture - Generate architecture-specific APKsbundle-enable-proguard - Enable ProGuard for Android release buildsbundle-optimize-fonts - Subset custom fonts to used charactersbundle-use-lightweight-alternatives - Use lightweight library alternativeslist-use-flashlist - Use FlashList instead of FlatListlist-provide-estimated-size - Provide accurate estimatedItemSizelist-avoid-inline-functions - Avoid inline functions in renderItemlist-provide-getitemlayout - Provide getItemLayout for fixed-height itemslist-avoid-key-prop - Avoid key prop inside FlashList itemslist-batch-rendering - Configure list batch renderinglist-memoize-item-components - Memoize list item componentsimage-use-expo-image - Use expo-image instead of React Native Imageimage-resize-to-display-size - Resize images to display sizeimage-use-webp-format - Use WebP format for smaller file sizesimage-use-placeholders - Use BlurHash or ThumbHash placeholdersimage-preload-critical - Preload critical above-the-fold imagesimage-lazy-load-offscreen - Lazy load off-screen imagesdata-parallel-fetching - Fetch independent data in paralleldata-request-deduplication - Deduplicate concurrent requestsdata-abort-requests - Abort requests on component unmountdata-pagination - Implement efficient pagination strategiesdata-cache-strategies - Use appropriate caching strategiesdata-optimistic-updates - Apply optimistic updates for responsivenessnav-use-native-stack - Use native stack navigatornav-unmount-inactive-screens - Unmount inactive tab screensnav-prefetch-screen-data - Prefetch data before navigationnav-optimize-screen-options - Optimize screen optionsnav-avoid-deep-nesting - Avoid deeply nested navigatorsrerender-use-memo-components - Memoize expensive components with React.memorerender-use-callback - Stabilize callbacks with useCallbackrerender-use-memo-values - Memoize expensive computations with useMemorerender-avoid-context-overuse - Avoid overusing Context for frequent updatesrerender-split-component-state - Split components to isolate updating statererender-use-react-compiler - Enable React Compiler for automatic memoizationrerender-avoid-anonymous-components - Avoid anonymous components in JSXanim-use-reanimated - Use Reanimated for UI thread animationsanim-use-native-driver - Enable useNativeDriver for Animated APIanim-avoid-layout-animation - Prefer transform over layout animationsanim-gesture-handler-integration - Use Gesture Handler with Reanimatedanim-interaction-manager - Defer heavy work during animationsmem-cleanup-useeffect - Clean up subscriptions and timersmem-abort-fetch-requests - Abort fetch requests on unmountmem-avoid-closure-leaks - Avoid closure-based memory leaksmem-release-heavy-resources - Release heavy resources when not neededmem-profile-with-tools - Profile memory usage with development toolsRead individual reference files for detailed explanations and code examples:
For the complete guide with all rules expanded: AGENTS.md
Make data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
pproenca/dot-skills
pproenca/dot-skills
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
expo fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Useful defaults in expo — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Registry listing for expo matched our evaluation — installs cleanly and behaves as described in the markdown.
expo reduced setup friction for our internal harness; good balance of opinion and flexibility.
We added expo from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Registry listing for expo matched our evaluation — installs cleanly and behaves as described in the markdown.
expo is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
expo fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
We added expo from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
expo fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
showing 1-10 of 72