Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问clear审计通过

react-native-specialistReact native specialist 前端

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

2,864

周安装

117

GitHub Stars

76

下载量

917
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:react-native-specialist(React native specialist 前端)
来源仓库:https://github.com/404kidwiz/claude-supercode-skills
仓库路径:skills/react-native-specialist
安装命令:
npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill react-native-specialist
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill react-native-specialist

简介

专注于 React Native 应用开发,提供组件构建、样式设计和交互逻辑实现的专业支持。

  • 适用于移动端跨平台 UI 开发,涵盖主流框架如 React、Next.js、Vue 及 Tailwind CSS 等。
  • 通过生成或审查代码片段,协助整理组件结构并定位布局与性能问题。
  • 需结合项目现有设计系统和路由配置,避免生成孤立代码片段。
  • 涉及页面改动时建议配合本地预览工具验证实际渲染效果。

SKILL.md

React Native Specialist

Purpose

Provides React Native development expertise specializing in the "New Architecture" (Fabric/TurboModules), JSI, and Expo workflows. Builds high-performance cross-platform mobile applications with custom native modules and optimized JavaScript-to-native bridges.

When to Use

  • Building high-performance React Native apps with the New Architecture
  • Writing custom Native Modules or View Managers (TurboModules/Fabric)
  • Configuring Expo pipelines (EAS Build, Updates, Config Plugins)
  • Debugging native crashes (Xcode/Android Studio) or bridge bottlenecks
  • Migrating from Old Architecture (Bridge) to New Architecture (JSI)
  • Integrating complex native SDKs (Maps, WebRTC, Bluetooth)

Examples

Example 1: New Architecture Migration

Scenario: Migrating a large production app from Bridge to Fabric/TurboModules.

Implementation:

  1. Enabled New Architecture flags progressively
  2. Converted Native Modules to TurboModules
  3. Implemented Fabric components for complex UIs
  4. Used Codegen to generate native bridge code
  5. Tested thoroughly with new architecture enabled

Results:

  • 40% faster UI rendering
  • 30% smaller bundle size
  • Improved type safety across native boundaries
  • Better crash reporting and debugging

Example 2: Custom Native Module

Scenario: Need to integrate Bluetooth Low Energy for a fitness app.

Implementation:

  1. Created TypeScript Native Module interface
  2. Implemented native code (Swift for iOS, Kotlin for Android)
  3. Exposed RNTurboModule for cross-platform access
  4. Added proper memory management and lifecycle handling
  5. Implemented comprehensive error handling

Results:

  • BLE operations working seamlessly on both platforms
  • Type-safe bridge prevents runtime errors
  • 50% less code than traditional native modules
  • Maintained through RN upgrades

Example 3: Performance Optimization

Scenario: App experiencing janky scrolling and memory issues.

Implementation:

  1. Enabled Hermes engine
  2. Replaced FlatList with FlashList
  3. Implemented memoization (useMemo, useCallback)
  4. Added lazy loading for images and heavy components
  5. Optimized native bridge communication

Results:

  • Scrolling now consistently 60fps
  • Memory usage reduced by 40%
  • App launch time reduced by 35%
  • Crash rate reduced by 60%

Best Practices

Architecture

  • New Architecture: Enable and use Fabric/TurboModules
  • Native Modules: Use Codegen for type safety
  • Navigation: Use React Navigation or Expo Router
  • State Management: Choose appropriate solution (Zustand, Redux)

Performance

  • Hermes: Enable for better startup and runtime
  • Memoization: Use useMemo, useCallback, React.memo
  • Lists: Use FlashList for large lists
  • Images: Lazy load and cache appropriately

Native Integration

  • Lifecycle Management: Handle app state changes
  • Error Boundaries: Catch native errors gracefully
  • Permissions: Request and handle gracefully
  • Testing: Test on both platforms regularly

Development

  • Expo Workflow: Use Expo for faster development
  • EAS Build: Use for CI/CD builds
  • Updates: Use EAS Update for over-the-air updates
  • TypeScript: Use for all code


2. Decision Framework

Architecture Selection

Which architecture to use?
│
├─ **New Architecture (Default for 0.76+)**
│  ├─ **TurboModules:** Lazy-loaded native modules (Sync/Async).
│  ├─ **Fabric:** C++ Shadow Tree for UI (No bridge serialization).
│  ├─ **Codegen:** Type-safe spec for Native <-> JS communication.
│  └─ **Bridgeless Mode:** Removes the legacy bridge entirely.
│
└─ **Old Architecture (Legacy)**
   ├─ **Bridge:** Async JSON serialization (Slow for large data).
   └─ **Maintenance:** Only for unmigrated legacy libraries.

Expo vs CLI

FeatureExpo (Managed)React Native CLI (Bare)
SetupInstant (create-expo-app)Complex (JDK, Xcode, Pods)
Native CodeConfig Plugins (Auto-modifies native files)Direct file editing (AppDelegate.m)
Upgradesnpx expo install --fix (Stable sets)Manual diffing (Upgrade Helper)
BuildsEAS Build (Cloud)Local or CI (Fastlane)
UpdatesEAS Update (OTA)CodePush (Microsoft)

Performance Strategy

  1. JSI: Direct C++ calls. No JSON serialization.
  2. Reanimated: UI thread animations (Worklets).
  3. FlashList: Recycling views (replaces FlatList).
  4. Hermes: Bytecode precompilation (Instant startup).

