mobile-design

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

31,392 stars
Complexity: easy

About this skill

This skill equips AI agents with a comprehensive philosophy and framework for designing mobile applications. It emphasizes a mobile-first, touch-first, battery-conscious, and platform-respectful approach, explicitly stating that "Mobile is NOT a small desktop." Its core operating rule is to "think constraints first, aesthetics second." The primary goal is to counteract desktop-centric thinking, generic AI defaults, and unsafe assumptions often made when developing for mobile. A key component is the Mobile Feasibility & Risk Index (MFRI), designed to assess the viability and potential challenges of any mobile feature or screen before design or implementation begins, ensuring a more thoughtful and resilient development process.

Best use case

An AI agent tasked with generating mobile application designs, critiquing existing mobile UIs, or evaluating the feasibility of mobile features for product development.

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

Mobile application designs that are truly mobile-first, intuitive, performant, and respectful of user context and device capabilities. It will also produce structured feasibility assessments for mobile features, highlighting potential risks and considerations upfront.

Practical example

Example input

Design a minimalist mobile login screen for a travel booking app, ensuring it's touch-first and considers battery usage. Also, provide a brief MFRI assessment for integrating offline booking capabilities.

Example output

**Login Screen Design Proposal (Mobile-First Principles):**
*   **Layout:** Single-column, large tap targets for input fields and buttons. Clear visual hierarchy focusing on primary action.
*   **Input Fields:** Auto-focus on username/email field. Use appropriate keyboard types (email, password). Show/hide password toggle.
*   **Interaction:** Large, easily tappable 'Login' button at the bottom. Minimalistic animations for feedback. Avoid complex gestures.
*   **Battery Consciousness:** Avoid excessive animations, background processes, or frequent network calls on initial load. Dark mode option suggested for OLED screens.
*   **Platform Respectful:** Use native UI elements where appropriate for consistent look/feel (e.g., date pickers).

**MFRI Assessment for Offline Booking Capabilities:**
*   **Dimension 1 (Connectivity Dependence):** High risk (5/5) – Offline booking requires robust local storage, synchronization logic, and conflict resolution when reconnected.
*   **Dimension 2 (Data Volume):** Medium (3/5) – Booking data can vary. Caching search results, user profiles, and past bookings can be significant.
*   **Dimension 3 (Real-time Requirements):** High (4/5) – Real-time availability checks are crucial. Offline booking implies speculative bookings that need reconciliation.
*   **Dimension 4 (User Experience Complexity):** High (4/5) – Managing user expectations for offline actions, clear feedback on sync status, and handling booking failures.
*   **Dimension 5 (Security Implications):** Medium (3/5) – Secure local storage of sensitive booking information and payment details.

**Recommendation:** Offline booking is feasible but requires significant architectural effort to manage data synchronization, conflict resolution, and user experience. Prioritize core offline features first, like viewing past bookings, before implementing full offline booking.

When to use this skill

  • When asked to design a new mobile application or feature from scratch.
  • When evaluating or refining existing mobile UI/UX designs.
  • When assessing the technical and user experience feasibility of proposed mobile functionalities.
  • To ensure designs adhere to best practices for mobile responsiveness, touch interaction, and platform integration.

When not to use this skill

  • For designing web applications intended primarily for desktop use.
  • For backend development tasks without direct UI implications.
  • When the task is purely about data analysis, text processing, or non-design-related functions.
  • For highly platform-specific native development tasks that require deep SDK knowledge beyond general design principles.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/mobile-design/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/mobile-design/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/mobile-design/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How mobile-design Compares

Feature / Agentmobile-designStandard Approach
Platform SupportClaudeLimited / Varies
Context Awareness High Baseline
Installation ComplexityeasyN/A

Frequently Asked Questions

What does this skill do?

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

Which AI agents support this skill?

This skill is designed for Claude.

How difficult is it to install?

The installation complexity is rated as easy. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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. Mobile Feasibility & Risk Index (MFRI)

Before designing or implementing **any mobile feature or screen**, assess feasibility.

### MFRI Dimensions (1–5)

