AlshehriAli0
- 5 skills
- 0 followers
- 1 day ago last updated
- ▌ Lahjh · alshehriali0 bundleWrite Saudi Arabic for apps and websites — localizing UI strings and product copy, naming a feature in Arabic, or reviewing Arabic that reads like a translation. Use when Arabic must feel like a message from someone who knows the person, rather than English wearing Arabic words.
- ▌ Expo UI Full Reference · alshehriali0 bundleBuild native UI from React with @expo/ui: real SwiftUI on iOS and Jetpack Compose on Android, in an Expo or React Native + TypeScript app. Use whenever building or reviewing native-feeling UI that plain React Native handles poorly: a settings screen, grouped form, native picker, context menu, action/bottom sheet, segmented control, toggle, slider, or any Host/RNHostView tree. Also when choosing universal ('@expo/ui') vs platform-specific ('@expo/ui/swift-ui', '@expo/ui/jetpack-compose') components, applying SwiftUI/Compose modifiers, swapping an RN community library for an '@expo/ui/community/*' drop-in, or fixing 'Unable to get view config' crashes. Not for custom native modules, Expo Router navigation, Reanimated, or data fetching.
- ▌ Implementing Legend State · alshehriali0 bundleImplement Legend-State (v3), the signal-based @legendapp/state library, as the primary state layer in a React or React Native app. Use when a task names Legend-State or @legendapp/state; when adding, refactoring, or designing state management in a project that uses (or is moving to) Legend-State; when migrating from Zustand, Redux, Jotai, Recoil, or plain TanStack Query; or when reviewing or fixing existing Legend-State code. Covers observables, useValue, global stores, computed/derived state, fine-grained reactivity (For/Show/Switch/Memo), local persistence (MMKV, AsyncStorage, localStorage, IndexedDB, expo-sqlite), and remote sync (synced, syncedCrud, Supabase, TanStack Query, fetch, Keel).
- ▌ Tanstack Query Best Practices · alshehriali0 bundleProduction conventions for TanStack Query (React Query): a five-file feature folder (types/requests/keys/queries/mutations), queryOptions() key factories with a single all() root per feature for hierarchical invalidation, QueryConfig/MutationConfig type helpers, optimistic updates with rollback, and useInfiniteQuery patterns. Use when adding, refactoring, or reviewing server-state or data-fetching code — useQuery, useMutation, useInfiniteQuery, queryClient, .queries.ts/.mutations.ts files — even when the user doesn't name the library.
- ▌ React Native Unistyles Conventions · alshehriali0 bundleOpinionated production conventions for react-native-unistyles v3 (React Native / Expo): Tailwind-style theme scales, dynamic-function styling over conditional arrays, gap-over-margin, theme-only values. Use when styling or theming React Native / Expo components, writing or refactoring StyleSheet.create, converting RN StyleSheet to unistyles, or setting up unistyles. Bundles the upstream unistyles v3 skill (jpudysz) for foundational API and setup.