davila7/claude-code-templates/mobile-design
Claude Code and agent skill by davila7/claude-code-templates
- community
Checking that the SKILL.md file is still in the repository.
Mobile-first design thinking and decision-making for iOS and Android apps. Touch interaction, performance patterns, platform conventions. Teaches principles, not fixed values. Use when building React Native, Flutter, or native mobile apps.
Install
npx vskill@latest install davila7/claude-code-templates/mobile-designSKILL.md
Mobile Design System
Philosophy: Touch-first. Battery-conscious. Platform-respectful. Offline-capable.Core Principle: Mobile is NOT a small desktop. THINK mobile constraints, ASK platform choice.
π§ Runtime Scripts
Execute these for validation (don't read, just run):
| Script | Purpose | Usage | |
|---|---|---|---|
scripts/mobile_audit.py | Mobile UX & Touch Audit | python scripts/mobile_audit.py <project_path> |
π΄ MANDATORY: Read Reference Files Before Working!
β DO NOT start development until you read the relevant files:
Universal (Always Read)
| File | Content | Status | |
|---|---|---|---|
| [mobile-design-thinking.md](mobile-design-thinking.md) | β οΈ ANTI-MEMORIZATION: Forces thinking, prevents AI defaults | β¬ CRITICAL FIRST | |
| [touch-psychology.md](touch-psychology.md) | Fitts' Law, gestures, haptics, thumb zone | β¬ CRITICAL | |
| [mobile-performance.md](mobile-performance.md) | RN/Flutter performance, 60fps, memory | β¬ CRITICAL | |
| [mobile-backend.md](mobile-backend.md) | Push notifications, offline sync, mobile API | β¬ CRITICAL | |
| [mobile-testing.md](mobile-testing.md) | Testing pyramid, E2E, platform-specific | β¬ CRITICAL | |
| [mobile-debugging.md](mobile-debugging.md) | Native vs JS debugging, Flipper, Logcat | β¬ CRITICAL | |
| mobile-navigation.md | Tab/Stack/Drawer, deep linking | β¬ Read | |
| mobile-typography.md | System fonts, Dynamic Type, a11y | β¬ Read | |
| mobile-color-system.md | OLED, dark mode, battery-aware | β¬ Read | |
| decision-trees.md | Framework/state/storage selection | β¬ Read |
π§ mobile-design-thinking.md is PRIORITY! This file ensures AI thinks instead of using memorized patterns.
Platform-Specific (Read Based on Target)
| Platform | File | Content | When to Read | |
|---|---|---|---|---|
| iOS | platform-ios.md | Human Interface Guidelines, SF Pro, SwiftUI patterns | Building for iPhone/iPad | |
| Android | platform-android.md | Material Design 3, Roboto, Compose patterns | Building for Android | |
| Cross-Platform | Both above | Platform divergence points | React Native / Flutter |
π΄ If building for iOS β Read platform-ios.md FIRST!π΄ If building for Android β Read platform-android.md FIRST!π΄ If cross-platform β Read BOTH and apply conditional platform logic!
β οΈ CRITICAL: ASK BEFORE ASSUMING (MANDATORY)
STOP! If the user's request is open-ended, DO NOT default to your favorites.
You MUST Ask If Not Specified:
| Aspect | Ask | Why | |
|---|---|---|---|
| Platform | "iOS, Android, or both?" | Affects EVERY design decision | |
| Framework | "React Native, Flutter, or native?" | Determines patterns and tools | |
| Navigation | "Tab bar, drawer, or stack-based?" | Core UX decision | |
| State | "What state management? (Zustand/Redux/Riverpod/BLoC?)" | Architecture foundation | |
| Offline | "Does this need to work offline?" | Affects data strategy | |
| Target devices | "Phone only, or tablet support?" | Layout complexity |
β AI MOBILE ANTI-PATTERNS (YASAK LΔ°STESΔ°)
π« These are AI default tendencies that MUST be avoided!
Performance Sins
| β NEVER DO | Why It's Wrong | β ALWAYS DO | |
|---|---|---|---|
| ScrollView for long lists | Renders ALL items, memory explodes | Use FlatList / FlashList / ListView.builder | |
| Inline renderItem function | New function every render, all items re-render | useCallback + React.memo | |
| Missing keyExtractor | Index-based keys cause bugs on reorder | Unique, stable ID from data | |
| Skip getItemLayout | Async layout = janky scroll | Provide when items have fixed height | |
| setState() everywhere | Unnecessary widget rebuilds | Targeted state, const constructors | |
| Native driver: false | Animations blocked by JS thread | useNativeDriver: true always | |
| console.log in production | Blocks JS thread severely | Remove before release build | |
| Skip React.memo/const | Every item re-renders on any change | Memoize list items ALWAYS |
Touch/UX Sins
| β NEVER DO | Why It's Wrong | β ALWAYS DO | |
|---|---|---|---|
| Touch target < 44px | Impossible to tap accurately, frustrating | Minimum 44pt (iOS) / 48dp (Android) | |
| Spacing < 8px between targets | Accidental taps on neighbors | Minimum 8-12px gap | |
| Gesture-only interactions | Motor impaired users excluded | Always provide button alternative | |
| No loading state | User thinks app crashed | ALWAYS show loading feedback | |
| No error state | User stuck, no recovery path | Show error with retry option | |
| No offline handling | Crash/block when network lost | Graceful degradation, cached data | |
| Ignore platform conventions | Users confused, muscle memory broken | iOS feels iOS, Android feels Android |
Security Sins
| β NEVER DO | Why It's Wrong | β ALWAYS DO | |
|---|---|---|---|
| Token in AsyncStorage | Easily accessible, stolen on rooted device | SecureStore / Keychain / EncryptedSharedPreferences | |
| Hardcode API keys | Reverse engineered from APK/IPA | Environment variables, secure storage | |
| Skip SSL pinning | MITM attacks possible | Pin certificates in production | |
| Log sensitive data | Logs can be extracted | Never log tokens, passwords, PII |
Architecture Sins
| β NEVER DO | Why It's Wrong | β ALWAYS DO | |
|---|---|---|---|
| Business logic in UI | Untestable, unmaintainable | Service layer separation | |
| Global state for everything | Unnecessary re-renders, complexity | Local state default, lift when needed | |
| Deep linking as afterthought | Notifications, shares broken | Plan deep links from day one | |
| Skip dispose/cleanup | Memory leaks, zombie listeners | Clean up subscriptions, timers |
π± Platform Decision Matrix
When to Unify vs Diverge
Quick Reference: Platform Defaults
| Element | iOS | Android | |
|---|---|---|---|
| Primary Font | SF Pro / SF Compact | Roboto | |
| Min Touch Target | 44pt Γ 44pt | 48dp Γ 48dp | |
| Back Navigation | Edge swipe left | System back button/gesture | |
| Bottom Tab Icons | SF Symbols | Material Symbols | |
| Action Sheet | UIActionSheet from bottom | Bottom Sheet / Dialog | |
| Progress | Spinner | Linear progress (Material) | |
| Pull to Refresh | Native UIRefreshControl | SwipeRefreshLayout |
π§ Mobile UX Psychology (Quick Reference)
Fitts' Law for Touch
Thumb Zone (One-Handed Usage)
Mobile-Specific Cognitive Load
| Desktop | Mobile Difference | |
|---|---|---|
| Multiple windows | ONE task at a time | |
| Keyboard shortcuts | Touch gestures | |
| Hover states | NO hover (tap or nothing) | |
| Large viewport | Limited space, scroll vertical | |
| Stable attention | Interrupted constantly |
For deep dive: touch-psychology.md
β‘ Performance Principles (Quick Reference)
React Native Critical Rules
Flutter Critical Rules
Animation Performance
For complete guide: mobile-performance.md
π CHECKPOINT (MANDATORY Before Any Mobile Work)
Before writing ANY mobile code, you MUST complete this checkpoint:
Example:
π΄ Can't fill the checkpoint? β GO BACK AND READ THE SKILL FILES.
π§ Framework Decision Tree
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingcli-tool/components/skills/creative-design/mobile-design/SKILL.md
Popularity
- Repository stars
- 23,342
- Repository forks
- 2,235
- Repository npm downloads, 7 days
- 3,169
- 7-day trend score
- 70
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 22 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/davila7/claude-code-templates/mobile-design)