
React Native Design
FreeMaster styling, navigation, and animations for React Native apps.
Free · Opens the source repo
What React Native Design does
React Native Design is a comprehensive skill aimed at developers looking to enhance their mobile applications with native-quality user experiences. This skill focuses on three core areas: styling patterns, navigation techniques, and creating animations using Reanimated 3. By leveraging these concepts, developers can build performant, cross-platform applications that feel seamless on both iOS and Android devices.
The skill provides guidance on implementing React Navigation 6+, which is essential for managing transitions between different screens in your app. It also covers the use of styled-components and StyleSheet for styling, ensuring that your UI is not only visually appealing but also optimized for performance. Additionally, the skill emphasizes the importance of responsive design, allowing applications to adapt to various screen sizes and orientations.
A key feature of this skill is its focus on animations, which can significantly enhance user engagement. By utilizing Reanimated 3, developers can create smooth, gesture-driven interactions that run at 60 frames per second, ensuring a fluid experience. The skill also includes best practices for handling common issues, such as gesture conflicts and memory leaks, providing developers with the tools they need to troubleshoot effectively.
Overall, React Native Design is ideal for developers and designers who are building or enhancing mobile applications using React Native. Whether you are new to the framework or looking to refine your skills, this skill offers valuable insights and practical examples to elevate your app development process.
When to use it
Use this skill when building cross-platform mobile apps that require robust navigation, responsive design, and engaging animations.
When not to use it
This skill may not be suitable for developers working with non-React Native frameworks or those who do not require advanced animation techniques.
What you can build with it
Building a New Mobile App
Leverage this skill to implement best practices in styling and navigation while developing a new cross-platform mobile application.
Enhancing an Existing App
Use the skill to refine the user experience of an existing React Native app by adding animations and optimizing performance.
Creating Responsive Designs
Utilize the guidelines provided to ensure your app looks great on all devices, adapting layouts for various screen sizes.
How to install React Native Design
View source1. Install with the skills CLI
npx skills add wshobson/agents/react-native-design --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by wshobsonReact 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
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)
Frequently asked questions about React Native Design
Similar skills
Android App Development
Comprehensive guide for Android and cross-platform app development.
Add App Clip to Expo App
Integrate lightweight iOS App Clips into your Expo project.
APK Reverse
Streamline your Android APK reverse engineering process.
Swift Expert
Master iOS/macOS development with Swift and SwiftUI.
React Native Expert
Build and optimize mobile apps with React Native and Expo.
Kotlin Specialist
Master idiomatic Kotlin with expert patterns and practices.
