Official agent skill

Expo Overview

by expo in expo/skills

Entry point and router for every Expo or EAS task. An agent skill from expo/skills.

OfficialMITAuto-check passedMobile

Install Expo Overview

skills CLI
$ npx skills add expo/skills --skill expo-overview -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install expo/skills expo-overview --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/expo/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/expo/skills/expo-overview .claude/skills/expo-overview && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
expo-overview
GitHub stars
2.7k
Used in
1 other repo
Token cost
~2.3k tokens
SKILL.md length
1,082 words
Files
2
Skills in repo
26
Repo updated
First seen
Licence
MIT

At a glance

Entry point and router for every Expo or EAS task. An agent skill from expo/skills.

  • Works in 5 steps: Confirm this is Expo or EAS work — the… → Read the user's goal — what outcome do… → Classify it using the Skill Map below,… → …
  • Tasks that involve Cross-platform mobile apps
  • SKILL.md covers Start Here — read before doing…, Skill Map (by goal), Shared setup rules and When to skip the router hop, plus 1 more section
  • Calls npx, eas and pnpm; reaches docs.expo.dev

What it does

Expo Overview is an agent skill from expo/skills, published by the product's own GitHub organization. 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…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Mobile, covering Cross-platform mobile apps. It works with Expo, npm and React Native. The repository describes itself as: A collection of AI agent skills for working with Expo projects and Expo Application Services. The licence is MIT.

When your agent uses it

  • Tasks that involve Cross-platform mobile apps

Example prompts

  • “implement a mobile app”
  • “make my app look native”
  • “add navigation”
  • “/expo-overview”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Confirm this is Expo or EAS work — the request mentions Expo or EAS, or
  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
  5. Trust the leaf skill — it has its own detection logic and steps. Don't improvise.

What it can do on your machine

Read from SKILL.md and the folder at commit d4f4840. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • eas
    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • docs.expo.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Expo Overview loads about 2.3k tokens when it runs. Until then it costs about 254 tokens; SKILL.md has 1,082 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~254
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from expo/skills at commit d4f4840, republished under its MIT licence (© expo). 1,082 words, ~2,282 tokens.

Download SKILL.mdSave it as .claude/skills/expo-overview/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
expo-overview
description
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.
version
1.1.0
license
MIT

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.
  • expo-design-system — one visual source of truth: design tokens (color, spacing, typography, radius, shadow, motion), reusable component conventions, and audits for drift (hardcoded colors, spacing, fonts)
  • expo-tailwind-setup — Tailwind / NativeWind styling
  • expo-data-fetching — network requests, React Query / SWR, caching, offline, route loaders
  • expo-dom — run web code or reuse a web library inside native
  • expo-web-to-native — migrate an existing web / React app to a native iOS / Android app

Component selection rule: whenever you need a UI component (list rows, bottom sheets, pickers, sliders, menus, buttons, segmented controls, toggles), consult expo-ui first to check whether @expo/ui has a native equivalent before reaching for a React Native built-in or a community library. Native @expo/ui components give the best platform fit, and on SDK 56+ the universal ones run in Expo Go with no custom build. Load expo-ui alongside expo-native-ui for any app that renders lists, detail sheets, or form controls. One exception: @expo/ui List renders native grouped rows (an iOS Settings screen), not a virtualized list — use FlatList / FlashList for large datasets.

Ship & operate

  • eas-app-stores — build and submit iOS/Android apps (Expo and other React Native projects, plus existing native apps), TestFlight, versions, and store metadata
  • eas-hosting — deploy the web bundle to EAS Hosting; also author Expo Router API routes (+api.ts handlers) and their environments / domains
  • eas-workflows — EAS Workflow YAML and CI/CD pipelines
  • eas-simulator — run and drive the app on a remote iOS / Android simulator on EAS cloud
  • expo-dev-client — custom development builds
  • eas-update — configure, publish, test, and debug compatible over-the-air updates
  • eas-update-insights — OTA update health: crash rate, adoption, payload size
  • eas-observe — startup / launch / TTI performance with EAS Observe

Extend natively

  • expo-module — native modules and views (Swift / Kotlin) with the Expo Modules API
  • expo-brownfield — embed Expo / React Native screens in native SwiftUI/UIKit or Android apps; isolated artifacts and integrated builds
  • expo-app-clip — iOS App Clip target (AASA, smart app banner)

Maintain & learn

  • expo-upgrade — upgrade the Expo SDK and fix dependency conflicts
  • expo-examples — canonical, version-matched integration examples (Stripe, Clerk, Supabase, …)
  • expo-skill-feedback — send feedback on an Expo skill or on Expo itself; enable / disable the anonymous usage telemetry
Show full SKILL.md (469 more words)Show less
Translating vague asks

Some everyday phrasings don't obviously map to a skill name — translate before routing:

  • "Make it look native" → grouped controls / settings forms = expo-ui; screens, styling = expo-native-ui; motion = expo-animation; navigation = expo-router.
  • "Make the screens consistent" / "clean up the styling" / "set up a theme or design tokens" → expo-design-system.
  • "It looks AI-generated" / "too generic, not native" → expo-design-system (named native-slop tells + audit), with expo-native-ui for the platform idioms.
  • "Ship it" / "get an .ipa or .apk" / "release to the stores" / "put my Swift app on TestFlight" → eas-app-stores (build + submit, TestFlight, versions, store metadata).
  • "I'm new / where do I start" → scaffold first (see Shared setup rules), then route by goal.

Shared setup rules

Apply the rules that match the project and the requested task.

  • Native app using EAS for delivery? Route to eas-app-stores; its references/native-ios.md covers SwiftUI/UIKit on iOS. Keep the existing native project. Apply EAS auth/linking below; Expo scaffolding, SDK, and package-install rules do not apply to this path.
  • Starting a new Expo app? Start one the standard way before routing to a feature skill: npx create-expo-app@latest, laying out folders per expo-project-structure. Then classify the user's goal and route.
  • Detect the SDK version before giving version-specific advice: read the expo version in package.json (and app.json / app.config.{js,ts}). Many APIs and defaults differ by SDK.
  • Read the docs for that SDK, not latest. Use the version-pinned URL, e.g. https://docs.expo.dev/versions/v56.0.0/sdk/ui/ on SDK 56 instead of https://docs.expo.dev/versions/latest/sdk/ui/ — the latest pages track the newest SDK and can document APIs the project does not have yet.
  • Moving to a newer SDK is its own task — load expo-upgrade instead of bumping versions by hand.
  • Managed vs. bare/prebuild: the presence of committed ios/ and android/ directories means native projects exist (prebuild or bare). Config-plugin and native-setup steps differ — note which one the project is in.
  • Install packages with npx expo install <pkg>, not raw npm/yarn/pnpm add, so versions stay compatible with the project's SDK.
  • EAS auth & linking (only needed for build/submit/update/observe/workflows): check login with eas whoami, log in with eas login. A project is linked when extra.eas.projectId exists in the app config; create it with eas init if missing.

When to skip the router hop

  • Only when the user explicitly named a specific expo-* / eas-* skill → load that skill directly.
  • A fully-specified task (SDK version pinned, file layout given, libraries named) is not a reason to skip: the shared rules above still apply — check them, then route to the matching leaf skill.

Submitting Feedback

If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:

bash
npx --yes submit-expo-feedback@latest --category skills --subject "expo-overview" "<actionable feedback>"

Only submit when you have something specific and actionable to report. Include as much relevant context as possible. If an AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.

© expo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in plugins/expo/skills/expo-overview of expo/skills.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit d4f4840

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in expo/skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Expo Overview next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Expo Overview compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Expo Overview this skillexpo/skills2.7k1 repos~2.3kAutomated safety check: PassMIT
Upgrading React Nativecallstackincubator/agent-skills1.7k1 repos~1.1kAutomated safety check: PassMIT
Enable Worklets Bundle Modesoftware-mansion-labs/skills291—~4kAutomated safety check: PassNone
React Native Best Practiceskingstinct/react-native-healthkit7161 repos~861Automated safety check: PassMIT
React Native Developmentjohnku2011/boilerplates-with-ai-skills240—~596Automated safety check: PassMIT
React Native Best Practicesvercel-labs/openreview1.7k17 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Upgrading React Native

    callstackincubator/agent-skills

    Official

    Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and…

    1.7k GitHub starsUsed in 1 repo~1.1k tokens
    MobileAuto-check passed
  • Enable Worklets Bundle Mode

    software-mansion-labs/skills

    Enable react-native-worklets Bundle Mode (imports inside worklets, third party libraries on worklet runtimes) in an Expo, RN CLI or brownfield React Native app, including the mandatory…

    291 GitHub stars~4k tokensUpdated 12 days ago
    MobileAuto-check passed
  • React Native Best Practices

    kingstinct/react-native-healthkit

    Software Mansion's best practices for production React Native and Expo apps on the New Architecture.

    716 GitHub starsUsed in 1 repo~861 tokens
    MobileAuto-check passed
  • React Native Development

    johnku2011/boilerplates-with-ai-skills

    A skill your agent uses when building screens, navigation, styling, or platform behavior in this Expo React Native app, to follow mobile-first conventions and keep logic testable.

    240 GitHub stars~596 tokensUpdated 1 mo ago
    MobileAuto-check passed
  • React Native Best Practices

    vercel-labs/openreview

    Official

    A prioritized rule set for React Native and Expo apps covering list performance, animation, navigation, UI patterns, state, rendering, monorepos and configuration.

    1.7k GitHub starsUsed in 17 repos~1.1k tokens
    MobileAuto-check passed
  • Appllama App Design Skill

    Appllama/appllama-skills

    Build native-feeling, benchmark-quality mobile app screens (Expo / React Native).

    2.5k GitHub starsUsed in 1 repo~5k tokens
    MobileAuto-check passed

More from expo/skills

All 26 skills in this repo
  • Official

    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.

    2.7k GitHub starsUsed in 4 repos~3.1k tokens
    Auto-check passed
  • Eas Workflows

    expo/skills

    Official

    Helps understand and write EAS workflow YAML files for Expo projects.

    2.7k GitHub stars~1.2k tokensUpdated 3 days ago
    Auto-check passed
  • Expo App Clip

    expo/skills

    Official

    Add an iOS App Clip target to an Expo app. An agent skill from expo/skills.

    2.7k GitHub starsUsed in 2 repos~2.4k tokens
    Auto-check passed
  • Expo Skill Eval

    expo/skills

    Official

    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).

    2.7k GitHub stars~12k tokensUpdated 3 days ago
    Auto-check passed
  • Official

    Submit feedback on an Expo skill—or Expo itself—and control bundled anonymous usage telemetry (off by default / opt-in).

    2.7k GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check passed
  • Expo Module

    expo/skills

    Official

    Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript).

    2.7k GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed

Categories

Questions about Expo Overview

What does Expo Overview do?

Entry point and router for every Expo or EAS task. An agent skill from expo/skills. Expo Overview is an agent skill from expo/skills, published by the product's own GitHub organization. Entry point and router for every Expo or EAS task.

When should I use Expo Overview?

Expo Overview fits situations like: tasks that involve Cross-platform mobile apps.

How do I install Expo Overview in Claude Code?

Run `npx skills add expo/skills --skill expo-overview -a claude-code`. Or copy the skill folder (plugins/expo/skills/expo-overview in expo/skills) into .claude/skills/expo-overview in your project. Claude Code loads it when a task matches its description.

How do I install Expo Overview in Codex?

Run `npx skills add expo/skills --skill expo-overview -a codex`. Or copy the skill folder (plugins/expo/skills/expo-overview in expo/skills) into .agents/skills/expo-overview in your project. Codex loads it when a task matches its description.

Can I use Expo Overview in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add expo/skills --skill expo-overview -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/expo-overview, .gemini/skills/expo-overview, .github/skills/expo-overview and .opencode/skills/expo-overview in your project.

What does Expo Overview need to run?

Going by SKILL.md and its folder, Expo Overview needs the command-line tools its instructions call (npx, eas and pnpm). Our summary lists: Node.js.

Does Expo Overview access the network?

SKILL.md names 1 domain. In commands or code: docs.expo.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Expo Overview safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Expo Overview use?

Expo Overview is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Expo Overview use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Expo Overview?

Skills that share tags, products or a category with Expo Overview: Upgrading React Native (callstackincubator/agent-skills, 1.7k stars), Enable Worklets Bundle Mode (software-mansion-labs/skills, 291 stars), React Native Best Practices (kingstinct/react-native-healthkit, 716 stars) and React Native Development (johnku2011/boilerplates-with-ai-skills, 240 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Expo Overview?

expo (a GitHub organization, an official publisher) maintains it in expo/skills, which has 2,685 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 7, 2026.

Source: expo/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.