expo-router

Implements file-based navigation and routing for Expo Router React Native apps.

Updated Sep 13, 2026
One-click install
npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill expo-router-aadilmallick
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-router
Source: https://github.com/aadilmallick/myfitness-pal-clone/tree/main/.agents/skills/expo-router
Command: npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill expo-router-aadilmallick

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires expo-router, react-native-screens, and includes references (resource) components.

What problem does it solve? Structuring navigation in Expo apps requires knowledge of file-based routing conventions, native stack configuration, and platform-specific presentation patterns that are easy to get wrong. ## Core Features & Use Cases - File-Based Routing: Organize routes with dynamic segments, catch-all routes, and group routes while keeping the app directory free of co-located components. - Native Navigation Patterns: Configure native Stacks, NativeTabs, modals, form sheets, headers, toolbars, and header search bars following iOS conventions. - Rich Link Interactions: Add Link previews, context menus, and Apple Zoom transitions to navigation flows. - Use Case: When building a tabbed app with a diary, search, and detail screens, use this Skill to scaffold the route structure with NativeTabs, nested Stacks per tab, and a shared group route for screens pushed from multiple tabs. ## Quick Start Use the expo-router skill to set up a NativeTabs layout with nested Stacks and a modal form sheet for my Expo app.

Frequently Asked Questions about expo-router

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up file-based routing in Expo Router?

Place route files in the app directory where each file exports a default component. Use _layout.tsx files to define Stacks, square brackets like [id].tsx for dynamic routes, and parentheses like (group) for URL-independent grouping.

How do I add native tabs in Expo Router?

Import NativeTabs from expo-router/unstable-native-tabs and define a NativeTabs.Trigger per tab with Icon, Label, and Badge children. Nest a Stack inside each tab for headers, and use the role prop for search tabs.

How do I present a modal or bottom sheet in Expo Router?

Set presentation to modal or formSheet in Stack.Screen options. For form sheets, configure sheetAllowedDetents, sheetGrabberVisible, and transparent contentStyle for liquid glass on iOS 26.

Can I import from @react-navigation directly in Expo Router?

In SDK 56 and later, do not import from @react-navigation packages directly. Use expo-router/react-navigation instead, which covers native, core, elements, and routers subpackages.

Why is my tab bar transparent or headers missing in Expo Router?

Missing headers mean you need a Stack nested inside each tab. Transparent tab bars on iOS 18 and earlier require the ScrollView to be the first opaque child, or set disableTransparentOnScrollEdge on the trigger.

What are the limitations of NativeTabs in Expo Router?

NativeTabs supports a maximum of 5 tabs on Android, cannot nest inside other native tabs, and requires static tab definitions since dynamic changes remount the navigator and lose state.