PluginBench
Skill
Pass
Audit score 90

mobile-design

sickn33/agentic-awesome-skills

Mobile-first design system preventing desktop-thinking and unsafe assumptions in app development.

What is mobile-design?

A structured framework for designing and building mobile applications with touch-first, battery-conscious, and platform-respectful principles. Use this skill before designing any mobile feature to assess feasibility, avoid common anti-patterns, and ensure accessibility and performance.

  • Assess mobile feasibility using the Mobile Feasibility & Risk Index (MFRI) scoring system
  • Enforce mandatory platform clarity (iOS, Android, framework, navigation) before starting work
  • Identify and prevent 18+ documented AI mobile anti-patterns in performance, touch UX, and security
  • Provide platform-specific guidance for iOS and Android with unification vs. divergence rules
  • Apply Fitts' Law and touch psychology to ensure accessible, usable interfaces
  • Validate designs against required reference materials before implementation

How to install mobile-design

npx skills add https://github.com/sickn33/agentic-awesome-skills --skill mobile-design
Prerequisites
  • Understanding of target platform (iOS, Android, or both)
  • Familiarity with at least one mobile framework (React Native, Flutter, or native)
  • Willingness to read platform-specific reference files before design work
Claude Code
Cursor
Windsurf
Cline

How to use mobile-design

  1. 1.Complete the Mobile Checkpoint questionnaire identifying your platform, framework, and three core principles
  2. 2.Read the mandatory reference files (mobile-design-thinking.md, touch-psychology.md, mobile-performance.md, mobile-backend.md, mobile-testing.md, mobile-debugging.md)
  3. 3.Read the platform-specific file(s) for your target platform(s)
  4. 4.Calculate the Mobile Feasibility & Risk Index (MFRI) for your feature
  5. 5.Cross-check your design against the 18+ documented anti-patterns in performance, touch UX, and security
  6. 6.Apply platform unification vs. divergence rules to your architecture

Use cases

Good for
  • Evaluating whether a feature is feasible on mobile before committing to development
  • Designing list-based interfaces that maintain 60fps performance without memory bloat
  • Creating cross-platform apps that respect iOS and Android platform conventions separately
  • Securing sensitive data (tokens, credentials) using platform-native secure storage
  • Building offline-capable features with proper sync and error recovery
Who it's for
  • Mobile app developers (React Native, Flutter, native iOS/Android)
  • AI coding agents designing or implementing mobile features
  • Product managers evaluating mobile feature feasibility
  • UX designers building touch-first interfaces
  • Security-conscious teams handling sensitive mobile data

mobile-design FAQ

What is the Mobile Feasibility & Risk Index (MFRI)?

A scoring system (-10 to +10) that assesses five dimensions: platform clarity, interaction complexity, performance risk, offline dependence, and accessibility risk. Scores 6-10 are safe to proceed; 3-5 require validation; 0-2 are risky; below 0 require redesign.

What are the most critical anti-patterns to avoid?

Performance: never use ScrollView for long lists (use FlatList/ListView.builder), avoid inline renderItem, don't use index as key. Touch UX: never use touch targets under 44-48px, avoid gesture-only actions, always provide loading states. Security: never store tokens in AsyncStorage, never hardcode secrets, always use SSL pinning.

How do iOS and Android differ in mobile design?

iOS uses SF Pro font with 44pt minimum touch targets and edge swipe for back; Android uses Roboto with 48dp touch targets and system back button. Business logic and data models unify across platforms, but navigation, gestures, icons, and typography diverge.

What files must I read before designing mobile UI?

Universal: mobile-design-thinking.md, touch-psychology.md, mobile-performance.md, mobile-backend.md, mobile-testing.md, mobile-debugging.md. Platform-specific: platform-ios.md for iOS, platform-android.md for Android. You cannot design UI without reading the platform file.

What questions must I ask before starting any mobile work?

Platform (iOS/Android/both), framework (React Native/Flutter/native), navigation pattern (tabs/stack/drawer), offline requirement, device scope (phone/tablet), and audience type (consumer/enterprise/accessibility needs). Never assume defaults.

Full instructions (SKILL.md)

Source of truth, from sickn33/agentic-awesome-skills.


name: mobile-design description: "(Mobile-First · Touch-First · Platform-Respectful)" risk: critical source: community date_added: "2026-02-27"

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)

DimensionQuestion
Platform ClarityIs the target platform (iOS / Android / both) explicitly defined?
Interaction ComplexityHow complex are gestures, flows, or navigation?
Performance RiskDoes this involve lists, animations, heavy state, or media?
Offline DependenceDoes the feature break or degrade without network?
Accessibility RiskDoes this impact motor, visual, or cognitive accessibility?

Score Formula

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

Range: -10 → +10

Interpretation

MFRIMeaningRequired Action
6–10SafeProceed normally
3–5ModerateAdd performance + UX validation
0–2RiskySimplify interactions or architecture
< 0DangerousRedesign 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:

AspectQuestionWhy
PlatformiOS, Android, or both?Affects navigation, gestures, typography
FrameworkReact Native, Flutter, or native?Determines performance and patterns
NavigationTabs, stack, drawer?Core UX architecture
OfflineMust it work offline?Data & sync strategy
DevicesPhone only or tablet too?Layout & density rules
AudienceConsumer, enterprise, accessibility needs?Touch & readability

🚫 Never default to your favorite stack or pattern.


3. Mandatory Reference Reading (Enforced)

Universal (Always Read First)

FilePurposeStatus
mobile-design-thinking.mdAnti-memorization, context-forcing🔴 REQUIRED FIRST
touch-psychology.mdFitts’ Law, thumb zones, gestures🔴 REQUIRED
mobile-performance.md60fps, memory, battery🔴 REQUIRED
mobile-backend.mdOffline sync, push, APIs🔴 REQUIRED
mobile-testing.mdDevice & E2E testing🔴 REQUIRED
mobile-debugging.mdNative vs JS debugging🔴 REQUIRED

Platform-Specific (Conditional)

PlatformFile
iOSplatform-ios.md
Androidplatform-android.md
Cross-platformBOTH 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)

❌ NeverWhy✅ Always
ScrollView for long listsMemory explosionFlatList / FlashList / ListView.builder
Inline renderItemRe-renders all rowsuseCallback + memo
Index as keyReorder bugsStable ID
JS-thread animationsJankNative driver / GPU
console.log in prodJS thread blockStrip logs
No memoizationBattery + perf drainReact.memo / const widgets

🚫 Touch & UX Sins

❌ NeverWhy✅ Always
Touch <44–48pxMiss tapsMin touch target
Gesture-only actionExcludes usersButton fallback
No loading stateFeels brokenExplicit feedback
No error recoveryDead endRetry + message
Ignore platform normsMuscle memory brokeniOS ≠ Android

🚫 Security Sins

❌ NeverWhy✅ Always
Tokens in AsyncStorageEasily stolenSecureStore / Keychain
Hardcoded secretsReverse engineeredEnv + secure storage
No SSL pinningMITM riskCert pinning
Log sensitive dataPII leakageNever 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

ElementiOSAndroid
FontSF ProRoboto
Min touch44pt48dp
BackEdge swipeSystem back
SheetsBottom sheetDialog / sheet
IconsSF SymbolsMaterial 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)

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)

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.

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.