React Native Design
SkillMediaThis skill gives an AI agent expert guidance on React Native design: styling with StyleSheet and styled-components, navigation with React Navigation, and performant animations with Reanimated 3. It is used when building React Native apps, implementing navigation patterns, or creating performant animations. It includes example components, best practices like memoization and FlatList usage, and fixes for common issues such as gesture conflicts and animation jank.
Then ask your AI: use the React Native Design skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Have a React Native project set up with the dependencies your app needs.
What your AI can do with it
- Guide styling with StyleSheet and styled-components
- Implement navigation with React Navigation 6+
- Create performant animations with Reanimated 3
- Build responsive layouts for different screen sizes
- Implement platform-specific designs for iOS and Android
- Create gesture-driven interactions with Gesture Handler
Getting started
- Have a React Native project set up with the dependencies your app needs.
- Add the skill to your agent so it can read the React Native design guidance.
- Ask the agent to build or review a screen, navigation flow, or animation.
- Apply the example components and best practices the skill provides.
What this skill tells your AI
The instructions your AI receives, as published by wshobson/agents in plugins/ui-design/skills/react-native-design/SKILL.md and read by Ahel’s review.
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
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
- Use TypeScript: Define navigation and prop types for type safety
- Memoize Components: Use
React.memoanduseCallbackto prevent unnecessary rerenders - Run Animations on UI Thread: Use Reanimated worklets for 60fps animations
- Avoid Inline Styles: Use StyleSheet.create for performance
- Handle Safe Areas: Use
SafeAreaVieworuseSafeAreaInsets - Test on Real Devices: Simulator/emulator performance differs from real devices
- Use FlatList for Lists: Never use ScrollView with map for long lists
- Platform-Specific Code: Use Platform.select for iOS/Android differences
Common Issues
- Gesture Conflicts: Wrap gestures with
GestureDetectorand usesimultaneousHandlers - Navigation Type Errors: Define
ParamListtypes for all navigators - Animation Jank: Move animations to UI thread with
runOnUIworklets - Memory Leaks: Cancel animations and cleanup in useEffect
- Font Loading: Use
expo-fontorreact-native-assetfor custom fonts - Safe Area Issues: Test on notched devices (iPhone, Android with cutouts)
Signals
- GitHub stars
- 40k
- Forks
- 4k
- Last commit
- Oct 2026
Ahel review
K1binfo
installs-packages (in references/navigation-patterns.md)
Automated review, not a security audit. Ruleset v1+k2.
Questions
- What does this skill cover?
- It covers React Native styling with StyleSheet and styled-components, navigation with React Navigation 6+, and performant animations with Reanimated 3, plus example components and fixes for common issues.
- When should I use this skill?
- Use it when building cross-platform mobile apps with React Native, implementing navigation with React Navigation 6+, creating performant animations with Reanimated 3, or optimizing React Native performance.
- Does it include example components?
- Yes. It includes example components, such as an animated card built with Pressable, Reanimated shared values, and StyleSheet.
Advanced
- Item type
- skill
- Key
react-native-design- Source
- github.com/wshobson/agents
Related picks
Skill · mattpocock
The pick for TypeScripttypescript-providers
Skill · composiohq
The pick for TypeScriptanimate-expo
Skill · emilkowalski
The pick for Expoexpo-dev-client
Skill · expo
The pick for Exporeact-component-performance
Skill · davila7
The pick for Reactreact-doctor
Skill · millionco
The pick for React