react-native-guidelines — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited react-native-guidelines (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Part of Agent Skills™ by googleadsagent.ai™
React Native Guidelines codifies 16 rules across 7 sections—Performance, Layout, Animation, Images, State, Architecture, and Platform—that prevent the most common pitfalls in cross-platform mobile development. Each rule addresses a specific failure mode unique to React Native's bridge architecture and native rendering pipeline.
React Native's performance characteristics differ fundamentally from web React. The JavaScript thread, the UI thread, and the native modules thread communicate asynchronously, and bottlenecks in any thread degrade the user experience. These guidelines focus on keeping the JS thread unblocked, using the native driver for animations, optimizing FlatList rendering, and minimizing bridge crossings.
The rules are calibrated for production applications running on both iOS and Android. Platform-specific behaviors, gesture handling differences, and navigation patterns are addressed explicitly rather than treated as edge cases.
graph TD
A[React Native Code] --> B{Section Analysis}
B --> C[Performance: JS Thread Budget]
B --> D[Layout: Flexbox + Safe Areas]
B --> E[Animation: Native Driver]
B --> F[Images: Caching + Sizing]
B --> G[State: Minimal Re-renders]
B --> H[Architecture: Navigation + Deep Links]
B --> I[Platform: iOS/Android Specifics]
C --> J[Optimized Output]
D --> J
E --> J
F --> J
G --> J
H --> J
I --> JEach section contains 2-3 focused rules targeting the highest-impact issues in that category. Rules are applied during code generation and flagged during review.
// BAD: Re-creates renderItem on every render
<FlatList
data={items}
renderItem={({ item }) => <Card item={item} />}
/>
// GOOD: Stable renderItem + keyExtractor + windowing config
const renderItem = useCallback(
({ item }: { item: Item }) => <Card item={item} />,
[]
);
<FlatList
data={items}
renderItem={renderItem}
keyExtractor={item => item.id}
getItemLayout={(_, index) => ({
length: CARD_HEIGHT,
offset: CARD_HEIGHT * index,
index,
})}
maxToRenderPerBatch={10}
windowSize={5}
removeClippedSubviews
/>// BAD: JS-driven animation blocks the thread
Animated.timing(opacity, {
toValue: 1,
duration: 300,
useNativeDriver: false,
}).start();
// GOOD: Native driver runs on UI thread
Animated.timing(opacity, {
toValue: 1,
duration: 300,
useNativeDriver: true,
}).start();
// BEST: Reanimated for gesture-driven animations
const animatedStyle = useAnimatedStyle(() => ({
transform: [{ translateX: withSpring(offset.value) }],
}));import { useSafeAreaInsets } from "react-native-safe-area-context";
function Screen({ children }: PropsWithChildren) {
const insets = useSafeAreaInsets();
return (
<View style={{ paddingTop: insets.top, paddingBottom: insets.bottom }}>
{children}
</View>
);
}useNativeDriver: true for all opacity and transform animationsStyleSheet.create for static styles| Platform | Support | Notes |
|---|---|---|
| Cursor | Full | React Native project support |
| VS Code | Full | React Native Tools extension |
| Windsurf | Full | Mobile development support |
| Claude Code | Full | Code generation + review |
| Cline | Full | React Native aware |
| aider | Partial | Limited mobile context |
react-native mobile performance flatlist native-driver animation safe-area cross-platform ios android
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.