Community코딩 & 개발github.com

vercel-react-native-skills

React Native 및 Expo 애플리케이션 개발을 위한 모범 사례 가이드입니다. React Native 컴포넌트를 빌드하거나, 리스트 성능을 최적화하거나, 애니메이션을 구현하거나, 네이티브 모듈을 작업할 때 활용하세요.

vercel-react-native-skills란 무엇인가요?

이 스킬은 React Native와 Expo로 모바일 앱을 개발할 때 따라야 할 포괄적인 모범 사례를 제공합니다. 리스트 성능(FlashList 사용, 아이템 메모이제이션, 콜백 안정화), 고성능 애니메이션(transform과 opacity만 애니메이션, useDerivedValue 활용), 네비게이션(네이티브 스택/탭 사용), UI 패턴(expo-image, Pressable, 네이티브 모달), 상태 관리(구독 최소화, 디스패처 패턴), 렌더링 최적화, 모노레포 구성, 폰트 및 임포트 설정 등 8가지 우선순위별 규칙 카테고리로 구성되어 있습니다. 각 규칙은 잘못된 코드 예시와 올바른 코드 예시를 함께 제공하여 실무에 즉시 적용할 수 있도록 돕습니다. Claude Code, Cursor, Codex 등 AI 에이전트가 React Native 관련 작업을 수행할 때 자동으로 참조하여 성능 병목을 방지하고 최신 모범 사례를 따르도록 안내합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/callstackincubator/agent-skills/tree/main/plugins/vendored/.agents/skills/vercel-react-native-skills

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

React Native 스킬

React Native 및 Expo 애플리케이션에 대한 종합적인 모범 사례입니다. 성능, 애니메이션, UI 패턴, 플랫폼별 최적화 등 여러 범주에 걸친 규칙을 포함합니다.

적용 대상

다음 상황에서 이 지침을 참조하세요:

  • React Native 또는 Expo 앱 구축
  • 리스트 및 스크롤 성능 최적화
  • Reanimated를 사용한 애니메이션 구현
  • 이미지 및 미디어 작업
  • 네이티브 모듈 또는 폰트 구성
  • 네이티브 종속성을 포함한 모노레포 프로젝트 구조화

우선순위별 규칙 범주

우선순위범주영향접두사
1리스트 성능중요list-performance-
2애니메이션높음animation-
3내비게이션높음navigation-
4UI 패턴높음ui-
5상태 관리중간react-state-
6렌더링중간rendering-
7모노레포중간monorepo-
8구성낮음fonts-, imports-

빠른 참조

1. 리스트 성능 (중요)

  • list-performance-virtualize - 큰 리스트에는 FlashList 사용
  • list-performance-item-memo - 리스트 아이템 컴포넌트 메모이제이션
  • list-performance-callbacks - 콜백 참조 안정화
  • list-performance-inline-objects - 인라인 스타일 객체 지양
  • list-performance-function-references - 함수를 렌더 외부로 추출
  • list-performance-images - 리스트 내 이미지 최적화
  • list-performance-item-expensive - 비용이 큰 작업을 아이템 외부로 이동
  • list-performance-item-types - 이종 리스트에 아이템 타입 사용

2. 애니메이션 (높음)

  • animation-gpu-properties - transform과 opacity만 애니메이션 대상으로 함
  • animation-derived-value - 계산된 애니메이션에 useDerivedValue 사용
  • animation-gesture-detector-press - Pressable 대신 Gesture.Tap 사용

3. 내비게이션 (높음)

  • navigation-native-navigators - JS 내비게이터보다 네이티브 스택 및 네이티브 탭 사용

4. UI 패턴 (높음)

  • ui-expo-image - 모든 이미지에 expo-image 사용
  • ui-image-gallery - 이미지 라이트박스에 Galeria 사용
  • ui-pressable - TouchableOpacity 대신 Pressable 사용
  • ui-safe-area-scroll - ScrollView에서 안전 영역 처리
  • ui-scrollview-content-inset - 헤더에 contentInset 사용
  • ui-menus - 네이티브 컨텍스트 메뉴 사용
  • ui-native-modals - 가능하면 네이티브 모달 사용
  • ui-measure-views - measure() 대신 onLayout 사용
  • ui-styling - StyleSheet.create 또는 Nativewind 사용

5. 상태 관리 (중간)

  • react-state-minimize - 상태 구독 최소화
  • react-state-dispatcher - 콜백에 디스패처 패턴 사용
  • react-state-fallback - 첫 번째 렌더에서 폴백 표시
  • react-compiler-destructure-functions - React Compiler를 위한 구조 분해
  • react-compiler-reanimated-shared-values - Compiler와 공유 값 처리

6. 렌더링 (중간)

  • rendering-text-in-text-component - 텍스트를 Text 컴포넌트로 감싸기
  • rendering-no-falsy-and - 조건부 렌더링에 falsy && 사용 지양

