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.

install
source · Clone the upstream repo
git clone https://github.com/IliyaBrook/awesome-jetbrains-claude
Claude Code · Install into ~/.claude/skills/
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"
manifest: .claude/skills/rn-dev/SKILL.md
source content

Project 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

  1. Barrel exports — every new file MUST be exported from its
    index.ts
  2. Named exports only — no
    export default
    for components/hooks (slices use default for reducer only)
  3. DRY — extract shared logic into hooks or utils, never copy-paste
  4. Types co-located — export interfaces from the file that defines them (slice, API, component)
  5. Imports — use path aliases:
    @/styles
    ,
    @/store
    ,
    @/hooks
    ,
    @/components
    ,
    @/constants
  6. MongoDB IDs — all entity IDs use
    _id
    field

Workflow: New Component

  1. Create
    components/ComponentName.tsx
    (or
    components/featureName/ComponentName.tsx
    for feature groups)
  2. Define and export
    ComponentNameProps
    interface
  3. Export named function component
  4. Use
    StyleSheet.create()
    with
    Colors
    /
    FontStyles
    from
    @/styles
  5. Add export to
    components/index.ts
    (and feature
    index.ts
    if grouped)

See references/components.md for templates and variant patterns.

Workflow: New Redux Slice

  1. Create
    store/slices/featureSlice.ts
  2. Define state interface, initial state, reducers, selectors
  3. Export actions (named), reducer (default), types, selectors
  4. Register in
    store/slices/index.ts
    and
    store/index.ts

See references/redux.md for slice template and store registration.

Workflow: New RTK Query API

  1. Create
    store/api/featureApi.ts
  2. Use
    createApi
    with
    baseQueryWithReauth
  3. Define types, endpoints (queries + mutations), tag-based caching
  4. Export auto-generated hooks
  5. Register in
    store/index.ts
    (reducer + middleware + re-export)

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

  1. Create
    hooks/useFeatureName.ts
  2. Export
    UseFeatureNameOptions
    ,
    UseFeatureNameResult
    interfaces
  3. Export named function
    useFeatureName
  4. Use
    useCallback
    for functions,
    useMemo
    for computed values
  5. Add export to
    hooks/index.ts

See references/hooks.md for hook templates and patterns.

Workflow: New Screen (Expo Router)

  1. Create file in
    app/
    following Expo Router conventions:
    • Tab screen:
      app/(tabs)/screen-name.tsx
    • Route group:
      app/(group-name)/screen-name.tsx
    • Modal: set
      presentation: 'transparentModal'
      in parent layout
  2. Use
    ScreenWrapper
    component for safe area + layout
  3. Connect to Redux via
    useAppSelector
    /
    useAppDispatch
    or RTK Query hooks
  4. 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