What problem does it solve? Porting an existing web React app (Next.js, Vite, CRA) to native iOS/Android has no transpiler and no safe big-bang rewrite path. This Skill provides an ordered, strangler-fig migration playbook: stand up an Expo shell, run the whole web UI inside DOM components on day one, then nativize screens one at a time while the app stays shippable. ## Core Features & Use Cases - Assessment and worklist: Reads the repo, separates screens from backend routes, and buckets each screen as port-as-is, nativize-now, nativize-later, or hybrid in a durable migration-progress.md file. - Day-one DOM shell: Brings every screen over as an Expo DOM component so the full app runs on a phone before anything is nativized, shippable to TestFlight immediately. - Native redesign guidance: Maps web UX patterns to @expo/ui SwiftUI/Compose components, Expo Router navigation, and mobile interactions, with a false-friends reference translating web idioms (DOM, CSS, localStorage, React Router) to native equivalents. - Run-time verification: Compares the running web original (via agent-browser) against the native screen (via argent on a simulator) for content and behavior parity, including motion recordings. - Use Case: A team with a Next.js SaaS dashboard wants an iOS app. The Skill assesses routes, ships a DOM-component shell in week one, then nativizes the hot screens with @expo/ui while flagging that Stripe digital-goods payments must move to in-app purchase via RevenueCat. ## Quick Start Use the expo-web-to-native skill to assess this web React repo and start migrating it to a native Expo app screen by screen.