MCPInstall

expo-react-native-performance

Expo React Native performance optimization guidelines. This skill should be used when writing, reviewing, or refactoring Expo React Native code to ensure optimal performance patterns. Triggers on tasks involving React Native components, lists, animations, images, or performance improvements.

Installs
1.5K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/pproenca/dot-skills --skill expo-react-native-performance
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads expo-react-native-performance automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Expo React Native Performance Best Practices

Comprehensive performance optimization guide for Expo React Native applications. Contains 42 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Writing new React Native components or screens
  • Implementing lists with FlatList or FlashList
  • Adding animations or transitions
  • Optimizing images and asset loading
  • Reviewing code for performance issues

Rule Categories by Priority

PriorityCategoryImpactPrefix
1App Startup & Bundle SizeCRITICALstartup-
2List VirtualizationCRITICALlist-
3Re-render OptimizationHIGHrerender-
4Animation PerformanceHIGHanim-
5Image & Asset LoadingMEDIUM-HIGHasset-
6Memory ManagementMEDIUMmem-
7Async & Data FetchingMEDIUMasync-
8Platform OptimizationsLOW-MEDIUMplatform-

Quick Reference

1. App Startup & Bundle Size (CRITICAL)

  • startup-enable-hermes - Enable Hermes JavaScript engine
  • startup-remove-console-logs - Remove console logs in production
  • startup-splash-screen-control - Control splash screen visibility
  • startup-preload-assets - Preload critical assets during splash
  • startup-async-routes - Use async routes for code splitting
  • startup-cherry-pick-imports - Use direct imports instead of barrel files

2. List Virtualization (CRITICAL)

  • list-use-flashlist - Use FlashList instead of FlatList
  • list-estimated-item-size - Provide accurate estimatedItemSize
  • list-get-item-type - Use getItemType for mixed lists
  • list-stable-render-item - Stabilize renderItem with useCallback
  • list-get-item-layout - Provide getItemLayout for fixed heights
  • list-memoize-items - Memoize list item components

3. Re-render Optimization (HIGH)

  • rerender-use-memo-expensive - Memoize expensive computations
  • rerender-use-callback-handlers - Stabilize callbacks with useCallback
  • rerender-functional-setstate - Use functional setState updates
  • rerender-lazy-state-init - Use lazy state initialization
  • rerender-split-context - Split context by update frequency
  • rerender-derive-state - Derive state instead of syncing

4. Animation Performance (HIGH)

  • anim-use-native-driver - Enable native driver for animations
  • anim-use-reanimated - Use Reanimated for complex animations
  • anim-layout-animation - Use LayoutAnimation for simple transitions
  • anim-transform-not-dimensions - Animate transform instead of dimensions
  • anim-interaction-manager - Defer heavy work during animations

5. Image & Asset Loading (MEDIUM-HIGH)

  • asset-use-expo-image - Use expo-image for image loading
  • asset-prefetch-images - Prefetch images before display
  • asset-optimize-image-size - Request appropriately sized images
  • asset-use-webp-format - Use WebP format for images
  • asset-recycling-key - Use recyclingKey in FlashList images

6. Memory Management (MEDIUM)

  • mem-cleanup-subscriptions - Clean up subscriptions in useEffect
  • mem-clear-timers - Clear timers on unmount
  • mem-abort-fetch - Abort fetch requests on unmount
  • mem-avoid-inline-objects - Avoid inline objects in props
  • mem-limit-list-data - Limit list data in memory

7. Async & Data Fetching (MEDIUM)

  • async-parallel-fetching - Fetch independent data in parallel
  • async-defer-await - Defer await until value needed
  • async-batch-api-calls - Batch related API calls
  • async-cache-responses - Cache API responses locally
  • async-refetch-on-focus - Refetch data on screen focus

8. Platform Optimizations (LOW-MEDIUM)

  • platform-android-overdraw - Reduce Android overdraw
  • platform-ios-text-rendering - Optimize iOS text rendering
  • platform-android-proguard - Enable ProGuard for Android release
  • platform-conditional-render - Platform-specific optimizations

How to Use

Read individual reference files for detailed explanations and code examples:

  • Section definitions - Category structure and impact levels
  • Rule template - Template for adding new rules

