Token导航 LogoToken导航TokenDH.com
前端设计只读github未标认证来源可访问许可证需确认审计通过

expo-sdkexpo SDK 前端

Agent Skill

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

总安装

659

周安装

28

GitHub Stars

74

下载量

231
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/dralgorhythm/claude-agentic-framework --skill expo-sdk

简介

概述 Expo SDK 54+ 的核心能力,包括文件路由、原生模块与构建工具链。

  • 指导新项目初始化流程,集成 Reanimated、SafeArea 等关键依赖包。
  • 演示如何通过 Root Layout Provider 模式统一管理全局上下文状态。
  • 强调使用 Development Build 获取完整原生模块访问权限的重要性。
  • expo-sdk 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Expo SDK

Overview

Expo SDK 54+ provides a managed React Native development environment with file-based routing (Expo Router), native module access, and streamlined build tooling. This skill covers app configuration, the root layout provider pattern, and key Expo/RN libraries.

Prerequisite: npx create-expo-app or Expo SDK 54+ in package.json

Workflows

Setting up a new Expo demo:

  1. Create project: npx create-expo-app [demo-name] --template blank-typescript
  2. Install core dependencies: pnpm add expo-router expo-image expo-haptics react-native-reanimated react-native-gesture-handler react-native-safe-area-context @gorhom/bottom-sheet @shopify/flash-list lucide-react-native nativewind tailwindcss@3
  3. Configure NativeWind (see nativewind skill)
  4. Set up root layout with provider stack
  5. Configure app.json with scheme, name, splash
  6. Add route groups and screens
  7. Run: pnpm start (Expo dev server)

Adding a new library:

  1. Install with pnpm: pnpm add [library]
  2. Check if Expo config plugin needed in app.json
  3. Rebuild dev client if native module added: npx expo prebuild

Guidance

app.json Configuration

Key fields for demo apps:

FieldPurpose
expo.nameDisplay name
expo.slugURL-safe identifier
expo.schemeDeep link scheme (e.g., myapp)
expo.orientationportrait (default for demos)
expo.splashSplash screen configuration
expo.ios.bundleIdentifieriOS bundle ID
expo.android.packageAndroid package name
expo.pluginsExpo config plugins (e.g., expo-router)

Root Layout Provider Pattern

The root app/_layout.tsx wraps the entire app with providers. Standard order:

GestureHandlerRootView (flex: 1)
  └── SafeAreaProvider
       └── ThemeProvider / Context
            └── Stack (Expo Router)
  • GestureHandlerRootView must be outermost (required by gesture handler and bottom sheets)
  • SafeAreaProvider provides safe area insets to all descendants
  • App-level context providers go between SafeAreaProvider and Stack
  • <Stack screenOptions={{headerShown: false}} /> for custom headers

expo-image (replaces RN Image)

Use expo-image for all image rendering — provides caching, blurhash placeholders, content-fit modes, and animated transitions.

Key props:

  • source — URI string or require() for local images
  • placeholder — blurhash string for loading state
  • contentFit'cover' | 'contain' | 'fill'
  • transition — fade-in duration in ms (e.g., 300)

expo-haptics

Provide tactile feedback on interactions:

  • Haptics.selectionAsync() — light tap for selections, toggles
  • Haptics.impactAsync(ImpactFeedbackStyle.Medium) — button press, card tap
  • Haptics.notificationAsync(NotificationFeedbackType.Success) — action completion

Use sparingly — haptics on every touch is annoying.

Safe Area Insets

Account for device notch, status bar, and home indicator:

  • useSafeAreaInsets() — returns {top, bottom, left, right} in points
  • Apply to screen containers: paddingTop: insets.top
  • NativeWind classes: use pt-[${insets.top}px] or wrap in SafeAreaView

@gorhom/bottom-sheet

Replaces Radix Dialog for mobile modal patterns:

  • Use for detail views, selections, filters, forms
  • Define snap points: snapPoints={['25%', '50%', '90%']}
  • Backdrop: backdropComponent with press-to-dismiss
  • BottomSheetScrollView for scrollable content inside sheets
  • Requires GestureHandlerRootView as ancestor

FlashList (replaces FlatList)

High-performance list rendering from @shopify/flash-list:

  • Drop-in FlatList replacement with mandatory estimatedItemSize prop
  • estimatedItemSize={80} — estimated height of each item in points
  • Recycling architecture for smooth 60fps scrolling
  • Use contentContainerClassName for NativeWind styling

lucide-react-native

Icon library for React Native (matches web lucide-react):

  • Import individual icons: import {Home, Settings, ChevronRight} from 'lucide-react-native'
  • Props: size, color, strokeWidth
  • Consistent icon set across mobile and web codebases

StatusBar

Configure status bar appearance per screen:

  • <StatusBar style="dark" /> for light backgrounds
  • <StatusBar style="light" /> for dark backgrounds
  • Import from expo-status-bar

Best Practices

  • Wrap root layout in GestureHandlerRootView with style={{flex: 1}}
  • Use expo-image for all images (caching, blurhash, performance)
  • Add haptics to primary actions only (buttons, major selections) — not every touch
  • Set estimatedItemSize on all FlashList components
  • Place providers in root _layout.tsx, not in individual screens
  • Use useSafeAreaInsets() for manual padding, SafeAreaView for simple wrapping
  • Test on real device for haptics and performance verification

Anti-Patterns

  • Using React Native Image instead of expo-image
  • Using FlatList for large datasets instead of FlashList
  • Forgetting GestureHandlerRootView (causes bottom sheet and gesture crashes)
  • Overusing haptics on every interaction
  • Hardcoding status bar height instead of using safe area insets
  • Missing estimatedItemSize on FlashList (required prop, console warning)
  • Placing SafeAreaView inside ScrollView (causes layout issues)
  • Not including expo-router plugin in app.json plugins array

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

36.33%
按下载量换算84

Claude

27.44%
按下载量换算63

Cursor

18.15%
按下载量换算42

Gemini CLI

9.73%
按下载量换算22

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills