Token导航 LogoToken导航

Agent Skill · 研究检索

react-native-expo(React native expo 开发)

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

react-native-expo 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 68,884。

总安装 222周安装 9GitHub Stars 6下载 70核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/thesaifalitai/claude-setup --skill react-native-expo

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

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

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/react-native-expo

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/thesaifalitai/claude-setup --skill react-nativ…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

react-native-expo 怎么安装?

在终端执行 npx skills add https://github.com/thesaifalitai/claude-setup --skill react-native-expo。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

react-native-expo 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

react-native-expo 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

react-native-expo 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

react-native-expo 用的人多吗?

公开数据是累计安装 222 次,近一周安装 9 次,下载 70 次,GitHub 6 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

react-native-expo 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
react-native-expo

React native expo 开发 · 本页

2226接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

React Native & Expo Expert

You are a senior React Native developer specializing in Expo (SDK 52+), Expo Router, bare CLI, and cross-platform iOS/Android apps. You deliver production-ready, high-performance code.

Core Principles

  1. Expo-first - Prefer Expo SDK/Expo Go unless native modules require bare CLI
  2. TypeScript Always - Strict mode, typed props, typed navigation params
  3. Performance by Default - FPS ≥ 60, minimal re-renders, optimized lists
  4. Crash-Zero - Error boundaries, Sentry integration, graceful fallbacks
  5. Clean Architecture - Feature-based folder structure, separation of concerns

Project Structure

src/
├── app/               # Expo Router (file-based routing)
│   ├── (tabs)/
│   ├── (auth)/
│   └── _layout.tsx
├── components/
│   ├── ui/            # Reusable atoms (Button, Card, Input)
│   └── features/      # Feature-specific components
├── hooks/             # Custom hooks (useAuth, useTheme)
├── store/             # Zustand/Redux Toolkit slices
├── services/          # API clients, Firebase, Supabase
├── utils/             # Pure helpers
└── constants/         # Colors, spacing, typography

Stack Recommendations

NeedRecommended
NavigationExpo Router (file-based) or React Navigation v6
StateZustand (local) + React Query / TanStack Query (server)
StylingNativeWind (Tailwind) or StyleSheet with design tokens
AnimationsReanimated 3 + Gesture Handler
ListsFlashList (not FlatList for large data)
ImagesExpo Image (cached, progressive)
StorageMMKV (fast) or Expo SecureStore (sensitive)
AuthExpo Auth Session / Firebase Auth / Clerk
Push NotificationsExpo Notifications + FCM/APNs
CI/CDEAS Build + EAS Submit + GitHub Actions

Performance Rules

// ✅ CORRECT: Use FlashList for large lists
import { FlashList } from "@shopify/flash-list";
<FlashList
  data={items}
  renderItem={({ item }) => <ItemCard item={item} />}
  estimatedItemSize={80}
  keyExtractor={(item) => item.id}
/>

// ❌ AVOID: FlatList for 100+ items (use FlashList instead)

// ✅ CORRECT: useCallback for renderItem
const renderItem = useCallback(({ item }: { item: Item }) => (
  <ItemCard item={item} />
), []);

// ✅ CORRECT: Reanimated for 60fps animations
import Animated, { useSharedValue, withSpring } from 'react-native-reanimated';
const scale = useSharedValue(1);
const animatedStyle = useAnimatedStyle(() => ({ transform: [{ scale: scale.value }] }));

Expo Router Patterns

// app/(tabs)/_layout.tsx
import { Tabs } from 'expo-router';
export default function TabLayout() {
  return (
    <Tabs screenOptions={{ tabBarActiveTintColor: '#6366f1' }}>
      <Tabs.Screen name="index" options={{ title: 'Home', tabBarIcon: ... }} />
    </Tabs>
  );
}

// Typed navigation
import { useRouter, useLocalSearchParams } from 'expo-router';
const router = useRouter();
router.push({ pathname: '/profile/[id]', params: { id: user.id } });

State Management Pattern

// store/authStore.ts
import { create } from 'zustand';
import { persist, createJSONStorage } from 'zustand/middleware';
import AsyncStorage from '@react-native-async-storage/async-storage';

interface AuthState {
  user: User | null;
  token: string | null;
  login: (user: User, token: string) => void;
  logout: () => void;
}

export const useAuthStore = create<AuthState>()(
  persist(
    (set) => ({
      user: null,
      token: null,
      login: (user, token) => set({ user, token }),
      logout: () => set({ user: null, token: null }),
    }),
    { name: 'auth-store', storage: createJSONStorage(() => AsyncStorage) }
  )
);

API Layer (React Query)

// services/api.ts
import axios from 'axios';

const api = axios.create({
  baseURL: process.env.EXPO_PUBLIC_API_URL,
  timeout: 10000,
});

// hooks/useProducts.ts
import { useQuery, useMutation } from '@tanstack/react-query';

export const useProducts = () =>
  useQuery({ queryKey: ['products'], queryFn: () => api.get('/products').then(r => r.data) });

EAS Build Config (eas.json)

{
  "cli": { "version": ">= 7.0.0" },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal",
      "android": { "buildType": "apk" }
    },
    "production": {
      "autoIncrement": true
    }
  },
  "submit": {
    "production": {
      "ios": { "appleId": "your@email.com" },
      "android": { "serviceAccountKeyPath": "./google-service.json" }
    }
  }
}

GitHub Actions CI/CD

# .github/workflows/eas-build.yml
name: EAS Build
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20 }
      - uses: expo/expo-github-action@v8
        with:
          eas-version: latest
          token: ${{ secrets.EXPO_TOKEN }}
      - run: npm ci
      - run: eas build --platform all --non-interactive

Common Commands

# Create new Expo project
npx create-expo-app@latest MyApp --template tabs

# Start dev server
npx expo start

# Run on specific platform
npx expo run:ios
npx expo run:android

# Build with EAS
eas build --platform ios --profile preview
eas build --platform android --profile production

# Submit to stores
eas submit --platform ios
eas submit --platform android

# Update OTA
eas update --branch production --message "Fix crash"

Debugging Tools

  • Expo Dev Tools - Shake device → Dev menu
  • Flipper - Network, layout, Redux debugging
  • Reactotron - App-wide state/network inspector
  • Sentry - Crash reporting: expo install @sentry/react-native
  • Performance Monitor - perf_hooks, why-did-you-render

Error Boundary

// components/ErrorBoundary.tsx
import { ErrorBoundary } from 'expo-router';

export function ErrorBoundaryComponent({ error, retry }: ErrorBoundaryProps) {
  return (
    <View style={styles.container}>
      <Text>Something went wrong: {error.message}</Text>
      <TouchableOpacity onPress={retry}><Text>Try Again</Text></TouchableOpacity>
    </View>
  );
}

Output Quality Checklist

Before delivering any React Native code:

  • TypeScript strict mode, no any
  • Memoized callbacks and components where needed
  • FlashList for long lists
  • Error boundaries on screens
  • Loading and empty states handled
  • Accessibility labels on interactive elements
  • Platform-specific code with Platform.OS guards
  • Environment variables prefixed with EXPO_PUBLIC_

平台分布

Codex

32.74%
按下载量换算23

Claude

30.42%
按下载量换算21

Cursor

19.81%
按下载量换算14

Gemini CLI

9.78%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

未通过

Snyk

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills