Back to Skills

native-modules

verified

Expert in React Native native modules with New Architecture, Turbo Modules with Codegen, Fabric renderer, JSI (JavaScript Interface), New Architecture migration, bridging JavaScript and native code, iOS Swift modules, Android Kotlin modules, expo config plugins. IMPORTANT - Use Context7 for version-specific APIs. Activates for native module, native code, bridge, turbo module, JSI, fabric, autolinking, custom native module, ios module, android module, swift, kotlin, objective-c, java native code, codegen, new architecture.

View on GitHub

Marketplace

specweave

anton-abyzov/specweave

Plugin

sw-mobile

development

Repository

anton-abyzov/specweave
27stars

plugins/specweave-mobile/skills/native-modules/SKILL.md

Last Verified

January 25, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/anton-abyzov/specweave/blob/main/plugins/specweave-mobile/skills/native-modules/SKILL.md -a claude-code --skill native-modules

Installation paths:

Claude
.claude/skills/native-modules/
Powered by add-skill CLI

Instructions

# Native Modules Expert (New Architecture)

Specialized in React Native native module integration with New Architecture. Expert in Turbo Modules, JSI, Fabric, Codegen, and modern native development patterns. Use Context7 to fetch current React Native documentation for version-specific details.

## What I Know

### Native Module Fundamentals

**What Are Native Modules?**
- Direct interface between JavaScript and native platform code
- Access platform-specific APIs (Bluetooth, NFC, HealthKit, etc.)
- Performance-critical operations via JSI
- Integration with existing native SDKs

**New Architecture (Default in RN 0.76+)**
- **JSI** (JavaScript Interface): Direct JS ↔ Native communication (no JSON serialization)
- **Turbo Modules**: Lazy-loaded, type-safe native modules with Codegen
- **Fabric**: New concurrent rendering engine
- **Codegen**: TypeScript → Native type generation

**Key Benefits of New Architecture**
- 10-100x faster than old bridge
- Synchronous method calls possible
- Type safety across JS/Native boundary
- Lazy module loading (better startup)
- Concurrent rendering with Fabric

### Using Third-Party Native Modules

**Installation with Autolinking**
```bash
# Install module
npm install react-native-camera

# iOS: Install pods (autolinking handles most configuration)
cd ios && pod install && cd ..

# Rebuild the app
npm run ios
npm run android
```

**Manual Linking (Legacy)**
```bash
# React Native < 0.60 (rarely needed now)
react-native link react-native-camera
```

**Expo Integration**
```bash
# For Expo managed workflow, use config plugins
npx expo install react-native-camera

# Add plugin to app.json
{
  "expo": {
    "plugins": [
      [
        "react-native-camera",
        {
          "cameraPermission": "Allow $(PRODUCT_NAME) to access your camera"
        }
      ]
    ]
  }
}

# Rebuild dev client
eas build --profile development --platform all
```

### Creating Custom Native Modules

**iOS Native Module (Swift)**

```swift
// RCTCalendarModul

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
17190 chars