expo-react-native-javascript-best-practices — скилл для Claude Code
Набор правил для разработки мобильных приложений на Expo и React Native с чистым JavaScript. Помогает агенту писать функциональные компоненты, настраивать Expo Router и ускорять рендеринг.
npx skills add Mindrally/skills --skill expo-react-native-javascript-best-practices -a claude-codeЧто делает expo-react-native-javascript-best-practices
Скилл задаёт стандарты написания JavaScript-кода для проектов на Expo и React Native. В инструкциях зафиксированы функциональные компоненты с хуками useState и useEffect, запрет анонимных функций в обработчиках событий и файловая организация по фичам в директориях вроде user-profile. Для проверки типов без TypeScript предписано использовать PropTypes.
Отдельный блок правил посвящён оптимизации интерфейса. Скилл требует оборачивать компоненты в React.memo() и передавать в FlatList параметры removeClippedSubviews, maxToRenderPerBatch и windowSize. Стилизация строится через StyleSheet.create() или Styled Components, а для изображений указана библиотека react-native-fast-image.
Навигация настраивается строго через Expo Router с поддержкой deep linking для Android, iOS и веба. Для сборки и обновлений используются EAS Build и OTA. Если в проекте уже включён строгий TypeScript, часть правил про PropTypes окажется избыточной.
Какие задачи решает
- структурировать проект по фичам с понятными именами файлов
- оптимизировать списки FlatList через
windowSizeи отсечение скрытых элементов - настроить файловую маршрутизацию с помощью Expo Router
- переписать классовые компоненты на функции с хуками
Примеры запросов агенту
- Сделай экран профиля пользователя на Expo Router с использованием
StyleSheet.create() - Оптимизируй рендеринг списка сообщений в
FlatListпо правилам скилла - Разбей этот компонент на модульные функциональные части с проверкой через PropTypes
Как установить expo-react-native-javascript-best-practices
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill expo-react-native-javascript-best-practices -a claude-code2Вручную: положить файлы
~/.claude/skills/expo-react-native-javascript-best-practices/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/expo-react-native-javascript-best-practices/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill expo-react-native-javascript-best-practices -a codex2Вручную: положить файлы
.agents/skills/expo-react-native-javascript-best-practices/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill expo-react-native-javascript-best-practices -a cursor2Вручную: положить файлы
.cursor/skills/expo-react-native-javascript-best-practices/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills expo-react-native-javascript-best-practices2Вручную: положить файлы
.github/skills/expo-react-native-javascript-best-practices/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill expo-react-native-javascript-best-practices -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path expo-react-native-javascript-best-practicesВручную: положить файлы
.devin/skills/expo-react-native-javascript-best-practices/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill expo-react-native-javascript-best-practices -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о expo-react-native-javascript-best-practices
Как установить expo-react-native-javascript-best-practices в Claude Code?
Выполните в терминале команду npx skills add Mindrally/skills --skill expo-react-native-javascript-best-practices -a claude-code.
Что делает этот скилл?
Он добавляет в контекст агента правила по архитектуре компонентов, соглашениям об именовании, маршрутизации через Expo Router и ускорению списков FlatList.
Подходит ли скилл для проектов на TypeScript?
Инструкции ориентированы на чистый JavaScript с использованием PropTypes и возможностей ES6+. Если проект написан на TypeScript, валидация через PropTypes не понадобится.
Исходный текст
SKILL.md · Apache-2.0
--- name: expo-react-native-javascript-best-practices description: Expo React Native JavaScript best practices for clean code, functional components, performance optimization, and Expo Router navigation. metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # Expo React Native JavaScript Best Practices Guidelines for building high-quality Expo React Native applications with JavaScript, focusing on clean code, modularity, and performance. ## Code Style and Structure - **Clean, Readable Code**: Ensure your code is easy to read and understand. Use descriptive names for variables and functions. - **Functional Components**: Prefer functional components with hooks (useState, useEffect) over class components - **Component Modularity**: Break components into smaller, reusable pieces with single responsibility - **Feature-Based Organization**: Group related components, hooks, and styles into feature directories (e.g., user-profile, chat-screen) ## Naming Conventions - **Variables and Functions**: Use camelCase (e.g., `isFetchingData`, `handleUserInput`) - **Components**: Use PascalCase (e.g., `UserProfile`, `ChatScreen`) - **Directories**: Use lowercase hyphenated names (e.g., `user-profile`, `chat-screen`) ## JavaScript Usage - Minimize global variables to prevent unintended side effects - Leverage ES6+ features like arrow functions, destructuring, and template literals to write concise code - Use PropTypes for type checking if not using TypeScript ## Performance Optimization - Avoid unnecessary state updates; use local state when needed - Apply `React.memo()` to prevent unnecessary re-renders - Optimize FlatList with the following props: - `removeClippedSubviews` - `maxToRenderPerBatch` - `windowSize` - Avoid anonymous functions in `renderItem` or event handlers ## UI and Styling - Use `StyleSheet.create()` for consistent styling or Styled Components for dynamic styles - Ensure responsive design across screen sizes and orientations - Use optimized image libraries like `react-native-fast-image` ## Best Practices - Follow React Native's threading model for smooth UI performance - Use Expo's EAS Build and OTA updates for deployment - **Expo Router**: Use Expo Router for file-based routing in your React Native app. It provides native navigation, deep linking, and works across Android, iOS, and web
© Mindrally · Apache-2.0 · Mindrally/skills