react-native-design — скилл для Claude Code: что делает
Скилл помогает собирать React Native-приложения со стилями, навигацией и анимациями Reanimated. Пригодится для кроссплатформенной мобильной разработки.
/plugin marketplace add wshobson/agents
/plugin install ui-design@claude-code-workflowsЧто делает react-native-design
react-native-design подсказывает, как строить интерфейсы React Native: оформлять компоненты через StyleSheet и styled-components, настраивать React Navigation 6+ и делать анимации с Reanimated 3. Есть рекомендации для адаптивных экранов, iOS и Android, жестовых взаимодействий и оптимизации производительности.
Внутри есть пример карточки на TypeScript с Animated Pressable, useSharedValue, useAnimatedStyle и withSpring. Также разобраны SafeAreaView, useSafeAreaInsets, React.memo, useCallback, FlatList и Platform.select. Для жестов используется Gesture Handler, а для шрифтов упомянуты expo-font и react-native-asset.
Ставьте его, если пишете React Native-приложение и хотите держать навигацию, стили и анимации в одном наборе подсказок. Для проекта без React Native он лишний.
Какие задачи решает
- собрать стили компонентов React Native
- настроить навигацию через React Navigation 6+
- добавить анимацию на Reanimated 3
- сверстать экраны для iOS и Android
- разобраться с жестами и производительностью
Примеры запросов агенту
- Собери карточку товара на TypeScript с Pressable и анимацией на Reanimated 3.
- Настрой типизированную навигацию React Navigation 6+ для экранов приложения.
- Проверь этот экран на safe area, жесты и производительность списка.
Как установить react-native-design
1Через маркетплейс плагинов
/plugin marketplace add wshobson/agents/plugin install ui-design@claude-code-workflows2Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill react-native-design -a claude-code3Вручную: положить файлы
~/.claude/skills/react-native-design/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/react-native-design/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill react-native-design -a codex2Вручную: положить файлы
.agents/skills/react-native-design/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill react-native-design -a cursor2Вручную: положить файлы
.cursor/skills/react-native-design/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install wshobson/agents react-native-design2Вручную: положить файлы
.github/skills/react-native-design/SKILL.mdКомандой платформы
gemini skills install https://github.com/wshobson/agents --path plugins/ui-design/skills/react-native-designВручную: положить файлы
.devin/skills/react-native-design/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Похожие
Вопросы о react-native-design
Как установить react-native-design в Claude Code?
Добавьте репозиторий командой /plugin marketplace add wshobson/agents, затем установите скилл через /plugin install ui-design@claude-code-workflows. Также доступна команда npx skills add wshobson/agents --skill react-native-design -a claude-code.
Что делает react-native-design?
Скилл помогает проектировать React Native-интерфейсы, настраивать React Navigation 6+ и создавать анимации на Reanimated 3. Он также подсказывает решения для адаптивной вёрстки, жестов и платформенных различий.
Какие библиотеки и инструменты нужны для работы?
В материалах используются React Native, React Navigation 6+, Reanimated 3, StyleSheet, styled-components и Gesture Handler. Для шрифтов рассматриваются expo-font и react-native-asset.
Исходный текст
SKILL.md · MIT
---
name: react-native-design
description: Master React Native styling, navigation, and Reanimated animations for cross-platform mobile development. Use when building React Native apps, implementing navigation patterns, or creating performant animations.
---
# React Native Design
Master React Native styling patterns, React Navigation, and Reanimated 3 to build performant, cross-platform mobile applications with native-quality user experiences.
## When to Use This Skill
- Building cross-platform mobile apps with React Native
- Implementing navigation with React Navigation 6+
- Creating performant animations with Reanimated 3
- Styling components with StyleSheet and styled-components
- Building responsive layouts for different screen sizes
- Implementing platform-specific designs (iOS/Android)
- Creating gesture-driven interactions with Gesture Handler
- Optimizing React Native performance
## Detailed section: Core Concepts
Originally a 6471-byte section in this SKILL.md. Moved to `references/details.md` to fit Codex's 8 KB skill body cap.
## Quick Start Component
```typescript
import React from 'react';
import {
View,
Text,
StyleSheet,
Pressable,
Image,
} from 'react-native';
import Animated, {
useSharedValue,
useAnimatedStyle,
withSpring,
} from 'react-native-reanimated';
interface ItemCardProps {
title: string;
subtitle: string;
imageUrl: string;
onPress: () => void;
}
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
export function ItemCard({ title, subtitle, imageUrl, onPress }: ItemCardProps) {
const scale = useSharedValue(1);
const animatedStyle = useAnimatedStyle(() => ({
transform: [{ scale: scale.value }],
}));
return (
<AnimatedPressable
style={[styles.card, animatedStyle]}
onPress={onPress}
onPressIn={() => { scale.value = withSpring(0.97); }}
onPressOut={() => { scale.value = withSpring(1); }}
>
<Image source={{ uri: imageUrl }} style={styles.image} />
<View style={styles.content}>
<Text style={styles.title} numberOfLines={1}>
{title}
</Text>
<Text style={styles.subtitle} numberOfLines={2}>
{subtitle}
</Text>
</View>
</AnimatedPressable>
);
}
const styles = StyleSheet.create({
card: {
backgroundColor: '#ffffff',
borderRadius: 16,
overflow: 'hidden',
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.1,
shadowRadius: 8,
elevation: 4,
},
image: {
width: '100%',
height: 160,
backgroundColor: '#f3f4f6',
},
content: {
padding: 16,
gap: 4,
},
title: {
fontSize: 18,
fontWeight: '600',
color: '#1f2937',
},
subtitle: {
fontSize: 14,
color: '#6b7280',
lineHeight: 20,
},
});
```
## Best Practices
1. **Use TypeScript**: Define navigation and prop types for type safety
2. **Memoize Components**: Use `React.memo` and `useCallback` to prevent unnecessary rerenders
3. **Run Animations on UI Thread**: Use Reanimated worklets for 60fps animations
4. **Avoid Inline Styles**: Use StyleSheet.create for performance
5. **Handle Safe Areas**: Use `SafeAreaView` or `useSafeAreaInsets`
6. **Test on Real Devices**: Simulator/emulator performance differs from real devices
7. **Use FlatList for Lists**: Never use ScrollView with map for long lists
8. **Platform-Specific Code**: Use Platform.select for iOS/Android differences
## Common Issues
- **Gesture Conflicts**: Wrap gestures with `GestureDetector` and use `simultaneousHandlers`
- **Navigation Type Errors**: Define `ParamList` types for all navigators
- **Animation Jank**: Move animations to UI thread with `runOnUI` worklets
- **Memory Leaks**: Cancel animations and cleanup in useEffect
- **Font Loading**: Use `expo-font` or `react-native-asset` for custom fonts
- **Safe Area Issues**: Test on notched devices (iPhone, Android with cutouts)
© Seth Hobson · MIT · wshobson/agents