jutsu-expo:expo-router

Implement file-based routing in Expo apps using Expo Router.

187|20|Updated Nov 20, 2025
One-click install
npx skills add https://github.com/TheBushidoCollective/han --skill jutsu-expo-expo-router
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jutsu-expo:expo-router
Source: https://github.com/TheBushidoCollective/han/tree/main/jutsu/jutsu-expo/skills/expo-router
Command: npx skills add https://github.com/TheBushidoCollective/han --skill jutsu-expo-expo-router

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you implement Expo Router file-based routing with a clear app structure, layouts, and deep linking, reducing navigation boilerplate.

Core Features & Use Cases

  • File-Based Routing: Routes are defined by file structure (as shown in examples) and simplify navigation.
  • Layouts & Groups: Nested layouts and tab groups for clean UI architecture.
  • Dynamic Routes & Deep Linking: Support dynamic segments and deep linking to specific screens.

Quick Start

Create an Expo app skeleton using expo-router with an app directory containing _layout.tsx, index.tsx, about.tsx, (tabs)/_layout.tsx, and users/[id].tsx.

Frequently Asked Questions about jutsu-expo: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 an Expo app?

File-based routing in Expo apps uses the app directory structure to automatically define routes. Create an app folder with _layout.tsx as the root layout and index.tsx as your home screen. Expo Router maps files and folders to routes, eliminating manual route configuration and reducing navigation boilerplate.

Can I use dynamic routes and deep linking with Expo Router?

Yes. Expo Router supports dynamic segments using bracket notation—files like users/[id].tsx create routes that accept parameters. Deep linking integrates automatically, allowing you to link directly to specific screens with URL parameters passed as route props.

How do I organize nested layouts and tab navigation in Expo Router?

Nested layouts are created by placing _layout.tsx files in subdirectories. Tab groups use directory names wrapped in parentheses, like (tabs)/_layout.tsx, which define tab structure without affecting the URL path. This keeps your app directory clean while maintaining complex UI hierarchies.

What's the difference between file-based routing and manual navigation setup?

File-based routing automatically generates routes from your file structure, eliminating hardcoded route definitions. Manual navigation requires explicit route registration and navigation logic. Expo Router's file-based approach scales navigation configuration with your app's growth and reduces error-prone boilerplate.

Do I need TypeScript to use Expo Router?

Expo Router supports both TypeScript and JavaScript. TypeScript enables type-safe routing with automatic intellisense for route names and parameters, but it's optional. You can start with JavaScript and migrate to TypeScript later as your app grows.

Can Expo Router handle complex app structures with multiple layout levels?

Yes. Expo Router supports unlimited nesting of layouts and groups. Root layouts wrap your entire app, nested layouts apply to subdirectories, and grouped directories organize segments without affecting routes. This flexibility enables intricate UI structures from simple directory hierarchies.