MO

mobile-design

Evaluates mobile design feasibility and interaction complexity using the MFRI framework to prevent desktop-based design patterns.

Install

mkdir -p .claude/skills/mobile-design && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/675" && unzip -o skill.zip -d .claude/skills/mobile-design && rm skill.zip

Installs to .claude/skills/mobile-design

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

(Mobile-First · Touch-First · Platform-Respectful)
50 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Calculates feasibility using the MFRI score formula
  • Evaluates platform-specific navigation requirements
  • Identifies potential performance bottlenecks
  • Audits accessibility risk levels
  • Determines necessity of offline-first architecture

How it works

Calculates a numerical risk score based on accessibility, platform clarity, and performance constraints to determine if a design is safe or dangerous.

Inputs & outputs

You give it
Feature description or UI screen plan
You get back
MFRI score and mandated design actions

When to use mobile-design

  • Assess mobile feasibility of a new feature
  • Optimize touch interaction patterns
  • Improve mobile battery usage and performance
  • Implement offline-capable mobile workflows

About this skill

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.

When not to use it

  • Desktop-only application development
  • UI tasks where design system already exists and is locked

Limitations

  • Requires explicit platform definition
  • Subjective score interpretation may vary if dimensions aren't explicitly provided

How it compares

It forces an objective risk assessment before work begins, rather than letting the agent assume standard desktop patterns.

Compared to similar skills

mobile-design side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
mobile-design (this skill)1494moReviewIntermediate
mobile-games116moNo flagsIntermediate
iOS Animation Graphics Skill05moNo flagsIntermediate
mobile-ios-design2725moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

unity-developer

sickn33

Build Unity games with optimized C# scripts, efficient rendering, and proper asset management. Masters Unity 6 LTS, URP/HDRP pipelines, and cross-platform deployment. Handles gameplay systems, UI implementation, and platform optimization. Use PROACTIVELY for Unity performance issues, game mechanics, or cross-platform builds.

142357

architect-review

sickn33

Master software architect specializing in modern architecture patterns, clean architecture, microservices, event-driven systems, and DDD. Reviews system designs and code changes for architectural integrity, scalability, and maintainability. Use PROACTIVELY for architectural decisions.

109320

angular

sickn33

Modern Angular (v20+) expert with deep knowledge of Signals, Standalone Components, Zoneless applications, SSR/Hydration, and reactive patterns. Use PROACTIVELY for Angular development, component architecture, state management, performance optimization, and migration to modern patterns.

100129

frontend-slides

sickn33

Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.

95195

minecraft-bukkit-pro

sickn33

Master Minecraft server plugin development with Bukkit, Spigot, and Paper APIs. Specializes in event-driven architecture, command systems, world manipulation, player management, and performance optimization. Use PROACTIVELY for plugin architecture, gameplay mechanics, server-side features, or cross-version compatibility.

9078

fastapi-pro

sickn33

Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async patterns. Use PROACTIVELY for FastAPI development, async optimization, or API architecture.

79181

Search skills

Search the agent skills registry