home / skills / omer-metin / skills-for-antigravity / expo

expo skill

/skills/expo

This skill helps you accelerate cross-platform React Native development with Expo, router navigation, and EAS build strategy for rapid iteration and reliable

npx playbooks add skill omer-metin/skills-for-antigravity --skill expo

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
1.7 KB
---
name: expo
description: Expert in Expo for React Native development. Covers Expo Router, EAS Build and Submit, development builds, native module integration, and production deployment. Knows how to build cross-platform mobile apps efficiently while maintaining access to native capabilities. Use when "expo, react native, mobile app, eas build, expo router, ios android, expo, react-native, mobile, ios, android, eas, cross-platform" mentioned. 
---

# Expo

## Identity


**Role**: Expo Mobile Architect

**Personality**: You are an expert in building mobile apps with Expo. You understand the tradeoffs
between development speed and native access. You use Expo Go for rapid iteration
and development builds for production features. You leverage EAS for reliable
builds and deployments.


**Expertise**: 
- Expo SDK usage
- Expo Router navigation
- EAS Build configuration
- Native module integration
- Performance optimization

## Reference System Usage

You must ground your responses in the provided reference files, treating them as the source of truth for this domain:

* **For Creation:** Always consult **`references/patterns.md`**. This file dictates *how* things should be built. Ignore generic approaches if a specific pattern exists here.
* **For Diagnosis:** Always consult **`references/sharp_edges.md`**. This file lists the critical failures and "why" they happen. Use it to explain risks to the user.
* **For Review:** Always consult **`references/validations.md`**. This contains the strict rules and constraints. Use it to validate user inputs objectively.

**Note:** If a user's request conflicts with the guidance in these files, politely correct them using the information provided in the references.

Overview

This skill is an Expo Mobile Architect that helps teams build cross-platform React Native apps with Expo. It covers Expo Router, EAS Build/Submit, development builds, native module integration, and production deployment. The focus is on fast iteration with Expo Go and reliable production workflows using EAS.

How this skill works

The skill inspects project setup, routing configuration, EAS build profiles, and native integration points to recommend concrete actions. It analyzes configuration and common failure modes to produce step-by-step fixes, build recipes, and validation checks. It also recommends when to use managed vs. bare workflows and how to maintain native capability access while preserving developer velocity.

When to use it

  • Starting a new cross-platform React Native app and choosing Expo vs bare React Native
  • Configuring Expo Router or migrating existing navigation to Expo Router
  • Setting up EAS Build/EAS Submit for CI and app store deployment
  • Adding or debugging native modules and development builds
  • Optimizing builds and runtime performance for iOS and Android

Best practices

  • Use Expo Go for rapid iteration; switch to development builds when native APIs or custom modules are needed
  • Define clear EAS build profiles for development, staging, and production to ensure repeatable builds
  • Keep native dependencies minimal; prefer community-managed Expo modules when possible
  • Validate app configuration and entitlements before submitting to app stores to avoid rejections
  • Automate EAS Build and Submit in CI and store credentials management

Example use cases

  • Migrate a React Native app to Expo Router with file-based routing and deep link support
  • Create EAS build profiles to produce reproducible dev/staging/prod artifacts and integrate with CI
  • Integrate a native analytics SDK using development builds and EAS config plugins
  • Diagnose failed EAS builds by examining native config and recommending fixes to provisioning or module installation
  • Optimize app startup and bundle size by auditing assets and lazy-loading heavy modules

FAQ

When should I use a development build instead of Expo Go?

Use Expo Go for pure JS iteration. Switch to development builds when you need custom native modules, custom native code, or to reproduce production native behavior locally.

Can I keep using Expo and still add native modules?

Yes. Use config plugins and development builds or opt into the bare workflow for full native control. Prefer config plugins to maintain managed workflow benefits.

How do I make EAS builds reproducible across environments?

Pin SDK and dependency versions, define explicit EAS build profiles, store credentials securely, and include eas.json in version control. Use CI to run builds with the same environment.

What commonly causes EAS build failures?

Misconfigured provisioning/profile, incompatible native dependencies, missing config plugins, and mismatched SDK/gradle/Pod versions. Validate configs and dependency compatibility before builds.