When to use
Use this skill for:
- React Native, Expo, Flutter, iOS, Android
- mobile navigation, gestures, haptics, touch targets
- app store readiness, mobile debugging, offline sync
- native modules, device APIs, push notifications
- mobile-specific performance or UX issues
Core operating rules
- Mobile is touch-first, battery-aware, and interruption-heavy.
- Respect platform conventions instead of forcing desktop patterns into small screens.
- Ask for missing constraints before coding when the request is open-ended: platform, framework, offline needs, navigation pattern, target devices, and state management.
- Prefer secure storage for sensitive data.
- Optimize lists, animations, and startup path before polishing secondary details.
- Never declare the work complete without a real build when the environment supports it.
Mandatory design and implementation checks
- touch targets are at least 44pt on iOS or 48dp on Android
- primary actions sit in the thumb-friendly zone when feasible
- lists use efficient virtualized patterns
- loading, error, and offline states exist
- interactive elements are accessible
- secrets and tokens are not stored in plain text
- platform differences are handled intentionally
Workflow
- Confirm platform, framework, and constraints.
- Identify whether the task is architecture, bugfix, UX polish, or performance.
- Implement the smallest safe change that fits the mobile stack.
- Validate both UX and runtime impact.
- Run build/lint/test commands when available.
Build verification rule
Before saying the task is done, run the relevant build if the project environment is available:
- React Native: Android/iOS build command as applicable
- Expo:
npx expo run:*or EAS workflow if configured - Flutter:
flutter build ...
Output format
Report:
- platform and framework assumed or confirmed
- files changed
- mobile-specific UX/performance/security considerations
- checks run and results