expo

Standardize Expo mobile app architecture, state management, and native permissions.

Updated Mar 7, 2026
One-click install
npx skills add https://github.com/matheusz-nied/stay-hard-motivation --skill expo-matheusz-nied
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo
Source: https://github.com/matheusz-nied/stay-hard-motivation/tree/main/.local/skills/expo
Command: npx skills add https://github.com/matheusz-nied/stay-hard-motivation --skill expo-matheusz-nied

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide provides a structured set of conventions to streamline Expo mobile app development, ensuring teams follow consistent architecture, state management patterns, and native permission practices.

Core Features & Use Cases

  • Architecture: Guidelines for building mobile apps with Expo Router, emphasizing frontend-first design, minimal file count, and native feature integration.
  • State Management: Patterns for React Context and React Query to manage shared and server state with clear separation and minimal prop drilling.
  • TypeScript & Tooling: Type safety with explicit types, strict annotations, and safe imports to reduce runtime errors.
  • Networking & Environment: Best practices for API calls, environment configuration, and avoiding hard-coded URLs.
  • Safety & Compatibility: Adhere to Expo Go compatible libraries, proper error handling via a custom ErrorBoundary, and safe font loading with SplashScreen gating.
  • UI & Accessibility: Use native styling with StyleSheet, safe area handling via useSafeAreaInsets, and accessible components.

Quick Start

Create a minimal Expo app scaffold using Expo Router, set up React Context and React Query, and enable a sample native feature integration following these guidelines.

Frequently Asked Questions about expo

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

FAQPage Schema
What is the best way to structure an Expo Router app architecture?

State management in Expo apps should be handled by separating React Context for shared state and React Query for server state, ensuring clear boundaries and minimal prop drilling across components.

How do I handle native permissions safely in React Native with Expo?

To handle native permissions safely in Expo, adhere to Expo Go compatible libraries, implement custom ErrorBoundary components for error handling, and gate the SplashScreen until safe font loading completes.

How do I manage state in an Expo app using React Query and React Context?

State management in Expo apps should be handled by separating React Context for shared state and React Query for server state, ensuring clear boundaries and minimal prop drilling across components.

What TypeScript practices should I follow for Expo mobile development?

Expo mobile development TypeScript practices require explicit types, strict annotations, and safe imports to reduce runtime errors, ensuring robust type safety across the entire application.

How to configure environment variables and API networking in Expo?

Configuring environment and API networking in Expo involves following best practices for API calls, utilizing environment configuration, and avoiding hard-coded URLs to maintain secure and flexible networking.

Does Expo Go support all native libraries for React Native development?

Expo Go does not support all libraries; you must adhere to Expo Go compatible libraries to ensure safety and compatibility, utilizing proper error handling and safe area handling via useSafeAreaInsets.