expo-module

Create cross-platform native modules for Expo applications using the Expo Modules API.

2|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/emilyLi2020/WAVE --skill expo-module-emilyli2020
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-module
Source: https://github.com/emilyLi2020/WAVE/tree/main/.agents/skills/expo-module
Command: npx skills add https://github.com/emilyLi2020/WAVE --skill expo-module-emilyli2020

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Building native functionality for Expo apps traditionally requires manual setup of platform-specific code, bridging between JavaScript and native layers, and complex configuration for iOS and Android projects, which is time-consuming and error-prone for developers. This Skill eliminates that friction by providing a complete, structured reference for the Expo Modules API.

Core Features & Use Cases

  • Cross-Platform Native Module Development: Includes DSL references for Swift (iOS), Kotlin (Android), and TypeScript to build native modules that work seamlessly across all Expo-supported platforms.
  • Config Plugins & Lifecycle Management: Covers creating config plugins to modify native project files (like Info.plist and AndroidManifest.xml) and implementing lifecycle hooks for app and module events.
  • Use Case: For example, if you need to add a custom Bluetooth device integration to an Expo app, use this Skill to build the native module wrapper, set up required permissions via config plugins, and expose the functionality to your TypeScript codebase.

Quick Start

Use the expo-module skill to scaffold a new standalone Expo native module with Function and AsyncFunction features for your cross-platform React Native app.

Frequently Asked Questions about expo-module

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

FAQPage Schema
How do I create a cross-platform Expo native module in Swift and Kotlin?

Config plugins modify native project files like Info.plist and AndroidManifest.xml during the Expo prebuild phase. They are used to add required permissions, native configurations, and SDK dependencies when integrating system APIs into Expo modules.

When do I need to build a custom Expo module instead of using an existing React Native library?

The Expo Modules API provides a type system and DSL that allow you to define native functions, async functions, and native view components. These are exposed to JavaScript through shared objects, enabling synchronous and asynchronous communication with native platform code.

Does this approach support lifecycle hooks for app and module events in React Native?

Yes, the Expo Modules API supports implementing lifecycle hooks for app and module events within your React Native application. This allows your native modules to respond to foregrounding, backgrounding, and other system-level state changes.

What are the limitations of using the Expo Modules API for mobile development?

A limitation of using the Expo Modules API is that it requires writing and maintaining separate Swift and Kotlin implementations for iOS and Android. Developers must have platform-specific knowledge to handle native system APIs and config plugin configurations correctly.