Full Compiled Document

For the complete guide with all rules expanded, see AGENTS.md.

Reference Files

FileDescription
AGENTS.mdComplete compiled guide with all rules
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

FAQ

What does the expo-react-native-performance skill do?

Expo React Native performance optimization guidelines. This skill should be used when writing, reviewing, or refactoring Expo React Native code to ensure optimal performance patterns. Triggers on tasks involving React Native components, lists, animations, images, or performance improvements.

How do I install expo-react-native-performance?

Run npx skills add https://github.com/pproenca/dot-skills --skill expo-react-native-performance in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/expo-react-native-performance/ (personal) or .claude/skills/expo-react-native-performance/ (project).

Which AI agents can use expo-react-native-performance?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is expo-react-native-performance safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains expo-react-native-performance?

It is published by pproenca in pproenca/dot-skills. It has 1,474 recorded installs.

More from pproenca/dot-skills

View all →

zod

pproenca/dot-skills

Zod schema validation best practices for type safety, parsing, and error handling. This skill should be used when defining z.object schemas, using z.string validations, safeParse, or z.infer. This skill does NOT cover React Hook Form integration patterns (use react-hook-form skill) or OpenAPI client generation (use orval skill).

Frontend & Design7.1K installs

vitest

pproenca/dot-skills

Vitest testing framework patterns for test setup, async testing, mocking with vi., snapshots, and test performance (formerly test-vitest). This skill should be used when writing or debugging Vitest tests. This skill does NOT cover TDD methodology (use test-tdd skill), API mocking with MSW (use test-msw skill), or Jest-specific APIs.

Testing & QA6.2K installs

react-hook-form

pproenca/dot-skills

React Hook Form performance optimization for client-side form validation using useForm, useWatch, useController, useFieldArray, the subscribe() API, and the Watch / FormStateSubscribe / FieldArray render-prop components. Covers RHF 7.82 additions including resetDefaultValues() and the disabled field-array option. This skill should be used when building client-side controlled forms with React Hook Form library. This skill does NOT cover React 19 Server Actions, useActionState, or server-side form handling (use react-19 skill for those).

emilkowal-animations

pproenca/dot-skills

Emil Kowalski's animation best practices for web interfaces. Use when writing, reviewing, or implementing animations in React, CSS, or Framer Motion. Triggers on tasks involving transitions, easing, gestures, toasts, drawers, or motion.

Frontend & Design2.8K installs

nuqs

pproenca/dot-skills

nuqs (type-safe URL query state) best practices for Next.js and other React frameworks. This skill should be used when writing, reviewing, or refactoring code that uses nuqs for URL state management. Triggers on tasks involving useQueryState, useQueryStates, search params, URL state, query parameters, nuqs parsers, limitUrlUpdates, Standard Schema, NuqsAdapter, or Next.js routing with state.

Frontend & Design2.3K installs

clean-architecture

pproenca/dot-skills

Clean Architecture principles and best practices from Robert C. Martin's book. This skill should be used when designing software systems, reviewing code structure, or refactoring applications to achieve better separation of concerns. Triggers on tasks involving layers, boundaries, dependency direction, entities, use cases, or system architecture.

Popular mobile skills

View category →

design-mobile-apps

designed-by-ai/skills

Design mobile app screens with Sleek, edit Sleek projects, and implement their designs in React Native or HTML.

Mobile1.1M installs

ios-design

uizze.sh

Design and review iOS UI/UX for iPhone apps in SwiftUI, UIKit, or React Native. Use for mobile app design, screen redesigns, navigation flows, typography, forms, keyboard and safe-area layout, and accessibility checks. Apply Apple Human Interface Guidelines and consult real product references through the optional Uizze connection.

Mobile416.5K installs

vercel-react-native-skills

vercel-labs/agent-skills

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

OfficialMobile256.7K installs

animate-expo

emilkowalski/skills

Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web animation use animate.

Mobile140.1K installs

xcode-project-setup

firebase/agent-skills

Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).

OfficialMobile131.2K installs

firebase-remote-config-basics

firebase/agent-skills

Manages Firebase Remote Config templates, feature flags, loading strategies, and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON templates, managing version history/feature flags, setting in-app defaults, fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting.

OfficialMobile121.7K installs