skills/mobile_react_native/SKILL.md
--- name: mobile_react_native router_kit: FullStackKit description: React Native best practices, hooks, navigation ve performance optimization. metadata: skillport: category: development tags: [accessibility, api integration, backend, browser apis, client-side, components, css3, debugging, deployment, frameworks, frontend, fullstack, html5, javascript, libraries, mobile react native, node.js, npm, performance optimization, responsive design, seo, state management, testing, typescript,
npx skillsauth add vuralserhat86/antigravity-agentic-skills skills/mobile_react_nativeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
React Native best practices ve performance optimization.
src/
├── components/
│ ├── common/ # Reusable
│ └── screens/ # Screen components
├── hooks/ # Custom hooks
├── services/ # API, storage
├── store/ # State (Zustand)
├── navigation/
└── App.tsx
// FlatList optimizasyonu
<FlatList
data={items}
keyExtractor={(item) => item.id}
removeClippedSubviews={true}
maxToRenderPerBatch={10}
windowSize={5}
getItemLayout={(data, index) => ({
length: ITEM_HEIGHT,
offset: ITEM_HEIGHT * index,
index,
})}
/>
// Memoization
const Component = React.memo(({ data }) => { });
const callback = useCallback(() => {}, [deps]);
const value = useMemo(() => compute(), [deps]);
// ❌ AsyncStorage güvenli değil
// ✅ SecureStore kullan
import * as SecureStore from 'expo-secure-store';
await SecureStore.setItemAsync('token', userToken);
const token = await SecureStore.getItemAsync('token');
type RootStackParamList = {
Home: undefined;
Profile: { userId: string };
};
const Stack = createNativeStackNavigator<RootStackParamList>();
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
const useAuthStore = create(
persist(
(set) => ({
user: null,
login: (user) => set({ user }),
logout: () => set({ user: null }),
}),
{ name: 'auth-storage' }
)
);
import { Platform } from 'react-native';
const padding = Platform.select({ ios: 20, android: 0 });
// Dosya bazlı: Button.ios.tsx, Button.android.tsx
Mobile React Native v1.1 - Enhanced
Kaynak: React Native Performance Guide & Expo Guideline
expo-router v3 kullan.FlatList yerine FlashList (Shopify) kullan (5x performans).expo-image ile caching ve blurhash desteği ekle.Hermes engine'i aktifleştir ve bundle size analizi yap.expo-updates ile store onayı beklemeden OTA (Over-the-Air) güncelleme yap.| Aşama | Doğrulama | |-------|-----------| | 1 | UI thread (JS thread) 60fps'in altına düşüyor mu? | | 2 | Uygulama boyutu (APK/IPA) optimize edildi mi? | | 3 | Android ve iOS davranışları (Navigation, Keyboard) tutarlı mı? |
tools
Production-tested setup for Zustand state management in React. Includes patterns for persistence, devtools, and TypeScript patterns. Prevents hydration mismatches and render loops.
development
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
development
--- name: websocket_engineer router_kit: FullStackKit description: WebSocket specialist for real-time communication systems. Invoke for Socket.IO, WebSocket servers, bidirectional messaging, presence systems. Keywords: WebSocket, Socket.IO, real-time, pub/sub, Redis. triggers: - WebSocket - Socket.IO - real-time communication - bidirectional messaging - pub/sub - server push - live updates - chat systems - presence tracking role: specialist scope: implementation output-format:
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.