Master React Native styling, navigation

React native design

by wshobson · MIT license · ★ 39,857 on GitHub · updated Sep 21

React native design cover

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.

---
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

Overview

Master React Native styling patterns, React Navigation, and Reanimated 3 to build performant, cross-platform mobile applications with native-quality user experiences.

Manual install (npx, ZIP)
Claude Codenpx skills add wshobson/agents --skill react-native-design -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/wshobson/agents/tar.gz/4236bb91f839 \ | tar -xz -C ~/.claude/skills --strip-components=4 agents-4236bb91f839/plugins/ui-design/skills/react-native-design
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/31beb2078008e569711e/react-native-design.zip" -OutFile "$env:TEMP\react-native-design.zip"; Expand-Archive "$env:TEMP\react-native-design.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md3.9 KB
  • references/4 files · 61.5 KB
Read the files here
wshobson/4236bb95 files
SKILL.md
Show the full text130 lines

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

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)
1---
2name: react-native-design
3description: 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.
4---
5 
6# React Native Design
7 
8Master React Native styling patterns, React Navigation, and Reanimated 3 to build performant, cross-platform mobile applications with native-quality user experiences.
9 
10## When to Use This Skill
11 
12- Building cross-platform mobile apps with React Native
13- Implementing navigation with React Navigation 6+
14- Creating performant animations with Reanimated 3
15- Styling components with StyleSheet and styled-components
16- Building responsive layouts for different screen sizes
17- Implementing platform-specific designs (iOS/Android)
18- Creating gesture-driven interactions with Gesture Handler
19- Optimizing React Native performance
20 
21## Detailed section: Core Concepts
22 
23Originally a 6471-byte section in this SKILL.md. Moved to `references/details.md` to fit Codex's 8 KB skill body cap.
24 
25## Quick Start Component
26 
27```typescript
28import React from 'react';
29import {
30 View,
31 Text,
32 StyleSheet,
33 Pressable,
34 Image,
35} from 'react-native';
36import Animated, {
37 useSharedValue,
38 useAnimatedStyle,
39 withSpring,
40} from 'react-native-reanimated';
41 
42interface ItemCardProps {
43 title: string;
44 subtitle: string;
45 imageUrl: string;
46 onPress: () => void;
47}
48 
49const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
50 
51export function ItemCard({ title, subtitle, imageUrl, onPress }: ItemCardProps) {
52 const scale = useSharedValue(1);
53 
54 const animatedStyle = useAnimatedStyle(() => ({
55 transform: [{ scale: scale.value }],
56 }));
57 
58 return (
59 <AnimatedPressable
60 style={[styles.card, animatedStyle]}
61 onPress={onPress}
62 onPressIn={() => { scale.value = withSpring(0.97); }}
63 onPressOut={() => { scale.value = withSpring(1); }}
64 >
65 <Image source={{ uri: imageUrl }} style={styles.image} />
66 <View style={styles.content}>
67 <Text style={styles.title} numberOfLines={1}>
68 {title}
69 </Text>
70 <Text style={styles.subtitle} numberOfLines={2}>
71 {subtitle}
72 </Text>
73 </View>
74 </AnimatedPressable>
75 );
76}
77 
78const styles = StyleSheet.create({
79 card: {
80 backgroundColor: '#ffffff',
81 borderRadius: 16,
82 overflow: 'hidden',
83 shadowColor: '#000',
84 shadowOffset: { width: 0, height: 2 },
85 shadowOpacity: 0.1,
86 shadowRadius: 8,
87 elevation: 4,
88 },
89 image: {
90 width: '100%',
91 height: 160,
92 backgroundColor: '#f3f4f6',
93 },
94 content: {
95 padding: 16,
96 gap: 4,
97 },
98 title: {
99 fontSize: 18,
100 fontWeight: '600',
101 color: '#1f2937',
102 },
103 subtitle: {
104 fontSize: 14,
105 color: '#6b7280',
106 lineHeight: 20,
107 },
108});
109```
110 
111## Best Practices
112 
1131. **Use TypeScript**: Define navigation and prop types for type safety
1142. **Memoize Components**: Use `React.memo` and `useCallback` to prevent unnecessary rerenders
1153. **Run Animations on UI Thread**: Use Reanimated worklets for 60fps animations
1164. **Avoid Inline Styles**: Use StyleSheet.create for performance
1175. **Handle Safe Areas**: Use `SafeAreaView` or `useSafeAreaInsets`
1186. **Test on Real Devices**: Simulator/emulator performance differs from real devices
1197. **Use FlatList for Lists**: Never use ScrollView with map for long lists
1208. **Platform-Specific Code**: Use Platform.select for iOS/Android differences
121 
122## Common Issues
123 
124- **Gesture Conflicts**: Wrap gestures with `GestureDetector` and use `simultaneousHandlers`
125- **Navigation Type Errors**: Define `ParamList` types for all navigators
126- **Animation Jank**: Move animations to UI thread with `runOnUI` worklets
127- **Memory Leaks**: Cancel animations and cleanup in useEffect
128- **Font Loading**: Use `expo-font` or `react-native-asset` for custom fonts
129- **Safe Area Issues**: Test on notched devices (iPhone, Android with cutouts)
130 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 39,857
Checked
Source
wshobson/agents ↗
Creator
wshobson · 179 listings
View creator

Similar skills

See all →
SkillEntry point and router for every Expo or EAS task`expo-overview` — router & shared rules for Expo / EASexpo/skills · by expoEntry point and router for every Expo or EAS task. Load this skill first — before writing code and before choosing another expo-* / eas-* skill — when the request, PRD, or spec mentions Expo, EAS, Expo Go, or an expo-* package, or the project has an `expo` dependency in `package.json`. Within that gate it also covers app specs and designs to implement (tabs, stacks, maps, lists, navigation, building from a screenshot), and phrasings like 'implement a mobile app', 'make my app look native', 'add navigation', 'fetch some data', 'upgrade my SDK', 'add Expo to my existing native app', 'ship to the App Store', or 'I'm new to Expo, where do I start'. A fully specified request (SDK pinned, libraries named, layout given) still routes through here — the shared setup rules still apply. Do NOT load it when neither signal is present: a bare React Native project with no `expo` dependency is not Expo work. Detects the real goal, routes to the right expo-* / eas-* skill, and owns the shared setup rules.★ 2.7k GitHub starsSkillAdd an iOS App Clip target to an Expo appAdd an App Clip to an Expo Appexpo/skills · by expoAdd an iOS App Clip target to an Expo app. Use when the user mentions App Clip, AASA, apple-app-site-association, appclips, smart app banner, or wants to ship a lightweight iOS Clip invoked from a URL alongside their parent app.★ 2.7k GitHub starsSkillBuild and submit iOS and Android apps with EAS to TestFlightApp Store Deploymentexpo/skills · by expoBuild and submit iOS and Android apps with EAS to TestFlight, the App Store, or Google Play. Supports Expo and other React Native projects, plus existing native apps. Use for eas.json setup, release pipelines, signing, app versions and build numbers, store submissions, and listing metadata. For Expo websites and API routes, use eas-hosting; for adding React Native screens to a native app, use expo-brownfield.★ 2.7k GitHub starsSkillDesigns with sleekDesigning with Sleeksleekdotdesign/agent-skills · by sleekdotdesignUse when the user wants to design a mobile app or UI screens, when they mention their Sleek (sleek.design) projects, or when implementing Sleek designs in code (HTML, React Native, SwiftUI).★ 583 GitHub starsPromptCreate an advanced music app for Android with featuresBuild an advanced music app for androidf/prompts.chat · by Sami KhanCreate an advanced music app for Android with features similar to Blooome.New listingPromptAct as an expert mobile application developer with masteryMobile app builderf/prompts.chat · by Ersin YılmazAct as an expert mobile application developer with mastery of iOS, Android, and cross-platform development. Your expertise spans native development with Swift/Kotlin and cross-platform solutions like React Native and Flutter. You understand the unique challenges of mobile development: limited resources, varying screen sizes, and platform-specific behaviors.New listing

More from wshobson

SkillMaster C/.NET backend development patterns for buildingwshobson/agents · by wshobsonMaster C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.★ 39.9k GitHub starsSkillImplement WCAG 2.2 compliant interfaces with mobileAccessibility compliancewshobson/agents · by wshobsonImplement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.★ 39.9k GitHub starsSkillMaster Material Design 3 and Jetpack Compose patternsAndroid Mobile Designwshobson/agents · by wshobsonMaster Material Design 3 and Jetpack Compose patterns for building native Android apps. Use when designing Android interfaces, implementing Compose UI, or following Google's Material Design guidelines.★ 39.9k GitHub starsSkillMigrate from AngularJS to Angular using hybrid modeAngular migrationwshobson/agents · by wshobsonMigrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code.★ 39.9k GitHub starsSkillUnderstand anti-reversing, obfuscationAnti reversing techniqueswshobson/agents · by wshobsonUnderstand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.★ 39.9k GitHub starsSkillBuild production Apache Airflow DAGs with best practicesApache Airflow DAG Patternswshobson/agents · by wshobsonBuild production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.★ 39.9k GitHub stars