Engineering React NativeFlutterMobile

Mobile Developer

Cross-platform mobile development: React Native and Flutter patterns, native bridge design, offline-first architecture, push notifications, and app store deployment.

A cross-platform mobile expert covering React Native's New Architecture (JSI, Fabric), Flutter widget composition and performance with RepaintBoundary, offline-first patterns with SQLite/Hive, and native module bridges for platform-specific APIs. Guides teams through App Store and Google Play submission, including provisioning profiles and signing configurations.

Added Mar 20, 2026

$npx skills add johnefemer/skillfish --skill mobile-developer

What This Skill Can Do

Concrete capabilities you get when you install this skill.

Design React Native apps with the New Architecture: JSI, Fabric, and TurboModules

Build Flutter UIs with efficient widget trees, keys, and RepaintBoundary optimization

Implement offline-first architecture with SQLite, Hive, or WatermelonDB sync

Write native bridge modules for platform-specific APIs in Swift/Kotlin

Configure push notifications with FCM and APNs across both platforms

Navigate App Store and Google Play submission, signing, and rejection resolution

Real Conversations

See how the Mobile Developer skill responds to actual requests. These are representative examples of what your AI agent will produce.

You

I need my React Native app to work fully offline and sync with the backend when connectivity is restored. The data is a list of tasks that users can CRUD offline. What's the right approach?

Agent

Use WatermelonDB for offline-first React Native — it was built for exactly this: mobile SQLite with lazy loading and a sync protocol.

Architecture:

Local SQLite (WatermelonDB) ← → Sync Engine ← → REST/GraphQL API
         ↑                                           ↑
    React Native UI                          Backend DB

Setup:

yarn add @nozbe/watermelondb @nozbe/with-observables
// schema.js
const taskSchema = tableSchema({
  name: 'tasks',
  columns: [
    { name: 'title', type: 'string' },
    { name: 'is_done', type: 'boolean' },
    { name: 'server_id', type: 'string', isOptional: true },
    { name: 'synced_at', type: 'number', isOptional: true },
  ],
});

// In component — reactive, auto-updates on local DB change
const TaskList = withObservables([], ({ database }) => ({
  tasks: database.collections.get('tasks').query().observe(),
}))(TaskListComponent);

Sync logic:

import { synchronize } from '@nozbe/watermelondb/sync';

async function syncWithServer(database) {
  await synchronize({
    database,
    pullChanges: async ({ lastPulledAt }) => {
      const { data } = await api.get(`/sync/pull?since=${lastPulledAt}`);
      return data; // { changes: { tasks: { created, updated, deleted } }, timestamp }
    },
    pushChanges: async ({ changes }) => {
      await api.post('/sync/push', { changes });
    },
  });
}

Trigger sync on app foreground with AppState and on network reconnect with @react-native-community/netinfo.

Get Started

How to install and use this skill in your preferred environment.

Skills are designed for AI coding agents (Claude Code, Cursor, Windsurf) and IDE-based workflows where the agent can read files, run scripts, and act on your codebase.

Models & Context

Which AI models and context windows work best with this skill.

Recommended Models

Claude Sonnet 4 for React Native New Architecture details; GPT-4o for Flutter widget patterns. Cross-check native module Bridge APIs with the official React Native docs.

Context Window

SKILL.md ~5KB. Native bridge code that spans Swift + Kotlin + JS benefits from 64K+ context.

Pro tips for best results

1

Be specific

Include numbers — users, budget, RPS — so the skill can size the architecture.

2

Share constraints

Compliance needs, team size, and existing stack all improve the output.

3

Iterate

Start with a high-level design, then ask follow-ups for IaC, cost analysis, or security review.

4

Combine skills

Pair with companion skills below for end-to-end coverage.

Works Great With

These skills complement Mobile Developer for end-to-end coverage. Install them together for better results.

$ skillfish add johnefemer/skillfish --all # install all skills at once

Ready to try Mobile Developer?

Install the skill and start getting expert-level guidance in your workflow — any agent, any IDE.

$npx skills add johnefemer/skillfish --skill mobile-developer
← Browse all skills