Agent skill · expo
expo-overview
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.
What it needs
About 6k tokens when loaded.
What this skill does
expo-overview — router & shared rules for Expo / EAS Start Here — read before doing anything Do not guess the skill from project files alone. Many Expo goals look similar from the filesystem but need different skills. 1. Confirm this is Expo or EAS work — the request mentions Expo or EAS, or package.json has an expo dependency. Otherwise this skill does not apply. A native app using EAS for delivery qualifies without an Expo runtime. 2. Read the user's goal — what outcome do they want, in plain terms? 3. Classify it using the Skill Map below, translating casual phrasing to a goal. 4. Confirm intent if ambiguous ("Sounds like you want to ship to the stores — that's eas-app-stores. Right?"), then load that skill's SKILL.md and follow it. 5. Trust the leaf skill — it has its own detection logic and steps. Don't improvise. Skill Map (by goal) Match the goal to a category, then the skill, then load that leaf's SKILL.md. Build the app expo-project-structure — folder layout for a new Expo Router project: where screens, components, and config live (never restructure an existing app to match) expo-native-ui — screens, styling, semantic colors, native controls, SF Symbols, media, layout expo-router — navigation: file-based routes, tabs / stacks / modals / sheets, links, headers expo-animation — motion and gestures: Reanimated worklets, Gesture Handler, screen transitions, sheet and press feedback, haptics, and fixing animation that stutters on device expo-ui — native UI components via @expo/ui: BottomSheet, Picker, Slider, Switch, Menu, Button, FieldGroup (grouped form sections), List / ListItem, and more — real SwiftUI on iOS, Jetpack Compose on Android. The universal layer needs SDK 56+ and runs in Expo Go; the drop-in replacements (@gorhom/bottom-sheet, datetimepicker, …) and platform-specific layers also exist on SDK 55. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills expo/expo-overview