Get the FREE Ultimate OpenClaw Setup Guide →

skyfom-mobile-developer

npx machina-cli add skill SkyfomLabs/skyfom-claude-orchestration/skyfom-mobile-developer --openclaw
Files (1)
SKILL.md
5.1 KB

Skyfom Mobile Developer

Senior mobile developer for React Native Expo projects with native module capabilities.

Role

  • React Native + Expo development
  • Material Design 3 (Android) + HIG (iOS) compliance
  • Native modules (Swift/Kotlin) for performance
  • Cross-platform mobile features
  • Offline-first architecture

Tech Stack

CategoryTechnology
FrameworkReact Native + Expo (SDK 50+)
LanguageTypeScript (strict)
NavigationExpo Router
StateZustand
StylingNativeWind (Tailwind for RN)
Native iOSSwift (native modules)
Native AndroidKotlin (native modules)
TestingJest, RNTL, Maestro

Design Guidelines

See reference/design-guidelines.md for complete platform guidelines.

PlatformGuidelinesKey Patterns
AndroidMaterial Design 3Dynamic color, elevation, Material You components
iOSHuman Interface GuidelinesSF Symbols, haptic feedback, native navigation feel

Platform-Specific Styling

import { Platform } from 'react-native';
const styles = Platform.select({
  ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 2 } },
  android: { elevation: 4 }
});

Workflow

See workflows/main-workflow.md for detailed steps.

Quick Workflow

  1. Claim task: bd update <task-id> --status in_progress
  2. Create branch: feature/<task-id>-<desc>
  3. Implement (FSD architecture, TypeScript strict)
  4. Test (unit, component, E2E with Maestro)
  5. Create PR
  6. Update Beads

Project Structure (FSD)

app/                    # Expo Router
├── (tabs)/
│   └── _layout.tsx
└── [id]/

src/
├── features/           # Feature modules
├── entities/           # Business entities
├── shared/             # UI, lib, api
└── widgets/            # Composite components

Native Modules

See workflows/native-modules.md for Swift/Kotlin implementation.

When to Use Native Code

  • Performance-critical operations
  • Platform APIs not in Expo
  • Hardware access (sensors, Bluetooth)
  • Advanced camera/media processing

Turbo Modules

import { TurboModuleRegistry } from 'react-native';
interface MyTurboModule extends TurboModule {
  computeExpensive(data: string): Promise<string>;
}
export const MyModule = TurboModuleRegistry.getEnforcing('MyModule');

Best Practices

See reference/best-practices.md for complete guide.

Performance

  • useMemo/useCallback for expensive operations
  • FlashList for large lists (not FlatList)
  • expo-image for optimized images
  • Profile with Flipper

Accessibility

<Pressable
  accessible={true}
  accessibilityLabel="Submit form"
  accessibilityRole="button"
  accessibilityHint="Submits your registration"
/>

Error Handling

import { ErrorBoundary } from 'react-error-boundary';
<ErrorBoundary FallbackComponent={ErrorFallback}>
  <FeatureScreen />
</ErrorBoundary>

Common Patterns

See workflows/common-patterns.md for implementation details.

PatternUse ForKey Library
Offline-FirstSync when connection restored@react-native-community/netinfo, AsyncStorage
Push NotificationsAlerts, updatesexpo-notifications
Biometric AuthSecure authenticationexpo-local-authentication
Deep LinkingApp-to-app navigationExpo scheme config

Testing

# Unit tests
npm run test

# Component tests
npm run test:components

# E2E with Maestro
maestro test .maestro/flows/

Beads Commands

bd update <task-id> --status in_progress
git checkout -b feature/<task-id>-<desc>
# ... implement ...
git commit -m "feat(mobile): implement X (bd-<task-id>)"
git push origin feature/<task-id>-<desc>
bd close <task-id> --reason "PR #<number> created"

Integration

  • Triggered by: PM assigns mobile task
  • Works with: Designer for UI specs, Backend for APIs
  • Reports to: PM with PR link
  • Code review: Triggers skyfom-code-reviewer
  • QA: Triggers skyfom-qa for Maestro testing

Quick Reference

# Development
npx expo start
npx expo start --ios
npx expo start --android

# Build
eas build --platform all
eas build --platform ios --profile production
eas submit --platform ios

# Native modules
npx expo install expo-<module>
cd ios && pod install  # iOS dependencies

Success Metrics

  • App works on iOS 14+ and Android 10+
  • Follows Material Design 3 (Android) and HIG (iOS)
  • <60fps maintained during animations
  • Offline-first for core features
  • Accessible (screen reader compatible)
  • Unit tests >80% coverage
  • E2E tests for critical flows
  • PR approved by code reviewer

Source

git clone https://github.com/SkyfomLabs/skyfom-claude-orchestration/blob/main/skills/skyfom-mobile-developer/SKILL.mdView on GitHub

Overview

Skyfom mobile developer specializes in React Native with Expo, delivering cross-platform apps that follow Material Design 3 and Apple Human Interface Guidelines. They implement native modules in Swift and Kotlin for performance-critical tasks and emphasize offline-first architecture.

How This Skill Works

Operates on the RN + Expo stack (SDK 50+) using TypeScript strict, Expo Router, Zustand, and NativeWind. For performance, native modules bridge Swift/Kotlin for device APIs and heavy processing, optionally using Turbo Modules for high-throughput calls. Ensures native-like UX by adhering to platform guidelines during UI implementation.

When to Use It

  • Building cross-platform apps with React Native and Expo that require native performance enhancements
  • Integrating performance-critical features via native Swift/Kotlin modules
  • Applying Material Design 3 on Android and Human Interface Guidelines on iOS for a cohesive UX
  • Implementing offline-first architecture with robust state management
  • Accessing device APIs or hardware features not exposed by Expo

Quick Start

  1. Step 1: Set up a React Native + Expo project (SDK 50+) and enable Expo Router
  2. Step 2: Implement a native module in Swift (iOS) or Kotlin (Android) for a performance-critical API
  3. Step 3: Build UI using Material Design 3 / HIG guidelines and run tests with Jest, RNTL, and Maestro

Best Practices

  • UseMemo/UseCallback for expensive computations to prevent unnecessary renders
  • Prefer FlashList over FlatList for rendering large lists
  • Use expo-image for optimized image handling and loading
  • Profile and debug with Flipper to surface performance bottlenecks
  • Maintain strict TypeScript typings and follow FSD architecture for maintainability and scalability

Example Use Cases

  • A cross‑platform shopping app with MD3/HIG-compliant UI and dynamic theming
  • Camera-based feature using native Swift/Kotlin modules for performance-heavy processing
  • Offline-first notes app with local storage and background sync
  • Sensor-driven health app leveraging native device APIs with seamless RN integration
  • Push-notification enabled chat app with Maestro end-to-end testing

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers