react-native-design — Claude Code skill: what it does, how to install
This skill guides React Native styling, navigation, and Reanimated animations. Use it when building cross-platform mobile apps or platform-specific screens.
/plugin marketplace add wshobson/agents
/plugin install ui-design@claude-code-workflowsWhat react-native-design does
react-native-design covers practical React Native patterns for styling components with StyleSheet and styled-components, setting up React Navigation 6+, and creating animations with Reanimated 3. It also addresses responsive layouts, iOS and Android differences, gesture-driven interactions, and performance work.
The skill includes a TypeScript item card example built with Animated Pressable, useSharedValue, useAnimatedStyle, and withSpring. Its guidance also covers SafeAreaView, useSafeAreaInsets, React.memo, useCallback, FlatList, and Platform.select. Gesture Handler is used for gesture coordination; expo-font and react-native-asset are mentioned for custom fonts.
Install it when your project is a React Native app and you want focused guidance on navigation, styling, and animation choices. It is a poor fit for non-React Native projects.
What it helps with
- style React Native components consistently
- set up navigation with React Navigation 6+
- add Reanimated 3 interaction animations
- adapt screens for iOS and Android
- diagnose gesture and list performance issues
Example prompts for the agent
- Build a TypeScript item card with Pressable and a Reanimated 3 press animation.
- Set up typed navigation with React Navigation 6+ for this app’s screens.
- Review this screen for safe areas, gesture handling, and list performance.
How to install react-native-design
1Plugin marketplace
/plugin marketplace add wshobson/agents/plugin install ui-design@claude-code-workflowsThis installs the whole ui-design plugin with all its skills
2Skills CLI (Vercel)
npx skills add wshobson/agents --skill react-native-design -a claude-code3Manually: put the files in place
~/.claude/skills/react-native-design/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/react-native-design/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill react-native-design -a codex2Manually: put the files in place
.agents/skills/react-native-design/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill react-native-design -a cursor2Manually: put the files in place
.cursor/skills/react-native-design/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install wshobson/agents react-native-design2Manually: put the files in place
.github/skills/react-native-design/SKILL.mdPlatform CLI
gemini skills install https://github.com/wshobson/agents --path plugins/ui-design/skills/react-native-designManually: put the files in place
.devin/skills/react-native-design/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set213
The whole set →Similar
Questions about react-native-design
How do I install react-native-design in Claude Code?
Add the repository with /plugin marketplace add wshobson/agents, then install it with /plugin install ui-design@claude-code-workflows. You can also run npx skills add wshobson/agents --skill react-native-design -a claude-code.
What does react-native-design do?
It provides guidance for React Native styling, React Navigation 6+, and Reanimated 3 animations. It also covers responsive layouts, gestures, platform-specific code, and performance patterns.
Which libraries and tools does it cover?
The material uses React Native, React Navigation 6+, Reanimated 3, StyleSheet, styled-components, and Gesture Handler. It also discusses expo-font and react-native-asset for custom fonts.
Source text
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