{"id":11603,"external_id":"plugin_asdk_app_6aec576a7d8c8191ab1092de040af13a","name":"expo2","display_name":"Expo2","developer":"Expo","category":"Developer Tools","listing_language":"en","listing_language_details":{"method":"cld-0.13.0/listing-v1","reliable":true,"detected_at":"2026-11-06T18:13:42Z","input_sha256":"4166c4e600e5a697c0bbadee80c884bbf94379ef48bb3c7303415b6943d1cbd1","source_fields":["release.description","release.interface.short_description","release.interface.long_description"]},"version":"1.14.6","skill_count":23,"first_seen_at":"2026-11-06T18:00:05.466Z","last_seen_at":"2026-11-06T18:00:05.466Z","last_changed_at":"2026-11-06T18:00:05.466Z","install_count":null,"search_matches":[],"research_summary":null,"research_reviewed_at":null,"metadata":{"canonical_app_id":"asdk_app_6aec576a7d8c8191ab1092de040af13a","connector_id":"asdk_app_6aec576a7d8c8191ab1092de040af13a","created_at":"2026-11-05T10:36:55.034858Z","discoverability":"LISTED","id":"plugin_asdk_app_6aec576a7d8c8191ab1092de040af13a","is_template":false,"is_template_instance":false,"name":"expo2","release":{"app_ids":["asdk_app_6aec576a7d8c8191ab1092de040af13a"],"app_manifest":{"apps":{"expo":{"id":"asdk_app_6aec576a7d8c8191ab1092de040af13a","required":true}}},"app_templates":[],"description":"Build, test, and deploy iOS and Android apps with official Expo and React Native guides and tools.","display_name":"Expo2","id":"pluginrel_bcee48bc07008191aeafb6bdf8587ab6","interface":{"brand_color":"#000020","capabilities":["Mobile app development","Builds and deployment","Emulators and simulators"],"category":"Developer Tools","composer_icon_dark_url":null,"composer_icon_url":"https://files.openai.com/content?id=file_0000000076dc820982e682867900e740","default_prompt":"Build an iOS and Android app with Expo and React Native","default_prompts":["Build an iOS and Android app with Expo and React Native","Run and test my app on an iOS simulator or Android emulator","Build and deploy my mobile app to TestFlight, the App Store, or Google Play"],"developer_name":"Expo","logo_url":"https://files.openai.com/content?id=file_0000000040b082119da105c54b8a30f2","logo_url_dark":null,"long_description":"Expo helps developers build, test, and deploy iOS and Android apps. Create screens and navigation, connect APIs, add native features, and troubleshoot or upgrade Expo and React Native projects.\n\nRun and inspect your app on an iOS simulator or Android emulator, including cloud devices through Expo Application Services (EAS). Build releases, send beta builds to TestFlight, publish to the App Store and Google Play, deploy web apps, and deliver compatible over-the-air updates.\n\nIncludes official Expo guides and tools for projects available to your connected Expo account. Cloud services have plan limits and may incur usage charges. Publishing to app stores requires the relevant Apple or Google developer accounts.","plugin_category_id":"developer tools","privacy_policy_url":"https://expo.dev/privacy","screenshot_urls":[],"short_description":"Build, test, and ship apps","terms_of_service_url":"https://expo.dev/terms","website_url":"https://expo.dev/"},"keywords":["expo","react-native","eas","mobile","mobile-development","app-development","ios","android","cross-platform","deployment","emulator","simulator","app-store","google-play","testflight","ci-cd","debugging"],"onboarding_skill_name":"expo-overview","requires_local_executor":false,"skills":[{"description":"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.","interface":{"brand_color":null,"default_prompt":"Use $eas-app-stores to set up or verify EAS builds, TestFlight and store submissions, signing, versioning, and store metadata for iOS and Android apps: Expo and other React Native projects, plus existing native apps.","display_name":"EAS App Stores","icon_large_url":null,"icon_small_url":null,"iconography":"bolt","short_description":"Build and submit iOS and Android apps."},"name":"eas-app-stores","plugin_release_skill_id":"pluginrsk_6aec5773fa1c8191b1d9479da371c908"},{"description":"Deploy Expo websites and Expo Router API routes to EAS Hosting - export the web bundle, run npx --yes eas-cli@27.4.1 deploy for production and PR preview URLs, manage environment secrets and custom domains, and work within the Cloudflare Workers runtime. Also covers authoring API routes (+api.ts handlers, HTTP methods, request handling, CORS). Use when deploying an Expo web app or API routes, setting up EAS Hosting, or configuring hosting environments and domains. Not for native builds or store releases - use the eas-app-stores skill for those.","interface":{"brand_color":null,"default_prompt":"Use $eas-hosting to deploy an Expo web app or Expo Router API routes to EAS Hosting, author +api.ts route handlers, manage hosting environment secrets and custom domains, and work within the Cloudflare Workers runtime.","display_name":"EAS Hosting","icon_large_url":null,"icon_small_url":null,"iconography":"bolt","short_description":"Deploy Expo websites and Expo Router API routes to EAS Hosting, with environment secrets, custom domains, and the Cloudflare Workers runtime"},"name":"eas-hosting","plugin_release_skill_id":"pluginrsk_6aec576dbe7c8191830397244f47df56"},{"description":"Set up expo-observe and query EAS Observe metrics. Use for startup, launch, and navigation performance (TTR, TTI), custom events, error reporting, sampling configuration, expo-image and Reanimated integrations, CLI or Expo MCP queries, or Observe integrations in libraries. For published OTA-update health and adoption, use eas-update-insights.","interface":{"brand_color":null,"default_prompt":"Use $eas-observe to add expo-observe instrumentation (AppMetricsRoot/ObserveRoot, useObserve, ObserveInteractiveMarker, the router integrations, error reporting), query metrics with npx --yes eas-cli@27.4.1 observe:* commands, and interpret cold/warm launch, TTR, and TTI results.","display_name":"EAS Observe","icon_large_url":null,"icon_small_url":null,"iconography":"chart","short_description":"Set up expo-observe app metrics and query launch, route, event, and version performance with the EAS CLI"},"name":"eas-observe","plugin_release_skill_id":"pluginrsk_6aec57769a6481918439810fae2021d1"},{"description":"Run, install, drive, and capture apps on remote EAS iOS simulators and Android emulators. Use for cloud or headless UI testing, live device previews, or testing when a local simulator is unavailable. Read before running npx --yes eas-cli@27.4.1 simulator:* commands. On macOS, use for remote/shareable devices, unavailable OS versions, or agent-driven sessions; ordinary local simulator requests use local tooling. Not for physical devices, website previews, EAS Build, or EAS Update.","interface":{"brand_color":null,"default_prompt":"Use $eas-simulator to run, install, screenshot, and drive an app on a remote EAS cloud simulator - especially when no local simulator is available (Linux, CI, cloud agents) or a shareable browser preview is needed.","display_name":"EAS Simulator","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Run and drive your app on a remote iOS/Android simulator on EAS cloud, from the CLI or an agent, with a live browser preview"},"name":"eas-simulator","plugin_release_skill_id":"pluginrsk_6aec577835848191bb818323797a464c"},{"description":"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 npx --yes eas-cli@27.4.1 update:configure or npx --yes eas-cli@27.4.1 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.","interface":{"brand_color":null,"default_prompt":"Use $eas-update to configure EAS Update, publish a compatible OTA update to the intended channel, test it in development or release builds, and debug channel or runtime-version mismatches.","display_name":"EAS Update","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Configure, publish, test, and debug over-the-air updates with expo-updates and EAS CLI"},"name":"eas-update","plugin_release_skill_id":"pluginrsk_6aec5777d4dc8191af3858f5d1b67b15"},{"description":"Check the health of published EAS Update: 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.","interface":{"brand_color":null,"default_prompt":"Use $eas-update-insights to inspect published EAS Update with eas-cli, compare rollout health, gather update or channel metrics, parse JSON output, and gate releases on aggregate update performance.","display_name":"EAS Update Insights","icon_large_url":null,"icon_small_url":null,"iconography":"chart","short_description":"Check EAS Update health, adoption, crash rates, launch counts, payload size, and OTA vs embedded usage"},"name":"eas-update-insights","plugin_release_skill_id":"pluginrsk_6aec5771d5048191a42972da7c467eed"},{"description":"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.","interface":{"brand_color":null,"default_prompt":"Use $eas-workflows when creating or editing .eas/workflows YAML, validating EAS workflow configuration, or answering questions about workflow triggers, jobs, runners, and expressions.","display_name":"EAS Workflows","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Write and validate EAS workflow YAML files for Expo projects"},"name":"eas-workflows","plugin_release_skill_id":"pluginrsk_6aec576e2d248191ab8f274654903fa8"},{"description":"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`.","interface":{"brand_color":null,"default_prompt":"Use $expo-animation to build a polished, accessible animation for this Expo app.","display_name":"Expo Animation","icon_large_url":null,"icon_small_url":null,"iconography":"bolt","short_description":"Build polished Expo and React Native animations"},"name":"expo-animation","plugin_release_skill_id":"pluginrsk_6aec5776229081919ea8464bd29476eb"},{"description":"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.","interface":{"brand_color":null,"default_prompt":"Use $expo-app-clip when adding or reviewing an iOS App Clip target for an Expo app, including bundle IDs, associated domains, AASA files, smart app banners, App Store Connect setup, and TestFlight verification.","display_name":"Expo App Clip","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Add an iOS App Clip target to an Expo app with AASA, associated domains, and TestFlight setup (needs an Apple Developer account)"},"name":"expo-app-clip","plugin_release_skill_id":"pluginrsk_6aec577921f48191a5a5d385b14cb2de"},{"description":"Integrate Expo and React Native into an existing native iOS or Android app. Use for brownfield, embedding a React Native screen in SwiftUI/UIKit or Kotlin, or AAR/XCFramework packaging. Covers isolated and integrated approaches. For building or distributing a purely native app with EAS, use eas-app-stores.","interface":{"brand_color":null,"default_prompt":"Use $expo-brownfield when adding Expo or React Native to an existing native app, choosing isolated vs integrated brownfield architecture, embedding SwiftUI/UIKit screens or AAR/XCFramework outputs, wiring Gradle or CocoaPods, and troubleshooting native integration issues.","display_name":"Expo Brownfield","icon_large_url":null,"icon_small_url":null,"iconography":"default","short_description":"Embed Expo screens in existing native iOS and Android apps"},"name":"expo-brownfield","plugin_release_skill_id":"pluginrsk_6aec5776a0d88191afda6ad458c4e262"},{"description":"Implement or debug data fetching in Expo apps. Use for fetch API calls, React Query, SWR, authenticated requests, caching, retries, offline support, loading and error states, or Expo Router data loaders (useLoaderData).","interface":{"brand_color":null,"default_prompt":"Use $expo-data-fetching for Expo data fetching work: fetch wrappers, React Query or SWR setup, error handling, retry/cancellation, authenticated requests, environment-based API URLs, offline behavior, and Expo Router loaders.","display_name":"Expo Data Fetching","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Implement and debug Expo network requests, caching, auth, offline support, and Expo Router data loaders"},"name":"expo-data-fetching","plugin_release_skill_id":"pluginrsk_6aec5770c53c8191b54827707090ccec"},{"description":"Create or extend an Expo app's theme, design tokens, and reusable component conventions. Use for inconsistent styling, generic or AI-generated screens, component libraries, or audits of hardcoded colors, spacing, and fonts. Works with existing NativeWind, Tamagui, Restyle, and Unistyles systems. For platform styling and native controls, use expo-native-ui; for new app folder layouts, use expo-project-structure.","interface":{"brand_color":null,"default_prompt":"Use $expo-design-system to set up or maintain the app's design system: create the src/theme token files, shape reusable components with variant/size/state props, decide when a repeated view becomes a shared component, and audit screens for design-system drift (hardcoded style values).","display_name":"Expo Design Systems","icon_large_url":null,"icon_small_url":null,"iconography":"hierarchy","short_description":"Build a design system in an Expo app: a token theme (color, spacing, typography, radius, shadow, motion), reusable component conventions, and audits for design-system drift (hardcoded style values)"},"name":"expo-design-system","plugin_release_skill_id":"pluginrsk_6aec5777dd3c8191aa6a1de222759352"},{"description":"Build and distribute Expo development clients locally or via TestFlight for internal testing. For production TestFlight releases and store submission, use the eas-app-stores skill.","interface":{"brand_color":null,"default_prompt":"Use $expo-dev-client to decide whether an Expo development client is required, configure development EAS profiles, build local or cloud dev clients, and connect them to Metro.","display_name":"Expo Dev Client","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Create and use Expo development clients when Expo Go is not enough"},"name":"expo-dev-client","plugin_release_skill_id":"pluginrsk_6aec576e0b488191b1fc95a6c4b419e3"},{"description":"Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally. For the end-to-end migration of a whole web app, use the expo-web-to-native skill.","interface":{"brand_color":null,"default_prompt":"Use $expo-dom to migrate web components into Expo via 'use dom', configure DOM props, expose native actions safely, use web-only libraries, and keep DOM components separate from native routes.","display_name":"Expo DOM Components","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Use Expo DOM components to run web React code in native webviews and unchanged on web"},"name":"expo-dom","plugin_release_skill_id":"pluginrsk_6aec576f2de8819188d58a4a775effbf"},{"description":"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`.","interface":{"brand_color":null,"default_prompt":"Use $expo-examples when integrating a third-party library or service into an Expo app to find the canonical with-* example to adapt, or to scaffold a new project with npx create-expo --example.","display_name":"Expo Examples","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Adapt or scaffold from the expo/examples repo of with-* integrations (Stripe, Clerk, Supabase, maps, SQLite, and more)"},"name":"expo-examples","plugin_release_skill_id":"pluginrsk_6aec576ed7688191b60aa38da9432219"},{"description":"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. Not for migrating an existing Swift module from the definition DSL to the Expo Modules API 2.0 macros; use expo-migrate-module (from the expo-experiments plugin) for that.","interface":{"brand_color":null,"default_prompt":"Use $expo-module to scaffold, implement, clean up, or review Expo native modules, native views, shared objects, lifecycle hooks, autolinking configuration, and config plugins.","display_name":"Expo Module","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Build Expo native modules and native views with Swift, Kotlin, TypeScript, autolinking, and config plugins"},"name":"expo-module","plugin_release_skill_id":"pluginrsk_6aec57762d448191bdd8c358797e5d08"},{"description":"Build beautiful, native-feeling Expo screens. Covers Apple HIG styling, semantic colors, native controls, SF Symbols, media, visual effects, gradients, storage, and responsive layout. For routing and navigation, use the expo-router skill; for motion and animation, use the expo-animation skill.","interface":{"brand_color":null,"default_prompt":"Use $expo-native-ui to style native-feeling Expo screens, choose semantic colors and native controls, add media and visual effects, and decide when Expo Go is enough before creating native builds.","display_name":"Expo Native UI","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Build beautiful, native-feeling Expo screens: HIG styling, semantic colors, controls, SF Symbols, media, and visual effects"},"name":"expo-native-ui","plugin_release_skill_id":"pluginrsk_6aec5777f1208191bc8211a96a1b8494"},{"description":"Entry point for Expo and EAS tasks. Load first when the request mentions Expo, EAS, Expo Go, or an expo-* package, or the project has an expo dependency. Identify the goal, apply shared SDK and setup rules, and select the relevant skill. Includes fully specified tasks; excludes React Native projects without Expo or EAS signals.","interface":{"brand_color":null,"default_prompt":"Use $expo-overview first when a task mentions Expo, EAS, or an expo-* package, or the project has an `expo` dependency in package.json — even when the stack or SDK version is already fully specified. Classify the user's goal, route to the right expo-* / eas-* skill, and apply the shared environment and setup rules the other Expo skills rely on.","display_name":"Expo Overview","icon_large_url":null,"icon_small_url":null,"iconography":"default","short_description":"Entry point and router for Expo / EAS tasks: load first when the request mentions Expo or the project has an expo dependency, classify the goal, route to the right expo-* / eas-* skill, and apply shared setup rules"},"name":"expo-overview","plugin_release_skill_id":"pluginrsk_6aec5773dc1081919e55974ad3cb6d9b"},{"description":"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.","interface":{"brand_color":null,"default_prompt":"Use $expo-project-structure to lay out a new Expo app: the src/ layout, routes-only app/ directory, screens, components, server code separation, and platform-specific files.","display_name":"Expo Project Structure","icon_large_url":null,"icon_small_url":null,"iconography":"default","short_description":"Recommended folder structure for new Expo apps"},"name":"expo-project-structure","plugin_release_skill_id":"pluginrsk_6aec57715804819195d620d2f0112720"},{"description":"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.","interface":{"brand_color":null,"default_prompt":"Use $expo-router to structure file-based routes, wire up navigation with Link previews and context menus, configure native Stack screens, modals, form sheets, NativeTabs, headers, toolbars, and search bars.","display_name":"Expo Router","icon_large_url":null,"icon_small_url":null,"iconography":"default","short_description":"Navigate and structure Expo Router apps: file-based routes, links, native stacks, modals, sheets, native tabs, headers, and search"},"name":"expo-router","plugin_release_skill_id":"pluginrsk_6aec577431e4819199c3636410ac213e"},{"description":"Build native components with @expo/ui, using SwiftUI on iOS and Jetpack Compose on Android. Use for sheets, pickers, sliders, toggles, menus, grouped rows and forms, or replacing community UI libraries. Covers universal and platform-specific components. For virtualized lists, use FlatList or FlashList; for navigation, use expo-router; for custom animation, use expo-animation.","interface":{"brand_color":null,"default_prompt":"Use $expo-ui when adding or reviewing @expo/ui UI: universal cross-platform components (Host, Column, Row, Button, Text, List, ...), drop-in replacements for React Native community libraries, or platform-specific @expo/ui/swift-ui and @expo/ui/jetpack-compose trees and modifiers. Recommend universal components first; use drop-in replacements when migrating off a community UI library; reach for platform-specific layers only when universal is missing something or you need platform optimization (which requires .ios.tsx/.android.tsx splits).","display_name":"Expo UI","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Build native UI with @expo/ui — universal components first, SwiftUI/Jetpack Compose when needed"},"name":"expo-ui","plugin_release_skill_id":"pluginrsk_6aec5778fb1481919db50ddd763ea6a5"},{"description":"Upgrade an Expo app's SDK and resolve compatibility issues. Use for SDK migrations, expo-doctor diagnostics, dependency version conflicts, deprecated package replacements, or native changes required by an upgrade.","interface":{"brand_color":null,"default_prompt":"Use $expo-upgrade to upgrade an Expo SDK, run diagnostics, fix dependency conflicts, decide whether prebuild/cache clearing applies, and migrate away from deprecated Expo packages.","display_name":"Expo Upgrade","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Upgrade Expo SDKs, fix dependencies, adopt React 19 / React Compiler, and migrate deprecated Expo packages"},"name":"expo-upgrade","plugin_release_skill_id":"pluginrsk_6aec5778eee48191bd7e7f229f9069c6"},{"description":"Migrate an existing web React app to a native iOS/Android app with Expo. Use when the user wants to turn a website into a mobile app, port a Next.js/Vite/CRA React codebase to React Native, reuse web code on native incrementally, or asks how web idioms (the DOM, CSS, React Router, localStorage, window) map to native. This is the end-to-end migration guide; use the `expo-dom` skill for the DOM-component mechanism itself.","interface":{"brand_color":null,"default_prompt":"Use $expo-web-to-native to migrate a web React codebase to native: assess and bucket screens, ship a DOM-component shell on day one, then nativize screens in priority order with @expo/ui and Expo Router.","display_name":"Expo Web to Native","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Migrate an existing web React app (Next.js, Vite, CRA) to a native iOS/Android app with Expo, screen by screen"},"name":"expo-web-to-native","plugin_release_skill_id":"pluginrsk_6aec576f91f08191abe0cf05dbb1cd46"}],"version":"1.14.6"},"scope":"GLOBAL","status":"ENABLED"},"research":null,"package_metadata":{"name":"expo2","author":{"url":"https://expo.dev","name":"Expo Team"},"license":"MIT","sources":[{"path":"plugin.json","sha256":"6f4ea1577daade7363f60943581d07714cb179d9d528a8f4b5ea69bbfcfe8119"}],"version":"1.14.6","homepage":"https://docs.expo.dev/skills/","keywords":["expo","react-native","eas","mobile","mobile-development","app-development","ios","android","cross-platform","deployment","emulator","simulator","app-store","google-play","testflight","ci-cd","debugging"],"repository":"https://github.com/expo/skills/tree/main/plugins/expo","artifact_id":165663,"observed_at":"2026-11-06T18:22:08Z","support_url":"https://expo.dev/contact","capabilities":["Mobile app development","Builds and deployment","Emulators and simulators"],"field_sources":{"name":0,"author":0,"license":0,"version":0,"homepage":0,"keywords":0,"repository":0,"support_url":0,"capabilities":0,"onboarding_skill":0,"review_case_counts":0},"onboarding_skill":"./skills/expo-overview/SKILL.md","extraction_version":1,"review_case_counts":{"negative":3,"positive":5},"conflicts_or_errors":[]}}