expo-router-expert

Configure Expo Router file-based routing with dynamic routes and layouts.

Updated Nov 25, 2025
One-click install
npx skills add https://github.com/gounthar/bazel-riscv --skill expo-router-expert
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-router-expert
Source: https://github.com/gounthar/bazel-riscv/tree/main/.claude/skills expo/expo-router
Command: npx skills add https://github.com/gounthar/bazel-riscv --skill expo-router-expert

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Clarifies and implements file-based routing with dynamic segments, layouts, and deep linking for Expo/React Native apps, reducing navigation boilerplate.

Core Features & Use Cases

  • Routing & App Directory: app structure, dynamic routes, and layout composition.
  • Navigation APIs: programmatic and declarative navigation with deep linking.
  • TypeScript Integration: strong typing for routes and parameters.
  • Use Case: Build scalable navigation for complex apps with nested routes.

Quick Start

Ask: "Show me a dynamic route /blog/[slug] with a root layout using Expo Router."

Frequently Asked Questions about expo-router-expert

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 for React Native apps?

File-based routing in Expo Router automatically maps your app directory structure to routes. Create files in your app folder—folders become route segments, and files become pages. Expo Router generates the navigation stack from this structure, eliminating manual route configuration and reducing navigation boilerplate across mobile and web platforms.

Can I create dynamic routes with URL parameters in Expo Router?

Dynamic routes in Expo Router use bracket syntax: name a file [slug] to capture URL parameters. Access parameters via useLocalSearchParams() hook, and define TypeScript types for strong type safety. This pattern handles blog posts, product pages, and other parameter-driven content across web and mobile.

How do layouts work in Expo Router for organizing nested navigation?

Layouts in Expo Router wrap child routes and persist UI across navigation. Create a _layout.tsx file to define shared headers, tab bars, or drawers. Child routes automatically nest under the layout, enabling complex multi-level navigation hierarchies without repeating wrapper code.

How do I implement deep linking with Expo Router?

Deep linking in Expo Router maps URLs to routes automatically based on your file structure. Configure linking in app.json to handle custom schemes and domains, then use the file path to determine which route opens. Deep links work across mobile and web, routing users directly to specific pages from external sources.

Does Expo Router support TypeScript for type-safe routing?

Expo Router provides built-in TypeScript support with strong typing for routes and URL parameters. Define parameter types using hooks like useLocalSearchParams and useSearchParams, enabling autocomplete and compile-time safety. This prevents runtime navigation errors and improves developer experience across large apps.

What are the limitations of file-based routing in Expo Router?

File-based routing requires strict directory conventions and may feel restrictive for highly dynamic or programmatic routing needs. Route guards and conditional routes require additional middleware patterns. Complex nested routes can become deeply nested directories, and some advanced navigation patterns need custom hook composition.