expo-module

Create and modify Expo native modules with Swift, Kotlin, and TypeScript.

2.4k|125|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/expo/skills --skill expo-module-expo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-module
Source: https://github.com/expo/skills/tree/main/plugins/expo/skills/expo-module
Command: npx skills add https://github.com/expo/skills --skill expo-module-expo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill simplifies the process of creating and extending native modules for Expo apps, allowing developers to add platform-specific features and functionality more efficiently.

Core Features & Use Cases

  • Native Module Creation: Scaffold new native modules with Swift, Kotlin, or TypeScript.
  • Module Extension: Add support for additional platforms to existing modules.
  • Config Plugins: Customize native project files using config plugins.
  • Use Case: Need to add camera functionality to your Expo app? Use this Skill to create a native module that interfaces with the device's camera API.

Quick Start

Scaffold a new native module for the camera feature using create-expo-module camera --platform apple android.

Frequently Asked Questions about expo-module

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

FAQPage Schema
How do I create an Expo native module for iOS and Android?

To create an Expo native module for iOS and Android, you can scaffold the project structure with Swift and Kotlin code using the `create-expo-module` command, specifying the target platforms like `--platform apple android` to automate the initial setup.

What are Expo config plugins used for?

Expo config plugins are used to customize native project files for your app. They allow you to modify platform-specific configurations and extend native functionality without manually editing the native iOS or Android project directories directly.

When do I need to build a custom native module in Expo?

You need to build a custom native module in Expo when you want to add platform-specific features or interface with device APIs that are not available through the standard JavaScript library, such as creating a custom camera interface.

Can I add platform support to an existing Expo module?

Yes, you can extend an existing Expo module to add support for additional platforms. This allows you to progressively expand your module's compatibility and platform-specific functionality after the initial creation.

Do I need Swift and Kotlin knowledge to modify Expo native modules?

Yes, modifying Expo native modules requires Swift and Kotlin knowledge because these are the primary languages used for writing the platform-specific iOS and Android code that the TypeScript interface communicates with.