| Dimension                  | Question                                                          |
| -------------------------- | ----------------------------------------------------------------- |
| **Platform Clarity**       | Is the target platform (iOS / Android / both) explicitly defined? |
| **Interaction Complexity** | How complex are gestures, flows, or navigation?                   |
| **Performance Risk**       | Does this involve lists, animations, heavy state, or media?       |
| **Offline Dependence**     | Does the feature break or degrade without network?                |
| **Accessibility Risk**     | Does this impact motor, visual, or cognitive accessibility?       |

### Score Formula

```
MFRI = (Platform Clarity + Accessibility Readiness)
       − (Interaction Complexity + Performance Risk + Offline Dependence)
```

**Range:** `-10 → +10`

### Interpretation

| MFRI     | Meaning   | Required Action                       |
| -------- | --------- | ------------------------------------- |
| **6–10** | Safe      | Proceed normally                      |
| **3–5**  | Moderate  | Add performance + UX validation       |
| **0–2**  | Risky     | Simplify interactions or architecture |
| **< 0**  | Dangerous | Redesign before implementation        |

---

## 2. Mandatory Thinking Before Any Work

### ⛔ STOP: Ask Before Assuming (Required)

If **any of the following are not explicitly stated**, you MUST ask before proceeding:

| Aspect     | Question                                   | Why                                      |
| ---------- | ------------------------------------------ | ---------------------------------------- |
| Platform   | iOS, Android, or both?                     | Affects navigation, gestures, typography |
| Framework  | React Native, Flutter, or native?          | Determines performance and patterns      |
| Navigation | Tabs, stack, drawer?                       | Core UX architecture                     |
| Offline    | Must it work offline?                      | Data & sync strategy                     |
| Devices    | Phone only or tablet too?                  | Layout & density rules                   |
| Audience   | Consumer, enterprise, accessibility needs? | Touch & readability                      |

🚫 **Never default to your favorite stack or pattern.**

---

## 3. Mandatory Reference Reading (Enforced)

### Universal (Always Read First)

| File                          | Purpose                            | Status            |
| ----------------------------- | ---------------------------------- | ----------------- |
| **mobile-design-thinking.md** | Anti-memorization, context-forcing | 🔴 REQUIRED FIRST |
| **touch-psychology.md**       | Fitts’ Law, thumb zones, gestures  | 🔴 REQUIRED       |
| **mobile-performance.md**     | 60fps, memory, battery             | 🔴 REQUIRED       |
| **mobile-backend.md**         | Offline sync, push, APIs           | 🔴 REQUIRED       |
| **mobile-testing.md**         | Device & E2E testing               | 🔴 REQUIRED       |
| **mobile-debugging.md**       | Native vs JS debugging             | 🔴 REQUIRED       |

### Platform-Specific (Conditional)

| Platform       | File                |
| -------------- | ------------------- |
| iOS            | platform-ios.md     |
| Android        | platform-android.md |
| Cross-platform | BOTH above          |

> ❌ If you haven’t read the platform file, you are not allowed to design UI.

---

## 4. AI Mobile Anti-Patterns (Hard Bans)

### 🚫 Performance Sins (Non-Negotiable)

| ❌ Never                   | Why                  | ✅ Always                                |
| ------------------------- | -------------------- | --------------------------------------- |
| ScrollView for long lists | Memory explosion     | FlatList / FlashList / ListView.builder |
| Inline renderItem         | Re-renders all rows  | useCallback + memo                      |
| Index as key              | Reorder bugs         | Stable ID                               |
| JS-thread animations      | Jank                 | Native driver / GPU                     |
| console.log in prod       | JS thread block      | Strip logs                              |
| No memoization            | Battery + perf drain | React.memo / const widgets              |

---

### 🚫 Touch & UX Sins

| ❌ Never               | Why                  | ✅ Always          |
| --------------------- | -------------------- | ----------------- |
| Touch <44–48px        | Miss taps            | Min touch target  |
| 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 |
| Hardcoded secrets      | Reverse engineered | Env + secure storage   |
| No SSL pinning         | MITM risk          | Cert pinning           |
| Log sensitive data     | PII leakage        | Never log secrets      |

---

## 5. Platform Unification vs Divergence Matrix