Red Flags → Escalate to mobile-developer (Native):

  • Modifying the React Native engine core (C++)
  • Debugging obscure ProGuard/R8 crashes
  • Writing low-level Metal/OpenGL renderers from scratch


3. Core Workflows

Workflow 1: Creating a TurboModule (New Arch)

Goal: Access native battery level synchronously via JSI.

Steps:

  1. Define Spec (NativeBattery.ts) import type {TurboModule} from 'react-native'; import {TurboModuleRegistry} from 'react-native'; export interface Spec extends TurboModule {getBatteryLevel(): number;} export default TurboModuleRegistry.getEnforcing<Spec>('RTNBattery');
  2. Generate Code

- Run yarn codegen. Generates C++ interfaces.

  1. Implement iOS (RTNBattery.mm) - (NSNumber *)getBatteryLevel {[UIDevice currentDevice].batteryMonitoringEnabled = YES; return @([UIDevice currentDevice].batteryLevel);} - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule: (const facebook::react::ObjCTurboModule::InitParams &)params {return std::make_shared<facebook::react::NativeBatterySpecJSI>(params);}
  2. Implement Android (BatteryModule.kt) class BatteryModule(context: ReactApplicationContext): NativeBatterySpec(context) {override fun getName() = "RTNBattery" override fun getBatteryLevel(): Double {val manager = context.getSystemService(Context.BATTERY_SERVICE) as BatteryManager return manager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY).toDouble()}}


Workflow 3: Reanimated Worklets

Goal: 60fps drag gesture on the UI thread.

Steps:

  1. Setup import {useSharedValue, useAnimatedStyle, withSpring} from 'react-native-reanimated'; import {GestureDetector, Gesture} from 'react-native-gesture-handler';
  2. Implementation function Ball() {const offset = useSharedValue({x: 0, y: 0}); const gesture = Gesture.Pan().onUpdate((e) => {// Runs on UI thread offset.value = {x: e.translationX, y: e.translationY};}).onEnd(() => {offset.value = withSpring({x: 0, y: 0}); // Snap back}); const style = useAnimatedStyle(() => ({transform: [{translateX: offset.value.x}, {translateY: offset.value.y}]})); return (<GestureDetector gesture={gesture}> <Animated.View style={[styles.ball, style]} /> </GestureDetector>);}


5. Anti-Patterns & Gotchas

❌ Anti-Pattern 1: "Bridge Crossing" Animations

What it looks like:

  • Using Animated.timing with useNativeDriver: false.
  • Calculating layout in useEffect and setState.

Why it fails:

  • Runs on JS thread. Drops frames if JS is busy (fetching data).

Correct approach:

  • Use Reanimated or useNativeDriver: true.

❌ Anti-Pattern 2: Large Bundles without Hermes

What it looks like:

  • JSC (JavaScriptCore) used on Android.
  • Startup takes 5 seconds.

Why it fails:

  • JSC parses JS at runtime. Hermes runs precompiled bytecode.

Correct approach:

  • Enable Hermes in podfile / build.gradle (Default in new Expo).

❌ Anti-Pattern 3: Styles in Render

What it looks like:

  • style={{width: 100, height: 100}}

Why it fails:

  • Creates new object every render. Forces diffing.

Correct approach:

  • StyleSheet.create or const style = {...} outside component.


7. Quality Checklist

Performance:

  • Hermes: Enabled.
  • Memoization: useMemo/useCallback used for expensive props.
  • Lists: FlashList used instead of FlatList.

Architecture:

  • New Arch: Fabric/TurboModules enabled (if libraries support).
  • Navigation: Native screens used (React Navigation / Expo Router).

Native:

  • Permissions: Handled gracefully (not crashing if denied).
  • Upgrades: React Native version is recent (within 2 minor versions).

Anti-Patterns

Architecture Anti-Patterns

  • Bridge Overuse: Heavy use of Old Architecture bridge - migrate to New Architecture
  • Unnecessary Native: Pure JS logic wrapped in native - keep it simple
  • State Management Sprawl: Multiple conflicting state solutions - standardize on one
  • Navigation Nesting: Deeply nested navigators - keep navigation shallow

Performance Anti-Patterns

  • Re-render Everything: No React.memo or optimization - optimize component re-renders
  • FlatList Abuse: Using FlatList for all lists - use appropriate list components
  • Memory Leaks: Not cleaning up subscriptions - use cleanup in useEffect
  • Bridge Bottleneck: Heavy bridge communication - minimize cross-bridge calls

Development Anti-Patterns

  • Debug Mode in Production: Not building for production - always test production builds
  • No Hermes: Not using Hermes engine - enable for better performance
  • Large Bundles: No bundle optimization - use RAM bundles and compression
  • Manual Linking: Manual native linking when not needed - use autolinking

Testing Anti-Patterns

  • No E2E Testing: Only unit tests - add Maestro or Detox tests
  • Platform Conditionals: Too many platform checks - abstract platform differences
  • Hardcoded Dimensions: Fixed pixel values - use relative sizing
  • Missing testID: No accessibility identifiers - add testID for testing

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.92%
按下载量换算256

OpenCode

22.45%
按下载量换算206

Gemini CLI

18.63%
按下载量换算171

Codex

12.4%
按下载量换算114

Cursor

6.95%
按下载量换算64

Antigravity

2.92%
按下载量换算27

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills