expo-brownfield 是做什麼的?
將 Expo 和 React Native 整合到現有的原生 iOS 或 Android 應用程式中。當使用者提到 brownfield、將 React Native 嵌入原生應用程式、AAR/XCFramework,或將 Expo 添加到現有的 Kotlin/Swift 專案時使用。涵蓋隔離式方法與整合式方法。
將 Expo 和 React Native 整合到現有的原生 iOS 或 Android 應用程式中。當使用者提到 brownfield、將 React Native 嵌入原生應用程式、AAR/XCFramework,或將 Expo 添加到現有的 Kotlin/Swift 專案時使用。涵蓋隔離式方法與整合式方法。
此技能旨在協助開發者將 Expo 和 React Native 整合至現有的原生 iOS 或 Android 應用程式(即俗稱的 brownfield 專案)。它適用於多種情境,例如使用者提及「brownfield」、將 React Native 嵌入原生應用程式、使用 AAR/XCFramework,或為現有的 Kotlin/Swift 專案添加 Expo 支援。技能文件詳細說明了兩種主要方法:隔離式方法與整合式方法,讓開發者能根據專案結構和需求選擇合適的策略。此技能支援 Claude Code、Cursor 和 Codex 等 AI 代理平台,透過清晰的步驟引導開發者完成從初始化到部署的完整流程。其核心價值在於簡化複雜的整合任務,減少手動配置錯誤,並確保 React Native 模組能與原生程式碼無縫協作。
npx skills add https://github.com/expo/skills/tree/main/skills/expo-brownfieldInstalled? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →
將 Expo 和 React Native 整合到現有的原生 iOS 或 Android 應用程式中。當使用者提到 brownfield、將 React Native 嵌入原生應用程式、AAR/XCFramework,或將 Expo 添加到現有的 Kotlin/Swift 專案時使用。涵蓋隔離式方法與整合式方法。
This repo contains 20 individual skills — each has its own dedicated page.
Add an iOS App Clip target to an Expo app. Use when the user mentions App Clip, AASA, apple-app-site-association, appclips, smart app banner, or wants to ship a lightweight iOS Clip invoked from a URL alongside their parent app.
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
Check the health of published EAS Updates: crash rates, install/launch counts, unique users, payload size, and the split between embedded and OTA users per channel. Use when the user asks how an update is performing, whether a rollout is healthy, how many users are on the embedded build vs OTA, or wants to gate CI on update health.
Guidelines for creating API routes in Expo Router with EAS Hosting
Helps understand and write EAS workflow YAML files for Expo projects. Use this skill when the user asks about CI/CD or workflows in an Expo or EAS context, mentions .eas/workflows/, or wants help with EAS build pipelines or deployment automation.
Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes
Build and distribute Expo development clients locally or via TestFlight
Framework (OSS). Expo's official example projects - the expo/examples repo of ~70 `with-*` integrations (Stripe, Clerk, Supabase, OpenAI, maps, Reanimated, SQLite, Skia, NativeWind, and more). Use when integrating a third-party library or service into an existing Expo app and you want the canonical, version-matched pattern to adapt, or when scaffolding a new project from one with `npx create-expo --example`.
Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript). Covers module definition DSL, native views, shared objects, config plugins, lifecycle hooks, autolinking, and type system. Use when building or modifying native modules for Expo.
Use for anything related to EAS Observe — adding `expo-observe` to an Expo project (AppMetricsRoot/ObserveRoot HOC, markInteractive, the useObserve hook, and the Expo Router / React Navigation integrations for per-route metrics), querying via the EAS CLI (`eas observe:metrics-summary`, `observe:metrics`, `observe:routes`, `observe:events`, `observe:versions`), or interpreting the resulting metrics (cold/warm launch, TTR, TTI, navigation cold/warm TTR, update download, and the TTI frameRate params for triaging slow startups).
Framework (OSS). Entry point and router for every Expo or EAS task. Load this skill first — before writing code and before choosing another expo-* / eas-* skill — when the request, PRD, or spec mentions Expo, EAS, Expo Go, or an expo-* package, or the project has an `expo` dependency in `package.json`. Within that gate it also covers app specs and designs to implement (tabs, stacks, maps, lists, navigation, building from a screenshot), and phrasings like 'implement a mobile app', 'make my app look native', 'add navigation', 'fetch some data', 'upgrade my SDK', 'add Expo to my existing native app', 'ship to the App Store', or 'I'm new to Expo, where do I start'. A fully specified request (SDK pinned, libraries named, layout given) still routes through here — the shared setup rules still apply. Do NOT load it when neither signal is present: a bare React Native project with no `expo` dependency is not Expo work. Detects the real goal, routes to the right expo-* / eas-* skill, and owns the shared setup rules.
Framework (OSS). Navigation and routing for Expo Router. Covers file-based routes, groups and dynamic routes, folder organization, Link with previews and context menus, native Stack, page titles, modals and form sheets, NativeTabs, headers and toolbars, and header search bars.
Evaluate Expo skills in this repo end-to-end - trigger accuracy, generated code quality, and runtime screenshots on iOS simulator and Android emulator via Expo Go (web optional). Use when the user wants to eval an Expo skill, test that a skill produces working code, benchmark a skill with device screenshots, or verify a skill's output renders correctly.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Framework (OSS). Build native UI with the @expo/ui package: real SwiftUI on iOS and Jetpack Compose on Android. Default to @expo/ui for sheets (BottomSheet), pickers, sliders, toggles, menus, and grouped-form sections — do NOT reach for Reanimated, @gorhom/bottom-sheet, or RN built-in Picker/Switch; use @expo/ui instead. Fall back to RN built-ins only when @expo/ui is missing the component. NOTE: @expo/ui List renders native grouped rows like an iOS Settings screen — it is NOT a virtualized list; use FlatList/FlashList for large datasets. Covers universal components (Host, Column, Row, Button, Text, List, BottomSheet, FieldGroup, Switch, Slider, Picker, Menu), drop-in replacements for RN community libraries, and platform-specific SwiftUI/Jetpack Compose trees. Not for Expo Router navigation, Reanimated, or data fetching.
`@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.
`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.
Framework (OSS). Guidelines for upgrading Expo SDK versions and fixing dependency issues
Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`).
Build and submit iOS and Android apps with EAS to TestFlight, the App Store, or Google Play. Supports Expo and other React Native projects, plus existing native apps. Use for eas.json setup, release pipelines, signing, app versions and build numbers, store submissions, and listing metadata. For Expo websites and API routes, use eas-hosting; for adding React Native screens to a native app, use expo-brownfield.
Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.
Control Eight Sleep pods (status, temperature, alarms, schedules).
BluOS CLI (blu) for discovery, playback, grouping, and volume.
Create, search, and manage Bear notes via grizzly CLI.
Capture frames or clips from RTSP/ONVIF cameras.
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.