К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

react-native-expert — скилл для Claude Code и Cursor

Скилл для агентов ИИ-кодинга: помогает собирать мобильные приложения на React Native и Expo — навигация, нативные модули, скорость списков, код под iOS и Android.

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

Что делает react-native-expert

Скилл даёт агенту роль senior-мобильного инженера: он пишет и правит код кросс-платформенных приложений на React Native и Expo, а не рассуждает о них. Внутри SKILL.md лежит рабочий процесс из пяти шагов (среда, структура проекта, компоненты, оптимизация, тесты) и справочники в references/ по Expo Router, платформенному коду, оптимизации списков и хранилищу вроде AsyncStorage и MMKV.

Старт начинается с npx expo doctor — найденные расстройства SDK скилл велит починить до первого коммита. После подключения нативного модуля нужна пересборка нативных слоёв через npx expo run:ios или npx expo run:android. Длинные списки он требует делать на FlatList с memo и useCallback вместо ScrollView, формы сажать на KeyboardAvoidingView, анимации переводить на Reanimated, а не на setTimeout. Застрявший кэш Metro чистится командой npx expo start --clear.

Проверку на двух платформах скилл ставит обязательным пунктом: сначала iOS-симулятор и Android-эмулятор, потом реальные устройства. Это значит, что в проекте, который собирают только под одну платформу, его советы останутся непроверенными — платформенные ветки (Platform.select, разделение на .ios.tsx и .android.tsx) придётся валидировать самому.

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

  • собрать иерархию табов и стеков на Expo Router
  • ускорить прокрутку тяжёлого FlatList через memo и useCallback
  • подключить нативный модуль и пересобрать приложение под обе платформы
  • развести код под iOS и Android через Platform.select
  • починить падающую сборку Metro, Gradle или Xcode

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

  • Добавь в проект навигацию: нижние табы и стек внутри каждого таба, на Expo Router
  • Список заказов тормозит на Android — перепиши его на FlatList с memo и useCallback
  • Поставь `expo-camera` как нативный модуль и скажи, что нужно пересобрать

Как установить react-native-expert

1Через Skills CLI (Vercel)

npx skills add Jeffallan/claude-skills --skill react-native-expert -a claude-code

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

~/.claude/skills/react-native-expert/SKILL.md

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

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

Весь набор →
laravel-specialist https://github.com/Jeffallan Настраивает агента на разработку бэкенда на Laravel 10+ и PHP 8.2+. Помогает писать модели Eloquent, очереди Horizon, API resources и тесты Pest. Claude Code CX Codex Cursor +1 23 300установок golang-pro https://github.com/Jeffallan Скилл помогает писать идиоматичный Go: разбирать конкурентный код, строить микросервисы и проверять производительность. Пригодится для goroutines, gRPC и тестов. Claude Code CX Codex Cursor +1 18 900установок php-pro https://github.com/Jeffallan Задаёт правила разработки на PHP 8.3+ для Laravel и Symfony: включает strict_types, анализ в PHPStan на уровне 9 и тесты PHPUnit или Pest. Claude Code CX Codex Cursor +1 15 500установок flutter-expert https://github.com/Jeffallan Скилл для разработки кросс-платформных приложений на Flutter 3+ и Dart. Помогает с виджетами, управлением состоянием через Riverpod или Bloc, маршрутизацией GoRouter и оптимизацией производительности. Claude Code CX Codex Cursor +1 14 300установок typescript-pro https://github.com/Jeffallan Настраивает строгую типизацию TypeScript, генерирует брендированные типы и связывает tRPC. Пригодится при проектировании надёжных API и сложных generic-структур. Claude Code CX Codex Cursor +1 14 200установок kubernetes-specialist https://github.com/Jeffallan Скилл помогает создавать и проверять Kubernetes-манифесты, настраивать безопасность и разбирать сбои подов. Пригодится для деплоя и сопровождения кластерных workloads. Claude Code CX Codex Cursor +1 14 100установок devops-engineer https://github.com/Jeffallan Скилл создаёт Dockerfile, CI/CD-конфигурации и манифесты Kubernetes. Нужен для инфраструктуры, деплоя и разбора инцидентов. Claude Code CX Codex Cursor +1 11 200установок wordpress-pro https://github.com/Jeffallan Скилл помогает разрабатывать темы и плагины WordPress, блоки Gutenberg и магазины WooCommerce. Нужен для задач с REST API, хуками, безопасностью и производительностью. Claude Code CX Codex Cursor +1 9 700установок

Похожие

android-native-dev MiniMax-AI Направляет агента при разработке нативных Android-приложений: помогает настроить Gradle, разложить архитектуру Jetpack Compose и настроить сборку вариантов. Claude Code CX Codex Cursor +1 2 700установок eas-update expo Скилл для настройки и публикации обновлений через EAS Update. Помогает доставить изменения JavaScript и ассетов в установленные приложения без пересборки нативного кода. Claude Code CX Codex Cursor +1 10 600установок app-store-optimization sickn33 Готовит черновики метаданных для страниц в Apple App Store и Google Play Store с учётом ограничений полей. Пригодится перед релизом или обновлением приложения. Claude Code CX Codex Cursor +1 1 800установок github-actions callstackincubator Готовые шаблоны GitHub Actions для сборки React Native приложений на iOS-симуляторе и Android-эмуляторе в облаке с загрузкой артефактов. Упрощает настройку CI-пайплайнов и скачивание собранных бинарников через gh или REST API. Claude Code CX Codex Cursor +1 10 900установок appllama-usage Appllama (appllama.io) Направляет работу с Appllama MCP: ищет мобильные приложения, изучает их экраны и пользовательские сценарии перед разработкой интерфейса. Claude Code CX Codex Cursor +1 4 000установок vercel-react-native-skills vercel Набор правил по React Native и Expo для ИИ-агента: списки, анимации, навигация. Пригодится, когда агент правит мобильный код и надо, чтобы он делал это одинаково. Claude Code CX Codex Cursor +1 253 900установок animate-expo emilkowalski Создаёт мобильные анимации для React Native и Expo на базе Reanimated и Gesture Handler. Помогает избежать просадок кадров на реальных устройствах. Claude Code CX Codex Cursor +1 135 900установок mobile-native emilkowalski Убирает мелочи, из-за которых веб-приложение на телефоне выдаёт себя: залипающий hover, вспышку при тапе, ошибку с 100vh. Claude Code CX Codex Cursor +1 84 500установок

Вопросы о react-native-expert

Как установить react-native-expert в Claude Code?

Выполните npx skills add Jeffallan/claude-skills --skill react-native-expert -a claude-code. Скилл окажется в ~/.claude/skills/react-native-expert/SKILL.md.

Что делает react-native-expert?

Помогает агенту писать и отлаживать приложения на React Native и Expo: навигация, нативные модули, оптимизация списков, код под конкретную платформу. На выходе — компоненты на TypeScript с типами пропсов и обработкой навигации.

С какими версиями React Native и Expo он работает?

Ориентир внутри скилла: React Native 0.73+, Expo SDK 50+, Expo Router, React Navigation 7, Reanimated 3, Gesture Handler. Совместимость среды он проверяет через npx expo doctor.

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

SKILL.md · MIT
---
name: react-native-expert
description: Builds, optimizes, and debugs cross-platform mobile applications with React Native and Expo. Implements navigation hierarchies (tabs, stacks, drawers), configures native modules, optimizes FlatList rendering with memo and useCallback, and handles platform-specific code for iOS and Android. Use when building a React Native or Expo mobile app, setting up navigation, integrating native modules, improving scroll performance, handling SafeArea or keyboard input, or configuring Expo SDK projects.
license: MIT
metadata:
  author: https://github.com/Jeffallan
  company: https://synergetic.solutions
  version: "1.1.0"
  domain: frontend
  triggers: React Native, Expo, mobile app, iOS, Android, cross-platform, native module
  role: specialist
  scope: implementation
  output-format: code
  related-skills: react-expert, flutter-expert, test-master
---

# React Native Expert

Senior mobile engineer building production-ready cross-platform applications with React Native and Expo.

## Core Workflow

1. **Setup** — Expo Router or React Navigation, TypeScript config → _run `npx expo doctor` to verify environment and SDK compatibility; fix any reported issues before proceeding_
2. **Structure** — Feature-based organization
3. **Implement** — Components with platform handling → _verify on iOS simulator and Android emulator; check Metro bundler output for errors before moving on_
4. **Optimize** — FlatList, images, memory → _profile with Flipper or React DevTools_
5. **Test** — Both platforms, real devices

### Error Recovery
- **Metro bundler errors** → clear cache with `npx expo start --clear`, then restart
- **iOS build fails** → check Xcode logs → resolve native dependency or provisioning issue → rebuild with `npx expo run:ios`
- **Android build fails** → check `adb logcat` or Gradle output → resolve SDK/NDK version mismatch → rebuild with `npx expo run:android`
- **Native module not found** → run `npx expo install <module>` to ensure compatible version, then rebuild native layers

## Reference Guide

Load detailed guidance based on context:

| Topic | Reference | Load When |
|-------|-----------|-----------|
| Navigation | `references/expo-router.md` | Expo Router, tabs, stacks, deep linking |
| Platform | `references/platform-handling.md` | iOS/Android code, SafeArea, keyboard |
| Lists | `references/list-optimization.md` | FlatList, performance, memo |
| Storage | `references/storage-hooks.md` | AsyncStorage, MMKV, persistence |
| Structure | `references/project-structure.md` | Project setup, architecture |

## Constraints

### MUST DO
- Use FlatList/SectionList for lists (not ScrollView)
- Implement memo + useCallback for list items
- Handle SafeAreaView for notches
- Test on both iOS and Android real devices
- Use KeyboardAvoidingView for forms
- Handle Android back button in navigation

### MUST NOT DO
- Use ScrollView for large lists
- Use inline styles extensively (creates new objects)
- Hardcode dimensions (use Dimensions API or flex)
- Ignore memory leaks from subscriptions
- Skip platform-specific testing
- Use waitFor/setTimeout for animations (use Reanimated)

## Code Examples

### Optimized FlatList with memo + useCallback

```tsx
import React, { memo, useCallback } from 'react';
import { FlatList, View, Text, StyleSheet } from 'react-native';

type Item = { id: string; title: string };

const ListItem = memo(({ title, onPress }: { title: string; onPress: () => void }) => (
  <View style={styles.item}>
    <Text onPress={onPress}>{title}</Text>
  </View>
));

export function ItemList({ data }: { data: Item[] }) {
  const handlePress = useCallback((id: string) => {
    console.log('pressed', id);
  }, []);

  const renderItem = useCallback(
    ({ item }: { item: Item }) => (
      <ListItem title={item.title} onPress={() => handlePress(item.id)} />
    ),
    [handlePress]
  );

  return (
    <FlatList
      data={data}
      keyExtractor={(item) => item.id}
      renderItem={renderItem}
      removeClippedSubviews
      maxToRenderPerBatch={10}
      windowSize={5}
    />
  );
}

const styles = StyleSheet.create({
  item: { padding: 16, borderBottomWidth: StyleSheet.hairlineWidth },
});
```

### KeyboardAvoidingView Form

```tsx
import React from 'react';
import {
  KeyboardAvoidingView,
  Platform,
  ScrollView,
  TextInput,
  StyleSheet,
  SafeAreaView,
} from 'react-native';

export function LoginForm() {
  return (
    <SafeAreaView style={styles.safe}>
      <KeyboardAvoidingView
        style={styles.flex}
        behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
      >
        <ScrollView contentContainerStyle={styles.content} keyboardShouldPersistTaps="handled">
          <TextInput style={styles.input} placeholder="Email" autoCapitalize="none" />
          <TextInput style={styles.input} placeholder="Password" secureTextEntry />
        </ScrollView>
      </KeyboardAvoidingView>
    </SafeAreaView>
  );
}

const styles = StyleSheet.create({
  safe: { flex: 1 },
  flex: { flex: 1 },
  content: { padding: 16, gap: 12 },
  input: { borderWidth: 1, borderRadius: 8, padding: 12, fontSize: 16 },
});
```

### Platform-Specific Component

```tsx
import { Platform, StyleSheet, View, Text } from 'react-native';

export function StatusChip({ label }: { label: string }) {
  return (
    <View style={styles.chip}>
      <Text style={styles.label}>{label}</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  chip: {
    paddingHorizontal: 12,
    paddingVertical: 4,
    borderRadius: 999,
    backgroundColor: '#0a7ea4',
    // Platform-specific shadow
    ...Platform.select({
      ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.2, shadowRadius: 4 },
      android: { elevation: 3 },
    }),
  },
  label: { color: '#fff', fontSize: 13, fontWeight: '600' },
});
```

## Output Format

When implementing React Native features, deliver:
1. **Component code** — TypeScript, with prop types defined
2. **Platform handling** — `Platform.select` or `.ios.tsx` / `.android.tsx` splits as needed
3. **Navigation integration** — route params typed, back-button handling included
4. **Performance notes** — memo boundaries, key extractor strategy, image caching

## Knowledge Reference

React Native 0.73+, Expo SDK 50+, Expo Router, React Navigation 7, Reanimated 3, Gesture Handler, AsyncStorage, MMKV, React Query, Zustand

Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)

[Documentation](https://jeffallan.github.io/claude-skills/skills/frontend/react-native-expert/)

© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills

Смотрите также

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

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