Expo
- 46 skills
- 0 followers
- 2.2k repo stars
- 38 verified
- 2 weeks ago last updated
- ▌ Eas Simulator 2 · expo bundleEAS service (paid). Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud. Read before running any `eas simulator:*` commands - it has the current syntax for this experimental API. Use whenever the user needs a simulator they can't run locally - 'run my app on a cloud simulator', 'use eas simulator to run/install/screenshot my app', 'I'm on Linux/Cursor and need an iOS device', 'no sim on this box / headless CI', 'let an agent click through my app and screenshot it', 'test my dev build on a remote sim with live reload', 'stream a sim to my browser' - even when they don't say 'EAS Simulator' or 'cloud'. On a host WITHOUT a local simulator (Linux, CI, cloud sandbox) it's the default; on macOS, do NOT auto-trigger for a plain 'run on the simulator' - use it only for a cloud/remote/shareable sim, an iOS version they lack, or an agent-driven session. NOT for local sims (expo run:ios, Xcode, Android Studio), EAS Build/Update, web preview, or physical devices.
- ▌ Serve Sim · expo bundleControl and stream a running iOS, iPad, or Apple Watch Simulator with npx @expo/serve-sim. Use for simulator preview, taps, gestures, hardware buttons, rotation, camera injection, permissions, accessibility, and CoreAnimation debug.
- ▌ Setup Code Review · expo bundleInstall and configure @expo/code-review-cli (ecr) in any repo — detect monorepo shape, mine GitHub history for review hotspots and past security issues, research best practices per technology, then generate the full .expo-code-review/ setup (config, agents, coordinator, shared, routing) via a large dynamic workflow. Use when the user wants to set up, install, or reconfigure AI code review in a repository.
- ▌ Build App · expo bundleBuild, run, and debug a mobile app on the user's physical phone from a Tuft machine. Use whenever the user asks to build an app — a brand-new idea or an existing Expo/React Native project — at the start of the session, before scaffolding or picking how to deliver it. The deliverable is the app running on their phone, not a web preview, and the Tuft machine itself serves as the app's backend. Covers scaffolding a new Expo project, deciding between Expo Go and a development build, EAS account/Apple/device setup via the Tuft dashboard flow, making development builds with EAS, exposing Metro remotely with `tuft host` and EXPO_PACKAGER_PROXY_URL, sending the user a working link, and diagnosing device-only failures with Tuft telemetry.
- ▌ Install Xcode · expoInstall a specific Xcode version on a Mac using the xcodes CLI, handing the Apple ID sign-in (password + 2FA) to the user through a shared live terminal. Use when a task needs Xcode/simulators and the machine doesn't have the right version, or the user asks to install/upgrade Xcode.
- ▌ Expo Review · expoRun Expo's configured AI code reviewer on local changes or an expo/expo pull request, summarize findings and reviewer coverage, retain PR previews by default for later posting, and post only when explicitly requested. Use when the user invokes /expo-review or asks Claude Code to run the repository's Expo code-review CLI.
- ▌ Expo API Docs · expoWrite TSDoc comments for Expo SDK APIs following official conventions. MUST USE when introducing new user-facing TypeScript APIs in expo-* packages - document APIs correctly from the start, not as an afterthought. Also use when improving existing documentation. Covers @platform, @example, @deprecated, @default annotations, third-person declarative style, blockquote notes, and type export patterns for docs generation.
- ▌ Deep Code Review · expo bundleIn-depth design-focused code review - understands codebase context before evaluating PR changes, posts structured feedback to GitHub
- ▌ Android E2e Testing · expoTest Expo Router features on Android emulators using ADB. Use after implementing native Android features or when verifying UI behavior on Android.
- ▌ 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.
- ▌ 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.
- ▌ 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 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 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.
- ▌ Expo Migrate Module · expo bundleFramework (OSS). Migrate an existing Apple/Swift Expo native module from the Expo Modules API 1.0 definition DSL to the 2.0 macro API (sometimes called v2) while preserving its JavaScript and TypeScript contract. Use when converting or incrementally adopting @ExpoModule, @JS, @Event, @SharedObject, or @Record in an existing module. Do not use for creating a new module, general Expo SDK upgrades, or Android/Kotlin migrations.
- ▌ 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.
- ▌ 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.
- ▌ 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.
- ▌ 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.
- ▌ Expo Upgrade · expo bundleUpgrade Expo SDK versions and fix dependency issues with step-by-step guidance.
- ▌ Eas Workflows · expo bundleWrite and validate EAS CI/CD workflow YAML files for Expo projects, using the official schema and documentation.
- ▌ 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.
- ▌ 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.
- ▌ 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 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 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 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 Skill Eval · expo bundleEvaluates Expo skills end-to-end: trigger accuracy, generated code quality, and runtime screenshots on iOS simulator and Android emulator via Expo Go.
- ▌ Expo Module · expo bundleBuild native modules and views for Expo apps using the Expo Modules API with Swift, Kotlin, and TypeScript.
- ▌ 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.
- ▌ 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 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.
- ▌ 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.
- ▌ 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.
- ▌ 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 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.
- ▌ Building Native UI · expo bundleBuild beautiful native UIs for Expo apps with guidance on routing, styling, animations, and platform-specific components.
- ▌ 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 Cicd Workflows · expo bundleHelps write and edit EAS CI/CD workflow YAML files for Expo projects, including schema validation and resource fetching.
- ▌ 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.