К основному содержанию
скилл CX Codex

expo — скилл для Claude Code: что делает и как установить

Набор правил для Expo и React Native, помогающий агенту оптимизировать запуск приложения, размер бандла, рендеринг списков и расход памяти.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add pproenca/dot-skills --skill expo -a claude-code
Открыть на GitHub

Что делает expo

Скилл передаёт агенту 54 правила мобильной оптимизации, разбитых на девять категорий по уровню влияния. В приоритете находятся критические этапы запуска и сборки: контроль сплэш-скрина, движок Hermes, чистка неиспользуемых пакетов и отказ от barrel-файлов.

Внутри собраны чёткие паттерны для компонентов интерфейса. Агент переводит плоские списки FlatList на FlashList с расчётом estimatedItemSize, заменяет стандартные изображения на expo-image с плейсхолдерами BlurHash и выносит анимации на UI-поток через Reanimated. Для предотвращения утечек памяти описаны правила очистки подписок и отмены сетевых запросов при размонтировании экранов.

Инструкции заточены строго под экосистему Expo и React Native. При работе с другими мобильными фреймворками эти правила неприменимы.

Какие задачи решает

  • сократить время холодного запуска приложения с движком Hermes
  • уменьшить итоговый размер бандла перед релизом
  • ускорить скролл длинных списков заменой FlatList на FlashList
  • настроить кэширование и плейсхолдеры картинок через expo-image
  • устранить утечки памяти при размонтировании экранов

Примеры запросов агенту

  • Оптимизируй этот экран каталога с помощью FlashList и правильного estimatedItemSize
  • Проверь App.js на лишние импорты в корне и настрой отложенную инициализацию
  • Переведи отображение картинок на expo-image с форматом WebP и плейсхолдерами

Как установить expo

1Через Skills CLI (Vercel)

npx skills add pproenca/dot-skills --skill expo -a claude-code

2Вручную: положить файлы

~/.claude/skills/expo/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/expo/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о expo

Как установить скилл expo в Claude Code?

Выполните команду npx skills add pproenca/dot-skills --skill expo -a claude-code. Файл правил запишется в ~/.claude/skills/expo/SKILL.md.

Что делает скилл expo?

Он задаёт ассистенту систему правил для рефакторинга и генерации кода на Expo React Native. База включает 54 инструкции — от ускорения старта приложения до тонкой настройки анимаций.

Какие категории оптимизаций имеют наивысший приоритет?

Статус Critical присвоен оптимизации времени запуска с префиксом launch- и уменьшению размера бандла с префиксом bundle-. За ними следуют списки, изображения и выборка данных.

Исходный текст

SKILL.md · MIT
---
name: expo
description: 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, navigation, lists, images, animations, bundle optimization, or mobile performance improvements.
---

# Community Expo React Native Best Practices

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.

## When to Apply

Reference these guidelines when:
- Writing new Expo React Native components
- Optimizing app startup and Time to Interactive
- Implementing lists, images, or animations
- Reducing bundle size and memory usage
- Reviewing code for mobile performance issues

## Rule Categories by Priority

| 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-` |

## Quick Reference

### 1. Launch Time Optimization (CRITICAL)

- `launch-splash-screen-control` - Control splash screen visibility during asset loading
- `launch-preload-critical-assets` - Preload fonts and images during splash
- `launch-hermes-engine` - Use Hermes engine for faster startup
- `launch-defer-non-critical` - Defer non-critical initialization
- `launch-new-architecture` - Enable New Architecture for synchronous native communication
- `launch-minimize-root-imports` - Minimize imports in root App component

### 2. Bundle Size Optimization (CRITICAL)

- `bundle-avoid-barrel-files` - Avoid barrel file imports
- `bundle-analyze-size` - Analyze bundle size before release
- `bundle-remove-unused-dependencies` - Remove unused dependencies
- `bundle-split-by-architecture` - Generate architecture-specific APKs
- `bundle-enable-proguard` - Enable ProGuard for Android release builds
- `bundle-optimize-fonts` - Subset custom fonts to used characters
- `bundle-use-lightweight-alternatives` - Use lightweight library alternatives

### 3. List Virtualization (HIGH)

- `list-use-flashlist` - Use FlashList instead of FlatList
- `list-provide-estimated-size` - Provide accurate estimatedItemSize
- `list-avoid-inline-functions` - Avoid inline functions in renderItem
- `list-provide-getitemlayout` - Provide getItemLayout for fixed-height items
- `list-avoid-key-prop` - Avoid key prop inside FlashList items
- `list-batch-rendering` - Configure list batch rendering
- `list-memoize-item-components` - Memoize list item components

### 4. Image Optimization (HIGH)

- `image-use-expo-image` - Use expo-image instead of React Native Image
- `image-resize-to-display-size` - Resize images to display size
- `image-use-webp-format` - Use WebP format for smaller file sizes
- `image-use-placeholders` - Use BlurHash or ThumbHash placeholders
- `image-preload-critical` - Preload critical above-the-fold images
- `image-lazy-load-offscreen` - Lazy load off-screen images

### 5. Data Fetching Patterns (HIGH)

- `data-parallel-fetching` - Fetch independent data in parallel
- `data-request-deduplication` - Deduplicate concurrent requests
- `data-abort-requests` - Abort requests on component unmount
- `data-pagination` - Implement efficient pagination strategies
- `data-cache-strategies` - Use appropriate caching strategies
- `data-optimistic-updates` - Apply optimistic updates for responsiveness

### 6. Navigation Performance (MEDIUM-HIGH)

- `nav-use-native-stack` - Use native stack navigator
- `nav-unmount-inactive-screens` - Unmount inactive tab screens
- `nav-prefetch-screen-data` - Prefetch data before navigation
- `nav-optimize-screen-options` - Optimize screen options
- `nav-avoid-deep-nesting` - Avoid deeply nested navigators

### 7. Re-render Prevention (MEDIUM)

- `rerender-use-memo-components` - Memoize expensive components with React.memo
- `rerender-use-callback` - Stabilize callbacks with useCallback
- `rerender-use-memo-values` - Memoize expensive computations with useMemo
- `rerender-avoid-context-overuse` - Avoid overusing Context for frequent updates
- `rerender-split-component-state` - Split components to isolate updating state
- `rerender-use-react-compiler` - Enable React Compiler for automatic memoization
- `rerender-avoid-anonymous-components` - Avoid anonymous components in JSX

### 8. Animation Performance (MEDIUM)

- `anim-use-reanimated` - Use Reanimated for UI thread animations
- `anim-use-native-driver` - Enable useNativeDriver for Animated API
- `anim-avoid-layout-animation` - Prefer transform over layout animations
- `anim-gesture-handler-integration` - Use Gesture Handler with Reanimated
- `anim-interaction-manager` - Defer heavy work during animations

### 9. Memory Management (LOW-MEDIUM)

- `mem-cleanup-useeffect` - Clean up subscriptions and timers
- `mem-abort-fetch-requests` - Abort fetch requests on unmount
- `mem-avoid-closure-leaks` - Avoid closure-based memory leaks
- `mem-release-heavy-resources` - Release heavy resources when not needed
- `mem-profile-with-tools` - Profile memory usage with development tools

## How to Use

Read individual reference files for detailed explanations and code examples:

- [Section definitions](references/_sections.md) - Category structure and impact levels
- [Rule template](assets/templates/_template.md) - Template for adding new rules
- Example rules: [launch-splash-screen-control](references/launch-splash-screen-control.md), [list-use-flashlist](references/list-use-flashlist.md)

## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`

© pproenca · MIT · pproenca/dot-skills

Похожие скиллы

Всё по теме «Мобильная разработка» →
vercel-react-native-skills vercel Набор правил по React Native и Expo для ИИ-агента: списки, анимации, навигация. Пригодится, когда агент правит мобильный код и надо, чтобы он делал это одинаково. CX Codex +1 255 200установок animate-expo emilkowalski Создаёт мобильные анимации для React Native и Expo на базе Reanimated и Gesture Handler. Помогает избежать просадок кадров на реальных устройствах. CX Codex +1 137 900установок mobile-native emilkowalski Убирает мелочи, из-за которых веб-приложение на телефоне выдаёт себя: залипающий hover, вспышку при тапе, ошибку с 100vh. CX Codex +1 86 600установок aso coreyhaines31 Анализирует страницы приложений в App Store и Google Play по правилам поисковой оптимизации. Находит слабые места в метаданных, графике и конверсии. CX Codex +1 75 400установок swiftui-pro Paul Hudson Проверяет SwiftUI-код на устаревшие API, ошибки в структуре и проблемы доступности. Пригодится для ревью и доработки проектов на SwiftUI. CX Codex +1 35 200установок orca-emulator stablyai Управляет iOS Simulator внутри Orca с живым экраном устройства. Пригодится для тапов, жестов, поворота экрана и сбора доказательств работы iOS-приложения. CX Codex +1 5 800установок

Из того же набора46

chrome-extension-ui Набор правил по интерфейсу расширений Chrome: где ставить popup, где side panel, как сделать доступную навигацию и понятные состояния загрузки. CX Codex +1 719установок chrome-extension Скилл с 67 правилами по Chrome Extensions на Manifest V3. Пригодится, когда пишете service worker, content script или мигрируете с MV2. CX Codex +1 717установок shell Скилл с 49 правилами для bash и POSIX sh: цитирование переменных, строгий режим, обработка ошибок. Пригодится, когда агент пишет или правит скрипты. CX Codex +1 692установок refactor Набор из 43 правил рефакторинга по каталогу Мартина Фаулера и принципам Clean Code. Пригодится, когда агент правит чужой код и нужно, чтобы он делал это по понятным правилам. CX Codex +1 641установок react Скилл с 49 правилами React 19 и алгоритмом ревью кодовой базы. Пригодится при написании компонентов, миграции с React 18 и аудите репозитория. CX Codex +1 489установок tailwind-responsive-ui Скилл для Claude и других ИИ-редакторов: помогает переделывать интерфейсы на Tailwind CSS под мобильные и десктопные экраны. CX Codex +1 461установок tailwind-ui-refactor Скилл для рефакторинга HTML с классами Tailwind: подсказывает, как выстроить иерархию, отступы, типографику и цвет. Пригодится, когда верстаешь без дизайнера. CX Codex +1 458установок zustand Скилл с 43 правилами для Zustand в React: архитектура сторов, селекторы, лишние ре-рендеры. Пригодится, когда пишете или рефакторите стор. CX Codex +1 446установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой