Awesome-jetbrains-claude rn-dev
Professional React Native/Expo development. Covers component creation, Redux Toolkit slices, RTK Query APIs with optimistic updates and infinite scroll, custom hooks, Expo Router screens, and TypeScript patterns. Use this skill when working on any frontend code - creating or editing components, adding Redux state/API endpoints, writing custom hooks, building screens, or following project conventions. Triggers on any React Native, Redux, RTK Query, Expo Router, or component design task within this project.
git clone https://github.com/IliyaBrook/awesome-jetbrains-claude
T=$(mktemp -d) && git clone --depth=1 https://github.com/IliyaBrook/awesome-jetbrains-claude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/rn-dev" ~/.claude/skills/iliyabrook-awesome-jetbrains-claude-rn-dev && rm -rf "$T"
.claude/skills/rn-dev/SKILL.mdProject Stack
- React 19 + React Native 0.81 + Expo 54
- Redux Toolkit + RTK Query (server state)
- TypeScript strict mode
- StyleSheet.create() + Colors/FontStyles from
@/styles - React Native Reanimated for animations
- Expo Router (file-based routing)
- Gluestack UI (low-level primitives in
)components/ui/
Critical Rules
- Barrel exports — every new file MUST be exported from its
index.ts - Named exports only — no
for components/hooks (slices use default for reducer only)export default - DRY — extract shared logic into hooks or utils, never copy-paste
- Types co-located — export interfaces from the file that defines them (slice, API, component)
- Imports — use path aliases:
,@/styles
,@/store
,@/hooks
,@/components@/constants - MongoDB IDs — all entity IDs use
field_id
Workflow: New Component
- Create
(orcomponents/ComponentName.tsx
for feature groups)components/featureName/ComponentName.tsx - Define and export
interfaceComponentNameProps - Export named function component
- Use
withStyleSheet.create()
/Colors
fromFontStyles@/styles - Add export to
(and featurecomponents/index.ts
if grouped)index.ts
See references/components.md for templates and variant patterns.
Workflow: New Redux Slice
- Create
store/slices/featureSlice.ts - Define state interface, initial state, reducers, selectors
- Export actions (named), reducer (default), types, selectors
- Register in
andstore/slices/index.tsstore/index.ts
See references/redux.md for slice template and store registration.
Workflow: New RTK Query API
- Create
store/api/featureApi.ts - Use
withcreateApibaseQueryWithReauth - Define types, endpoints (queries + mutations), tag-based caching
- Export auto-generated hooks
- Register in
(reducer + middleware + re-export)store/index.ts
For optimistic updates: use
onQueryStarted + api.util.updateQueryData + undo() on error.
For infinite scroll: use serializeQueryArgs + merge + forceRefetch pattern.
See references/redux.md for full API template, optimistic updates, and infinite scroll patterns.
Workflow: New Custom Hook
- Create
hooks/useFeatureName.ts - Export
,UseFeatureNameOptions
interfacesUseFeatureNameResult - Export named function
useFeatureName - Use
for functions,useCallback
for computed valuesuseMemo - Add export to
hooks/index.ts
See references/hooks.md for hook templates and patterns.
Workflow: New Screen (Expo Router)
- Create file in
following Expo Router conventions:app/- Tab screen:
app/(tabs)/screen-name.tsx - Route group:
app/(group-name)/screen-name.tsx - Modal: set
in parent layoutpresentation: 'transparentModal'
- Tab screen:
- Use
component for safe area + layoutScreenWrapper - Connect to Redux via
/useAppSelector
or RTK Query hooksuseAppDispatch - Navigation:
,router.push()
,router.replace()router.back()
Reference Files
- references/components.md — component templates, variant pattern, barrel exports, styling guide
- references/redux.md — slice template, RTK Query API template, infinite scroll, optimistic updates, store registration
- references/hooks.md — hook template, options/result pattern, cache-reading hooks, animation hooks