```
UNIFY                          DIVERGE
──────────────────────────     ─────────────────────────
Business logic                Navigation behavior
Data models                    Gestures
API contracts                  Icons
Validation                     Typography
Error semantics                Pickers / dialogs
```

### 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 (Required Pattern)

```ts
const Row = React.memo(({ item }) => (
  <View><Text>{item.title}</Text></View>
));

const renderItem = useCallback(
  ({ item }) => <Row item={item} />,
  []
);

<FlatList
  data={items}
  renderItem={renderItem}
  keyExtractor={(i) => i.id}
  getItemLayout={(_, i) => ({
    length: ITEM_HEIGHT,
    offset: ITEM_HEIGHT * i,
    index: i,
  })}
/>
```

### Flutter (Required Pattern)

```dart
class Item extends StatelessWidget {
  const Item({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text('Static');
  }
}
```

* `const` everywhere possible
* Targeted rebuilds only

---

## 8. Mandatory Mobile Checkpoint

Before writing **any code**, you must complete this:

```
🧠 MOBILE CHECKPOINT

Platform:     ___________
Framework:    ___________
Files Read:   ___________

3 Principles I Will Apply:
1.
2.
3.

Anti-Patterns I Will Avoid:
1.
2.
```

❌ Cannot complete → go back and read.

---

## 9. Framework Decision Tree (Canonical)

```
Need OTA + web team → React Native + Expo
High-perf UI → Flutter
iOS only → SwiftUI
Android only → Compose
```

No debate without justification.

---

## 10. Release Readiness Checklist

### Before Shipping

* [ ] Touch targets ≥ 44–48px
* [ ] Offline handled
* [ ] Secure storage used
* [ ] Lists optimized
* [ ] Logs stripped
* [ ] Tested on low-end devices
* [ ] Accessibility labels present
* [ ] MFRI ≥ 3

---

## 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.

Related Skills

mobile-security-coder

31392
from sickn33/antigravity-awesome-skills

Expert in secure mobile coding practices specializing in input validation, WebView security, and mobile-specific security patterns.

SecurityClaude

mobile-developer

31392
from sickn33/antigravity-awesome-skills

Develop React Native, Flutter, or native mobile apps with modern architecture patterns. Masters cross-platform development, native integrations, offline sync, and app store optimization.

Development ToolsClaude

kpi-dashboard-design

31392
from sickn33/antigravity-awesome-skills

Comprehensive patterns for designing effective Key Performance Indicator (KPI) dashboards that drive business decisions.

Business Intelligence & AnalyticsClaude

game-design

31392
from sickn33/antigravity-awesome-skills

Game design principles. GDD structure, balancing, player psychology, progression.

Game DevelopmentClaude

frontend-mobile-security-xss-scan

31392
from sickn33/antigravity-awesome-skills

You are a frontend security specialist focusing on Cross-Site Scripting (XSS) vulnerability detection and prevention. Analyze React, Vue, Angular, and vanilla JavaScript code to identify injection poi

SecurityClaude

frontend-mobile-development-component-scaffold

31392
from sickn33/antigravity-awesome-skills

You are a React component architecture expert specializing in scaffolding production-ready, accessible, and performant components. Generate complete component implementations with TypeScript, tests, s

Code GenerationClaude

frontend-design

31392
from sickn33/antigravity-awesome-skills

You are a frontend designer-engineer, not a layout generator.

Web DevelopmentClaude

event-store-design

31392
from sickn33/antigravity-awesome-skills

Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.

Software ArchitectureClaude

domain-driven-design

31392
from sickn33/antigravity-awesome-skills

Plan and route Domain-Driven Design work from strategic modeling to tactical implementation and evented architecture patterns.

Software DevelopmentClaude

design-orchestration

31392
from sickn33/antigravity-awesome-skills

Orchestrates design workflows by routing work through brainstorming, multi-agent review, and execution readiness in the correct order.

Workflow AutomationClaude

design-md

31392
from sickn33/antigravity-awesome-skills

Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files

Design SystemsClaude

deployment-pipeline-design

31392
from sickn33/antigravity-awesome-skills

Architecture patterns for multi-stage CI/CD pipelines with approval gates and deployment strategies.

DevOps & InfrastructureClaude