Dev & Engineering expoexpo-routerproject-structurereact-nativetypescriptplatform-specific-files

Expo App Structure Guide

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

FollowSkills review · FSRS-2.0
Not recommended
57/ 100 5-point scale 2.9 / 5
Trust17 / 25 · 3.4/5

The skill explicitly limits use to new projects and asks for confirmation when project age is uncertain. No malware, credential theft, covert exfiltration, or destructive default was found. It states that server code may read secret environment variables, but lacks detailed data-flow disclosure, permission isolation, confirmation, rollback, and dependency-security guidance, so 8 points are deducted.

Reliability8 / 20 · 2.0/5

The folder rules, route constraints, and platform-file guidance are broadly self-consistent, including default-file and naming requirements. There are no tests, execution results, abnormal-input handling, or diagnosable failure messages; key paths cannot be verified from static material, so the score is limited to 8.

Adaptability12 / 15 · 4.0/5

The name, trigger, and non-fit boundary are reasonably clear: the skill targets new Expo Router projects and forbids restructuring existing apps. The proposed output is a directly usable folder skeleton. Input validation, broader edge cases, Chinese-language support, and local-network fit are not addressed, although the core function does not depend on overseas services, so 3 points are deducted.

Convention9 / 15 · 3.0/5

The documentation is well layered and includes a tree example, naming conventions, platform variants, colocated tests, license, and version 1.0.0. It lacks FAQs, troubleshooting, a changelog, explicit maintenance ownership, and a clear update path; repository-level README material supplies some installation/update information but is not wholly skill-local, so 6 points are deducted.

Effectiveness7 / 15 · 2.3/5

The skill covers the core layout areas—src/app, components, screens, server code, platform files, and colocated tests—and its examples can directly guide a new project. There is no statically verifiable representative execution output and little evidence comparing alternatives or costs; the static ceiling therefore limits the score to 7.

Verifiability4 / 10 · 2.0/5

The skill cites an Expo blog and official documentation and presents concrete, auditable rules; the repository also provides a license and basic CI checks. However, no committed tests or third-party execution evidence cover this skill's key paths, and nothing was executed for this review, so 4 points are awarded.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 8bd359f8a44d
Before you use it
  • Use only for new Expo projects without an established folder structure; applying it to an existing app could cause unnecessary migration.
  • For app/api, server/, and secret environment variables, the document does not define access boundaries, deployment security, logging treatment, or rollback procedures.
  • Expo Router behavior and related best practices may change with versions; verify them against current official documentation before adoption.
Review evidence [1][2][3][4][5][6][7]
See the full review method →

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

This skill is for new Expo applications that do not yet have a committed folder structure. It defines roles for src/app, components, screens, server, utils, hooks, and project-level configuration, including route files, API routes, platform variants, styles, and tests. It explicitly does not prescribe restructuring an existing app; when the project’s status is unclear, ask first. Expo documentation, Expo CLI, and EAS CLI remain the sources of truth.

Provides a starter directory skeleton for a new Expo app; keeps src/app limited to Expo Router routes; assigns reusable UI, screen bodies, server-only helpers, utilities, hooks, configuration, and assets to specific locations; documents platform-specific filename conventions and required default files; recommends colocating styles and tests; explains the src/app switch and the default @/* alias to ./src/*.

  1. A developer starting a new Expo Router app without an established folder layout.
  2. A team deciding whether a file belongs in routes, reusable components, screen bodies, server code, or utilities.
  3. A developer organizing app/api server routes and shared server-only helpers.
  4. A developer arranging separate iOS, Android, native, and Web implementations.
  5. A new project that wants tests colocated beside the utility files they cover.

What are this skill's strengths and limitations?

Pros
  • Clearly separates routes, screen bodies, reusable components, and server code.
  • Covers platform-specific files, colocated styles, and colocated tests.
  • Sets an explicit boundary against treating a starter layout as a migration standard.
  • Includes guidance for grouping API routes and isolating server-only helpers.
Limitations
  • Provides organization guidance only; no migration script, file generator, or test suite is included.
  • Its scope is limited to new Expo projects and excludes restructuring existing apps.
  • The source provides no evidence of testing across different Expo, React Native, or Metro versions.
  • Project-specific business architecture and team conventions remain outside its scope.

How do you install this skill?

The README documents installation for the full Expo skills collection, not a standalone installation command for this skill. Install the collection with Skills CLI: npx skills@latest add expo/skills --skill '*'. For Claude Code, use claude plugin install expo@claude-plugins-official; for Codex, use codex plugin add expo@openai-curated. Restart or refresh the agent session afterward.

How do you use this skill?

Use it when planning the structure of a brand-new Expo Router project, for example: “Plan the folder structure for my new Expo Router app and explain where each file should live.” Do not use it to force an existing app into this layout; ask first if it is unclear whether the project is new.

How does this skill compare with similar options?

Expo documentation, Expo CLI, and EAS CLI remain the official sources of truth. This skill supplies folder-structure guidance and does not replace those tools or documentation.

FAQ

Can it restructure an existing Expo app?
No. It is intended only for a new project with no committed folder structure; existing conventions should be preserved.
Is this skill free to adopt?
The README places it in the open-source Framework skill group, and the repository is MIT-licensed; the source does not state additional costs for this skill.
Does it automatically create or move files?
No such automation is documented. The supplied material contains structure rules and examples, not file-generation or migration scripts.
Does it require Expo Router?
Its rules are built around Expo Router, including the requirement that src/app contain route files only.

More skills from this repository

All from expo/skills

Dev & Engineering

Expo Web-to-Native Migration

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

Dev & Engineering

Expo DOM Components

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

Dev & Engineering

Expo Native UI Builder

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

Dev & Engineering

Expo Integration Examples

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

Dev & Engineering

Expo Tailwind Styling Setup

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

Dev & Engineering

Expo Brownfield Integrator

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

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.

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 Skill Eval

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

Dev & Engineering

Expo EAS Hosting Deployments

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

Dev & Engineering

Expo Router Navigation Guide

Design file-based routes and native navigation for Expo apps.

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 Native Module Builder

A practical guide to creating Expo native modules and views with Swift, Kotlin, and TypeScript.

Dev & Engineering

EAS Cloud Simulator

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

Automation & Ops

EAS Update Health Insights

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

Dev & Engineering

Expo App Clip Builder

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

Dev & Engineering

Expo Development Client Builder

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

Related skills