Expo App Structure Guide
A clear, scalable starting layout for a brand-new Expo Router app.
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.
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.
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.
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.
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.
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.
- 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.
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/*.
- A developer starting a new Expo Router app without an established folder layout.
- A team deciding whether a file belongs in routes, reusable components, screen bodies, server code, or utilities.
- A developer organizing app/api server routes and shared server-only helpers.
- A developer arranging separate iOS, Android, native, and Web implementations.
- A new project that wants tests colocated beside the utility files they cover.
What are this skill's strengths and limitations?
- 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.
- 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.