Expo
[Deprecated] Use the "expo" plugin instead. Deploying Expo apps to App Store, Play Store, and web.
Skills in this plugin
35- ▌ Expo UI · expo bundleBuild native UI with @expo/ui: real SwiftUI on iOS and Jetpack Compose on Android, rendered from React in Expo or React Native apps. Covers universal cross-platform components, drop-in replacements for community libraries, and platform-specific SwiftUI and Jetpack Compose trees.
- ▌ Use Dom · expo bundleUse Expo DOM components to run web code in a webview on native and as-is on web, enabling incremental migration of web code to native.
- ▌ Expo Dom · expo bundleRun web code in a webview on native platforms and as-is on web, enabling use of web-only libraries like recharts and react-syntax-highlighter in Expo apps.
- ▌ Expo Module · expo bundleBuild native modules and views for Expo apps using the Expo Modules API with Swift, Kotlin, and TypeScript.
- ▌ Eas Update · expo bundleEAS service (paid). Configure and use EAS Update for over-the-air JavaScript and asset updates with expo-updates and EAS CLI. Use when setting up OTA updates, running eas update:configure or eas update, publishing to preview/staging/production channels, explaining branches/channels/runtime versions, testing updates, or debugging why an installed build still shows old code. Load for TestFlight, preview, or production updates that do not appear, including questions about cold launches or reopening the app. Not for update health metrics; use eas-update-insights for adoption, crashes, and rollout monitoring.
- ▌ Add App Clip · expo bundleAdds an iOS App Clip target to an Expo project, including target setup, associated domains, AASA file hosting, and TestFlight submission.
- ▌ Eas Hosting · expo bundleDeploy Expo web apps and API routes to EAS Hosting (Cloudflare Workers), including export, deployment, environment secrets, custom domains, and authoring API routes with HTTP methods, CORS, and error handling.
- ▌ Expo Observe · expo bundleAdd EAS Observe to an Expo project for startup, navigation, and custom-event performance tracking, query metrics via the EAS CLI, and interpret results.
- ▌ Eas Observe · expo bundleAdd EAS Observe to an Expo project for startup, navigation, and custom-event performance metrics, query them via the EAS CLI, and interpret the results.
- ▌ Eas Simulator · expo bundleRun and control a user's app on a remote iOS/Android simulator hosted on EAS cloud, enabling interaction from environments without local simulators.
- ▌ Expo Examples · expo bundleAccess Expo's official library of ~70 integration examples to find canonical patterns for adding third-party services like Stripe, Clerk, Supabase, and maps to your Expo app.
- ▌ Expo Router · expo bundleNavigate and route in Expo Router apps using file-based routes, groups, dynamic routes, Link with previews and context menus, native Stack, modals, form sheets, NativeTabs, headers, toolbars, and search bars.
- ▌ Web To Native · expo bundleMigrate an existing web React app to a native iOS/Android app with Expo, screen by screen, using a strangler fig pattern.
- ▌ Expo Upgrade · expo bundleUpgrade Expo SDK versions and fix dependency issues with step-by-step guidance.
- ▌ Upgrading Expo · expo bundleUpgrade Expo SDK versions and fix dependency issues with step-by-step guidance.
- ▌ Expo API Routes · expo bundleCreate server-side API routes in Expo Router applications and deploy them to EAS Hosting.
- ▌ Eas Workflows · expo bundleWrite and validate EAS CI/CD workflow YAML files for Expo projects, using the official schema and documentation.
- ▌ Expo Brownfield · expo bundleIntegrate Expo and React Native into an existing native iOS or Android app, covering both isolated (AAR/XCFramework) and integrated (Gradle/CocoaPods) approaches.
- ▌ Expo App Clip · expo bundleAdds an iOS App Clip target to an Expo project, including configuration of bundle identifiers, associated domains, AASA file hosting, and TestFlight submission.
- ▌ Expo Deployment · expo bundleDeploy Expo apps to production with EAS — build and submit to the iOS App Store, Google Play Store, and TestFlight, configure eas.json build and submit profiles, manage app versions and build numbers, publish App Store metadata and ASO, and deploy web bundles and API routes via EAS Hosting.
- ▌ Expo Dev Client · expo bundleBuild and install Expo development clients on physical devices and simulators using EAS Build for testing native code changes.
- ▌ Expo Overview · expo bundleFramework (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.
- ▌ Building Native UI · expo bundleBuild beautiful native UIs for Expo apps with guidance on routing, styling, animations, and platform-specific components.
- ▌ Eas App Stores · expo bundleBuild and submit Expo apps to the iOS App Store, Google Play Store, and TestFlight using EAS, with configuration for build profiles, version management, and store metadata.
- ▌ Eas Update Insights · expo bundleQuery EAS Update health metrics from the CLI: crash rates, install/launch counts, unique users, payload size, and embedded vs OTA user splits per channel.
- ▌ Expo Animation · expo bundleFramework (OSS). Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web animation use `animate`.
- ▌ Expo Cicd Workflows · expo bundleHelps write and edit EAS CI/CD workflow YAML files for Expo projects, including schema validation and resource fetching.
- ▌ Expo Native UI · expo bundleBuild beautiful, native-feeling Expo screens with Apple HIG styling, semantic colors, native controls, SF Symbols, media, animations, visual effects, gradients, storage, and responsive layout.
- ▌ Expo Tailwind Setup · expo bundleSet up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling across iOS, Android, and Web.
- ▌ Native Data Fetching · expo bundleImplement and debug network requests, API calls, and data fetching in Expo apps using fetch, React Query, SWR, and Expo Router loaders.
- ▌ Expo Data Fetching · expo bundleImplement and debug network requests, API calls, and data fetching in Expo apps using fetch, React Query, SWR, Expo Router loaders, caching, and offline support.
- ▌ Expo Design System · expo bundleFramework (OSS). Build and maintain a design system inside an Expo app - a reusable theme of design tokens (color, spacing, typography, radius, shadow, motion), reusable component structure with variant/size/state prop conventions, and rules for when to extract a repeated view into a shared component. Use when creating or organizing theme files and design tokens (theme.ts / theme/), extending an existing theme or styling library (NativeWind, Tamagui, Restyle, Unistyles) in its own idiom, standardizing styles so screens (including AI-generated ones) look consistent and polished, building an in-app component library, or auditing an app for design-system drift (hardcoded colors, spacing, fonts). For platform styling specifics (semantic colors, HIG rules, native controls) use expo-native-ui; for folder layout of a new app use expo-project-structure.
- ▌ Expo Web To Native · expo bundleMigrate an existing web React app to a native iOS/Android app with Expo, screen by screen, using a strangler-fig pattern that ships the web UI in a DOM-component shell on day one and nativizes screens by value.
- ▌ Expo Skill Feedback · expo bundleSubmit feedback on an Expo skill—or Expo itself—and control bundled anonymous usage telemetry (off by default / opt-in). Submit feedback with: npx --yes submit-expo-feedback@latest "ACTIONABLE_FEEDBACK". Optionally add either or both: --category "CATEGORY" and --subject "SUBJECT". Replace the uppercase placeholders before running. Use when a skill was useful, confusing, broken, missing context, or worth improving; when Expo, Expo CLI, EAS CLI, docs, or MCP worked well or fell short; when an AI agent repeatedly failed, got stuck, or needed the user to take over an Expo task (report it as an eval candidate); or when the user explicitly asks to enable or disable telemetry (tracking), check its status, or understand what it collects.
- ▌ Expo Project Structure · expo bundleFramework (OSS). Folder structure for a new Expo app. Use when scaffolding or laying out a new Expo project with Expo Router, or deciding where a file should live in one. For new projects only — never restructure an existing app to match.