Dev & Engineering exporeact-nativebrownfieldiosandroidaarxcframework

Expo Brownfield Integrator

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

FollowSkills review · FSRS-2.0
Not recommended
58/ 100 5-point scale 2.9 / 5
Trust17 / 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.

Reliability8 / 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.

Adaptability11 / 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.

Convention10 / 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.

Effectiveness7 / 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.

Verifiability5 / 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.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 8bd359f8a44d
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.
See the full review method →

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.

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

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 do you install this skill?

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.

How do you use this skill?

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.

How does this skill compare with similar options?

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.

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.

Dev & Engineering

Expo Web-to-Native Migration

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

Dev & Engineering

Expo Development Client Builder

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

Dev & Engineering

Expo App Store Release Assistant

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

Dev & Engineering

Expo Skill Eval

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

Dev & Engineering

Expo App Structure Guide

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

Automation & Ops

EAS Observe Performance Guide

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

Dev & Engineering

Expo Data Fetching

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

Dev & Engineering

Expo Skill Feedback

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

Dev & Engineering

Expo Integration Examples

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

Design & Frontend

Expo Native UI Guide

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

Dev & Engineering

Expo SDK Upgrade Assistant

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

Dev & Engineering

Expo DOM Components

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

Dev & Engineering

Expo Tailwind Styling Setup

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

Dev & Engineering

EAS Cloud Simulator

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

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.

Dev & Engineering

Expo App Clip Builder

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

Automation & Ops

EAS Update Health Insights

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

Automation & Ops

Expo EAS Workflow Assistant

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

Dev & Engineering

Expo EAS Hosting Deployments

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

Related skills