Dev & Engineering

Expo Brownfield Integrator

Guides teams in incrementally embedding Expo and React Native into existing native iOS or Android applications.

58/ 100
Recommended

Generally reliable with disclosed limitations; trial as directed and keep a rollback path.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 2.9k
Last updated
22d ago
License
MIT
exporeact-nativebrownfieldios
+3androidaarxcframework

What does this skill do, and when should you use it?

This skill is for teams with an existing native iOS or Android app that want to adopt React Native incrementally. It explains two approaches: isolated delivery as an AAR or XCFramework, and integrated inclusion in the existing Gradle or CocoaPods build. It covers approach selection, shared prerequisites, version requirements, and troubleshooting. Expo SDK 55 is the minimum supported version for brownfield integration.

It helps choose isolated or integrated integration based on Node.js and React Native tooling requirements, hot reload, source maps, repository ownership, and release cadence. It explains consuming an AAR/XCFramework or adding React Native and Expo to Gradle and CocoaPods setups, including native entry points such as ReactActivity and RCTRootView. It also identifies troubleshooting areas involving Metro connectivity, builds, signing, and module resolution.

Good fit
  • An Android team wants to consume React Native as an AAR in an existing Kotlin application without installing Node.js.
  • An iOS team wants to consume a prebuilt XCFramework in an existing Swift application while keeping RN code in a separate repository.
  • A single team owns both native and RN code and wants Expo included directly in its Gradle and CocoaPods builds.
  • A legacy native application is adopting React Native incrementally and needs an architecture decision between isolated and integrated approaches.
  • A brownfield project needs to verify its Expo SDK version, autolinking entry points, and build-environment prerequisites.

How do you install this skill?

Before you use it
  • The references state both Expo SDK 54 and SDK 55 as minimum requirements; verify against the official template and the actual APIs for the target SDK before adoption.
  • Troubleshooting includes rm -rf commands for Maven, iOS build, Pods, and related paths; validate targets, preserve needed state, and prepare recovery before running them.
  • Remote private Maven publishing involves usernames, passwords, or tokens; use tightly scoped credentials through controlled environment variables and confirm the destination before publishing.
  • No executed build or test evidence is included for the skill's key paths.
Before you start
Your agent needs
  • Shell / CLI
  • Local filesystem
Install first
  • Node.js LTS
  • Yarn
  • CocoaPods for integrated iOS builds

This skill is part of the expo/skills collection. Install the collection with the Skills CLI: npx skills@latest add expo/skills --skill '*'. The README also documents codex plugin add expo@openai-curated for Codex and claude plugin install expo@claude-plugins-official for Claude Code. The source does not provide a CLI command for installing only expo-brownfield.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/expo/skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/plugins/expo/skills/expo-brownfield" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • I have an existing Kotlin Android app and want to embed Expo/React Native as an AAR. Which brownfield approach fits?
  • How do I integrate Expo and React Native into an existing Swift/CocoaPods project?

After installation, ask the agent a concrete request such as: “I have an existing Kotlin Android app and want to embed Expo/React Native as an AAR. Which brownfield approach fits?” or “How do I integrate Expo and React Native into an existing Swift/CocoaPods project?” When creating the project, pin the SDK explicitly, for example npx create-expo-app@latest my-project --template default@sdk-55, and use the same Expo SDK across the RN project and embedded dependencies.

What are this skill's strengths and limitations?

Pros
  • Covers both isolated and integrated brownfield architectures.
  • Provides decision rules based on team ownership, tooling, repository separation, and release cadence.
  • Addresses both iOS and Android, including common Metro, build, signing, and module-resolution issues.
  • Clearly states the Expo SDK 55 minimum version.
Limitations
  • The source presents implementation guidance; it does not show that the skill automatically builds or edits projects.
  • Both approaches require Node.js LTS and Yarn in the environment that builds the React Native side.
  • Integrated iOS builds additionally require CocoaPods; isolated consumers avoid RN tooling but the RN build side still has prerequisites.
  • The source provides no test suite or automated validation results.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Expo Brownfield Integrator this page 58 · Recommended ★ 2.9k 22d ago MIT
React Native Brownfield Migration 53 · Use with care ★ 1.7k 19d ago MIT
Expo Native UI Builder 59 · Recommended ★ 2.9k 22d ago MIT
Expo Web-to-Native Migration 52 · Use with care ★ 2.9k 22d ago MIT
React Native Migration Assessor 57 · Use with care ★ 1.7k 19d ago MIT

The source explicitly compares isolated and integrated integration. Isolated integration ships an AAR/XCFramework and fits native teams that do not want Node.js or RN tooling, or that maintain and release code in separate repositories. Integrated integration adds React Native sources to Gradle/CocoaPods and fits one team owning everything while requiring seamless hot reload and JS source maps.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Recommended
58/ 100 5-point scale 2.9 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust17 / 25 · 3.4/5

The material stays within the stated integration scope and describes build-time versus consumer-side dependencies, publication targets, and environment-variable credential flow. However, remote publishing and native build changes have external effects, while explicit user confirmation, least-privilege guidance, rollback procedures, and security review steps are incomplete, so points are deducted.

2Reliability8 / 20 · 2.0/5

The isolated and integrated paths, platform configuration, troubleshooting, and development/production differences are documented in useful detail. However, the references conflict on the minimum SDK requirement (SDK 54 versus SDK 55), and no committed test suite or statically verifiable execution evidence covers the key paths. Under static calibration, the score is capped at 10 and reduced for this uncertainty.

3Adaptability11 / 15 · 3.7/5

The audience, approach-selection rules, Android/iOS/monorepo scenarios, and several non-fit cases are reasonably clear. Trigger boundaries, input/output contracts, compatibility with non-standard build systems, Chinese-language support, and mainland-China network reachability are not sufficiently addressed, so points are deducted.

4Convention10 / 15 · 3.3/5

The skill has layered references, installation commands, examples, version guidance, troubleshooting, an MIT license, and repository maintenance workflows. It lacks a skill-specific version, changelog, clearly named maintenance owner, and explicit update path; some operational assumptions are distributed across the documents, so points are deducted.

5Effectiveness7 / 15 · 2.3/5

The documentation supplies directly reusable Gradle, Podfile, Kotlin, Swift, and publication examples that cover the core brownfield task. There is no verified build result or representative output evidence, and the SDK/API inconsistency may cause rework. Static calibration therefore caps the score at 7 and warrants a conservative score.

6Verifiability5 / 10 · 2.5/5

Expo documentation and GitHub template references, plus repository CI checks, provide some auditable support for the configuration claims. The selected skill has no dedicated tests, build artifacts, execution logs, or independent corroboration, so static calibration caps the score at 5 and points are deducted.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 20, 2026 Reviewed revision 8bd359f8a44d Review evidence[1][2][3][4][5][6][7][8][9][10][11]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does this skill cost money?
The repository is MIT-licensed. The source does not state that this individual skill costs money; the README places some EAS service skills in a paid-distribution group, while expo-brownfield is in the open-source Framework group.
What is the minimum supported Expo SDK?
Expo SDK 55. Earlier SDKs lack expo-brownfield, the required ExpoReactHostFactory/ExpoReactNativeFactory entry points, and the current autolinking surface.
Does an isolated integration require CocoaPods or Node.js in the consuming native app?
The isolated consuming app does not require CocoaPods or the React Native toolchain. The environment building the React Native side still requires Node.js LTS and Yarn.
When should I choose the integrated approach?
Choose it when one team owns the native and RN code, accepts adding React Native and Expo to Gradle/CocoaPods, and wants hot reload and JS source maps to work within the existing native build process.

More skills from this repository

All from expo/skills

Dev & Engineering

Expo Native UI Builder

Build native-feeling, cross-platform interfaces with @expo/ui.

★ 2.9k FS 59 Recommended 22d ago
Dev & Engineering

Expo Web-to-Native Migration

Turn an existing React website into a shippable Expo app, screen by screen.

★ 2.9k FS 52 Use with care 22d ago
Dev & Engineering

Expo Development Client Builder

Build and distribute Expo development clients for native-code testing.

★ 2.9k FS 54 Use with care 22d ago
Dev & Engineering

Expo App Store Release Assistant

Build and ship Expo apps to the App Store, Google Play, and TestFlight with EAS.

★ 2.9k FS 52 Use with care 22d ago
Dev & Engineering

Expo Skill Eval

End-to-end testing for Expo skill triggering, code quality, and runtime rendering.

★ 2.9k FS 48 Use with care 22d ago
Dev & Engineering

Expo App Structure Guide

A clear, scalable starting layout for a brand-new Expo Router app.

★ 2.9k FS 57 Use with care 22d ago
Automation & Ops

EAS Observe Performance Guide

Helps Expo teams instrument, query, and interpret production startup, navigation, and custom-event performance metrics.

★ 2.9k FS 55 Use with care 22d ago
Dev & Engineering

Expo Data Fetching

Practical networking guidance for Expo apps, covering API calls, caching, offline behavior, and authentication.

★ 2.9k FS 55 Use with care 22d ago
Dev & Engineering

Expo Skill Feedback

Collects feedback about Expo skills or Expo itself and manages anonymous usage telemetry.

★ 2.9k FS 54 Use with care 22d ago
Dev & Engineering

Expo Integration Examples

Adapt Expo’s official patterns for third-party integrations.

★ 2.9k FS 51 Use with care 22d ago
Design & Frontend

Expo Native UI Guide

Helps Expo developers build responsive screens with Apple-informed styling and a native-feeling experience.

★ 2.9k FS 51 Use with care 22d ago
Dev & Engineering

Expo SDK Upgrade Assistant

Guides Expo SDK upgrades, dependency fixes, and compatibility cleanup.

★ 2.9k FS 50 Use with care 22d ago
Dev & Engineering

Expo DOM Components

Reuse web code and browser-only libraries inside Expo native apps with incremental migration support.

★ 2.9k FS 49 Use with care 22d ago
Dev & Engineering

Expo Tailwind Styling Setup

Configure Tailwind CSS v4, NativeWind v5, and cross-platform styling for Expo apps.

★ 2.9k FS 43 Not recommended 22d ago
Dev & Engineering

EAS Cloud Simulator

Run, control, and capture Expo apps remotely when a local iOS simulator or Android emulator is unavailable.

★ 2.9k FS 60 Recommended 22d ago
Dev & Engineering

Expo Native Module Migration Assistant

Move an existing Expo Swift module from the 1.0 DSL to the 2.0 macro API without changing its JavaScript contract.

★ 2.9k FS 60 Recommended 22d ago
Dev & Engineering

Expo App Clip Builder

Configure an iOS App Clip for an Expo app and launch it from web URLs.

★ 2.9k FS 55 Use with care 22d ago
Automation & Ops

EAS Update Health Insights

Use the CLI to measure EAS Update health, adoption, crashes, and rollout readiness.

★ 2.9k FS 55 Use with care 22d ago
Automation & Ops

Expo EAS Workflow Assistant

Write and validate EAS CI/CD workflows for Expo projects.

★ 2.9k FS 50 Use with care 22d ago
Dev & Engineering

Expo EAS Hosting Deployments

Deploy Expo websites and API routes while configuring secrets, domains, and the edge runtime.

★ 2.9k FS 48 Use with care 22d ago

Related skills