7. 모노레포 (중간)

  • monorepo-native-deps-in-app - 네이티브 종속성을 앱 패키지에 유지
  • monorepo-single-dependency-versions - 패키지 전체에 단일 버전 사용

8. 구성 (낮음)

  • fonts-config-plugin - 사용자 정의 폰트에 구성 플러그인 사용
  • imports-design-system-folder - 디자인 시스템 가져오기 구성
  • js-hoist-intl - Intl 객체 생성 호이스팅

사용 방법

자세한 설명과 코드 예제는 개별 규칙 파일을 읽으세요:

rules/list-performance-virtualize.md
rules/animation-gpu-properties.md

각 규칙 파일에는 다음이 포함됩니다:

  • 중요한 이유에 대한 간략한 설명
  • 설명이 포함된 잘못된 코드 예제
  • 설명이 포함된 올바른 코드 예제
  • 추가 컨텍스트 및 참조

전체 컴파일된 문서

모든 규칙이 확장된 전체 가이드는 AGENTS.md를 참조하세요.

Individual skills in this repo

This repo contains 15 individual skills — each has its own dedicated page.

agent-device

Automates interactions for Apple-platform apps (iOS, tvOS, macOS) and Android devices. Use when navigating apps, taking snapshots/screenshots, tapping, typing, scrolling, or extracting UI info across mobile, TV, and desktop targets.

assess-react-native-migration

Assesses whether and how an existing mobile product should migrate to React Native. Use when auditing one or more product repositories for migration readiness, including products whose iOS, Android, and other clients live in separate directories or repositories; choosing brownfield, greenfield, or a checkpoint-based path; defining a representative trial; or preparing a baseline and ROI decision before implementation. When product scope or material evidence is unavailable, grills the stakeholder with exactly one question per turn instead of sending a questionnaire.

callstackincubator/github

GitHub patterns using gh CLI for pull requests, stacked PRs, code review, branching strategies, and repository automation. Use when working with GitHub PRs, merging strategies, or repository management tasks.

callstackincubator/validate-skills

Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command.

create-react-native-library

Scaffolds React Native libraries with create-react-native-library for standalone libraries or local native modules and views. Use when creating or working on React Native libraries or adding native functionality in an existing app.

dogfood

Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", or "test this app" on mobile. Produces a structured report with reproducible evidence: screenshots, optional repro videos, and detailed steps for every issue.

github-actions

GitHub Actions workflow patterns for React Native iOS simulator and Android emulator cloud builds with downloadable artifacts. Use when setting up CI build pipelines or downloading GitHub Actions artifacts via gh CLI and GitHub API.

react-native-best-practices

Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Applies to tasks involving Hermes optimization, JS thread blocking, bridge overhead, FlashList, native modules, or debugging jank and frame drops.

react-native-brownfield-migration

Implements an accepted incremental brownfield migration from native iOS or Android to React Native or Expo using @callstack/react-native-brownfield. Use after the brownfield path has been selected, when setting up the integration, packaging XCFramework or AAR artifacts, or adding React Native surfaces to native hosts.

react-native-testing

Write tests using React Native Testing Library (RNTL) v13 and v14 (`@testing-library/react-native`). Use when writing, reviewing, or fixing React Native component tests. Covers: render, screen, queries (getBy/getAllBy/queryBy/findBy), Jest matchers, userEvent, fireEvent, waitFor, and async patterns. Supports v13 (React 18, sync render) and v14 (React 19+, async render). Triggers on: test files for React Native components, RNTL imports, mentions of "testing library", "write tests", "component tests", or "RNTL".

react-native-tv-best-practices

Reviews React Native TV apps for focus/D-pad navigation, 10-foot UI layout, TV playback/DRM integration, low-memory TV performance, and TV accessibility. Use when building, debugging, or reviewing react-native-tvos, Expo TV, Amazon Vega/Kepler, or React Native web TV targets where the issue depends on remote input, TV focus, TV packaging, TV hardware, or TV playback constraints.

react-navigation

Provides React Navigation UI patterns for stacks, tabs, drawers etc. Use when building navigation UIs with React Navigation, configuring headers, bottom sheets or handling safe areas and insets.

upgrading-react-native

Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and Gradle changes, and handling breaking API updates. Use when upgrading React Native, bumping RN version, updating from RN 0.x to 0.y, or migrating Expo SDK alongside a React Native upgrade.

validate-skills

Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command.

writing-user-docs

House style for user-facing documentation — voice, scope, structure, and what to leave out. Use this skill whenever writing, editing, or reviewing anything a user reads to learn how to use a tool — help center articles, getting-started guides, tutorials, feature docs, README usage sections, in-app help, release notes, or FAQ entries. Trigger it even when the request is phrased plainly — "document this feature", "write docs for X", "explain this to users", "write a README for this library", "turn these notes into a guide" — and even when no style guidelines are mentioned. Also use it to review existing docs for tone, bloat, or leaked implementation detail. Do not use it for internal engineering docs, architecture write-ups, RFCs, or code comments.

관련 스킬