mobile-design

(Mobile-First · Touch-First · Platform-Respectful)

By sickn33 · 3,515 installs

npx skills add sickn33/agentic-awesome-skills --skill mobile-design

Source repository · Upstream listing

Mobile Design System (Mobile First · Touch First · Platform Respectful) Philosophy: Touch first. Battery conscious. Platform respectful. Offline capable. Core Law: Mobile is NOT a small desktop. Operating Rule: Think constraints first, aesthetics second. This skill exists to prevent desktop thinking, AI defaults, and unsafe assumptions when designing or building mobile applications. 1. Scope and risk Use the existing project/platform requirements and preserve its conventions. Ask only for missing information that changes the implementation. Do not require an interview or framework switch for a targeted fix. The former MFRI score was an unvalidated heuristic with inconsistent dimensions/range; it is not a safety or release gate. Record concrete interaction, data, accessibility and performance risks instead. 2. Choose the relevant checks For a new app, establish platform, framework, audience, device classes, navigation, offline needs and actual output. For existing work, reuse that context. Read only the reference material needed for the changed behavior. User scope and repository instructions take precedence over this skill's suggested ceremony. 3. Mandatory Reference Reading (Enforced) Reference map (read what the task needs) File Purpose Status mobile design thinking.md Anti memorization, context forcing Context reference touch psychology.md Fitts’ Law, thumb zones, gestures Task dependent mobile performance.md 60fps, memory, battery Task dependent mobile backend.md Offline sync, push, APIs Task dependent mobile testing.md Device & E2E testing Task dependent mobile debugging.md Native vs JS debugging Task dependent Platform Specific (Conditional) Platform File iOS platform ios.md Android platform android.md Cross platform BOTH above Read the relevant platform guidance before changing platform specific behavior. 4. AI Mobile Anti Patterns (Hard Bans) 🚫 Performance Sins (Non Negotiable) ❌ Never Why ✅ Always ScrollView for long lists Memory explosion FlatList / FlashList / ListView.builder Unmeasured row churn May cause avoidable work Profile identity/state updates; memoize only where useful Index as key Reorder bugs Stable ID JS thread animations Jank Native driver / GPU console.log in prod JS thread block Strip logs Blanket memoization claims Can add complexity without benefit Profile and apply targeted optimization 🚫 Touch & UX Sins ❌ Never Why ✅ Always Undersized hit area Miss taps Use platform logical units: typically 44pt iOS / 48dp Android Gesture only action Excludes users Button fallback No loading state Feels broken Explicit feedback No error recovery Dead end Retry + message Ignore platform norms Muscle memory broken iOS ≠ Android 🚫 Security Sins ❌ Never Why ✅ Always Tokens in AsyncStorage Easily stolen SecureStore / Keychain Embedded app secrets Can be extracted Keep server secrets on server; secure per user credentials Disabled TLS verification MITM risk Valid platform TLS; pinning only for a justified managed threat model Log sensitive data PII leakage Never log secrets 5. Platform Unification vs Divergence Matrix Platform Defaults Element iOS Android Font SF Pro Roboto Min touch 44pt 48dp Back Edge swipe System back Sheets Bottom sheet Dialog / sheet Icons SF Symbols Material Icons 6. Mobile UX Psychology (Non Optional) Fitts’ Law (Touch Reality) Finger ≠ cursor Accuracy is low Reach matters more than precision Rules: Primary CTAs live in thumb zone Destructive actions pushed away No hover assumptions 7. Performance Doctrine React Native (fixed height illustrative pattern) Flutter (illustrative static widget) const everywhere possible Targeted rebuilds only 8. Implementation evidence State the target platform, changed behavior and checks actually performed. Profile representative devices/data; a static pattern scan cannot measure touch targets, contrast, frame rate, battery, platform navigation or secure storage behavior. 9. Framework choice Preserve an existing stack unless a change is requested. For new work compare team experience, native integrations, accessibility, deployment policies and measured workload constraints. Expo OTA is bounded by runtime compatibility and store policies; it does not authorize bypassing review or delivering arbitrary native code. No framework is universally fastest or smallest. 10. Release Readiness Checklist Before Shipping [ ] Platform hit targets checked in logical units [ ] Offline handled [ ] Secure storage used [ ] Lists optimized [ ] Logs stripped [ ] Tested on low end devices [ ] Accessibility labels present [ ] Concrete risks and any unavailable checks documented 11. Related Skills frontend design – Visual systems & components frontend dev guidelines – RN/TS architecture backend dev guidelines – Mobile safe APIs error tracking – Crash & performance telemetry Final Law: Mobile users are distracted, interrupted, and impatient—often using one hand on a bad network with low battery. Design for that reality, or your app will fail quietly. When to Use This skill is applicable to execute the workflow or actions described in the overview. Limitations Use this skill only when the task clearly matches the scope described above. Do not treat the output as a substitute for environment specific validation, testing, or expert review. Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing. Audit helper and limits Run python scripts/mobile audit.py . json from the intended project directory. The helper is read only, bounded and advisory. It never imports project code and never declares compliance; compliant is null. Exit 2 means incomplete inspection or no detected mobile source. Source pattern hints can match comments or miss behavior spread across files. Validate findings before editing. No simulator, real device, screen reader or GPU run was performed in this catalog review. Use [touch guidance](touch psychology.md), [typography](mobile typography.md), [color](mobile color system.md), [navigation](mobile navigation.md) and [decisions](decision trees.md) for focused checks. Code blocks are version sensitive fragments, not certified complete apps; verify current APIs before execution.