> expo
Assists with building, deploying, and updating React Native applications using Expo. Use when setting up file-based routing with Expo Router, configuring EAS Build and Submit, implementing over-the-air updates, or integrating Expo SDK modules for camera, location, and notifications. Trigger words: expo, expo router, eas build, eas update, expo sdk.
curl "https://skillshub.wtf/TerminalSkills/skills/expo?format=md"Expo
Overview
Expo is a development platform for React Native that provides file-based routing (Expo Router), cloud builds (EAS Build), automated store submissions (EAS Submit), and over-the-air updates (EAS Update). It includes 50+ SDK modules for native device APIs and lets developers ship iOS and Android apps without managing Xcode or Android Studio.
Instructions
- When starting a new app, use
npx create-expo-appwith TypeScript and set up Expo Router for file-based navigation in theapp/directory with layouts, dynamic routes, and route groups. - When building for production, configure EAS Build profiles (
development,preview,production) ineas.jsonand use cloud builds instead of local builds for reproducibility. - When deploying updates, use EAS Update for instant JavaScript-only bug fixes that bypass app store review, with channel-based routing and rollback support.
- When accessing device APIs, use Expo SDK modules (
expo-camera,expo-location,expo-notifications,expo-secure-store) and config plugins to handle native permissions without ejecting. - When testing, use Expo Go for quick iteration on physical devices, and development builds for testing custom native modules.
- When optimizing performance, use
expo-imageover the built-inImagecomponent for caching and modern format support, and configure splash screens and app icons viaapp.config.ts.
Examples
Example 1: Build a mobile app with tab navigation and push notifications
User request: "Create an Expo app with tabs, push notifications, and deep linking"
Actions:
- Scaffold with
npx create-expo-appand set up Expo Router withapp/(tabs)/_layout.tsx - Configure
expo-notificationsfor push notifications (APNs and FCM) with config plugin - Add deep linking via universal links in
app.config.ts - Set up EAS Build profiles and EAS Submit for App Store and Google Play
Output: A tab-based mobile app with push notifications, deep linking, and automated store submission.
Example 2: Ship a bug fix via over-the-air update
User request: "Push an urgent fix to production without going through app store review"
Actions:
- Fix the bug in the JavaScript/TypeScript code
- Run
eas update --channel productionto publish the update - Verify the update fingerprint to ensure no native code changes are required
- Monitor rollout and use rollback if issues are detected
Output: A production fix deployed instantly to all users without waiting for app store review.
Guidelines
- Use Expo Router for navigation since file-based routing is simpler and supports deep linking automatically.
- Use EAS Build instead of local builds for reproducible, cross-platform builds without local Xcode or Android Studio.
- Use
expo-imageoverImagefor better caching, transitions, and modern format support (WebP, AVIF). - Store sensitive data in
expo-secure-store, never in AsyncStorage or MMKV which are unencrypted. - Use config plugins instead of ejecting to keep managed workflow benefits.
- Use development builds for testing native modules since Expo Go does not support custom native code.
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zoho
Integrate and automate Zoho products. Use when a user asks to work with Zoho CRM, Zoho Books, Zoho Desk, Zoho Projects, Zoho Mail, or Zoho Creator, build custom integrations via Zoho APIs, automate workflows with Deluge scripting, sync data between Zoho apps and external systems, manage leads and deals, automate invoicing, build custom Zoho Creator apps, set up webhooks, or manage Zoho organization settings. Covers Zoho CRM, Books, Desk, Projects, Creator, and cross-product integrations.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> zipkin
Deploy and configure Zipkin for distributed tracing and request flow visualization. Use when a user needs to set up trace collection, instrument Java/Spring or other services with Zipkin, analyze service dependencies, or configure storage backends for trace data.