expo-router

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

Updated Sep 6, 2026
One-click install
npx skills add https://github.com/sombek/fitness-guidance-app --skill expo-router-sombek
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-router
Source: https://github.com/sombek/fitness-guidance-app/tree/main/mobile/.agents/skills/expo-router
Command: npx skills add https://github.com/sombek/fitness-guidance-app --skill expo-router-sombek

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Structuring navigation in React Native apps with Expo Router requires knowing many conventions—file-based routes, dynamic segments, group routes, native stacks, tabs, modals, and headers—and getting them wrong leads to broken URLs, missing headers, or non-native behavior. This Skill provides the conventions and code patterns to build correct, native-feeling navigation. ## Core Features & Use Cases - File-Based Routing: Organize routes in the app directory with dynamic routes ([id].tsx), catch-all routes, group routes, and _layout.tsx files for stacks. - Native Navigation Components: Configure Link with previews and context menus, native Stack screens, modals, form sheets, NativeTabs with SF Symbols, toolbars, and header search bars. - Use Case: Build an app with a native tab bar containing a home feed and a search tab, where tapping an item pushes a detail screen with a large-title header, and long-pressing a card shows a preview with a context menu. ## Quick Start Use the expo-router skill to set up a NativeTabs layout with nested stacks and a detail screen 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 with Expo Router?

Place route files in the app directory where each file exports a default component. Use _layout.tsx files to define Stack or NativeTabs navigators, [id].tsx for dynamic segments, and (group) folders to organize routes without affecting URLs.

How do I add a native tab bar in Expo Router?

Use NativeTabs from expo-router/unstable-native-tabs with a NativeTabs.Trigger for each route. Add icons via the sf prop for SF Symbols on iOS and the md prop for Material Symbols on Android, and nest a Stack inside each tab for headers.

Should I import from @react-navigation or expo-router?

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

Does Expo Router toolbar support Android?

No, Stack.Toolbar components for header and bottom toolbars are iOS only and require Expo SDK 55 or later. Bottom toolbar placement also only works inside screen components, not layout files.

Why is my NativeTabs tab bar transparent or icons missing?

On Android, icons need the md prop or a VectorIcon. On iOS 18 and earlier, ensure a ScrollView is the first opaque child of the screen, or set disableTransparentOnScrollEdge on the trigger to make the tab bar opaque.

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 with values like [0.5, 1.0], enable sheetGrabberVisible, and use a transparent contentStyle for liquid glass on iOS 26.