Agent skill

mobile-design

Generates distinctive, production-grade mobile interfaces for Flutter and React Native. Prioritizes platform-native patterns, adaptive layouts, and fluid motion. Use when building mobile apps, screens, widgets, or when the user requests to style or create visually striking mobile UI.

Stars 129
Forks 45

Install this agent skill to your Project

npx add-skill https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/mobile-design

SKILL.md

Mobile Design Skill

This skill guides creation of distinctive, production-grade mobile interfaces that feel native to the platform while maintaining a unique aesthetic identity. Implement real working code with exceptional attention to platform conventions and creative design choices.

The user provides mobile UI requirements: a screen, widget, feature, or complete app interface. They may include context about the platform (iOS/Android), audience, or technical constraints.

Design Thinking

Before coding, understand the context and commit to a platform-aware aesthetic direction:

  • Platform: iOS (Cupertino), Android (Material 3), or cross-platform? Each has distinct expectations.
  • Tone: Pick a direction — refined luxury, playful/energetic, utilitarian/efficient, editorial/content-first, organic/warm, bold/geometric, soft/pastel, etc.
  • Constraints: Performance on low-end devices, offline capability, accessibility.
  • Differentiation: What makes this app memorable? What's the signature interaction?

CRITICAL: Mobile users have muscle memory. Respect platform conventions (navigation patterns, gesture zones, system UI) while injecting personality through typography, color, motion, and layout composition.

Mobile Design Guidelines

Platform Conventions

  • iOS: Bottom tab bar, large title navigation, swipe-to-go-back, Cupertino widgets
  • Android: Material 3, navigation rail/drawer, FAB, top app bar
  • Cross-platform: Use adaptive widgets that render platform-appropriate UI

Typography

  • Choose distinctive but highly readable fonts at mobile sizes (16px+ body)
  • Respect dynamic type / font scaling — never hardcode font sizes
  • Use TextTheme in Flutter, keep a consistent type scale
  • Pair a characterful display font with a supremely legible body font

Color & Theme

  • Support both light and dark themes — always
  • Use ColorScheme / ThemeData for consistency
  • Ensure contrast ratios work on OLED (pure black) and LCD displays
  • Use color purposefully — primary actions, status indicators, brand identity

Motion & Animation

  • Use meaningful motion — animations should communicate state changes, not decorate
  • Keep animations under 300ms for interactions, up to 500ms for transitions
  • Use Hero animations for shared element transitions
  • Stagger list item animations for visual polish
  • Respect reduceMotion / accessibility settings — always provide a static fallback

Layout & Spacing

  • Design for one-handed use — critical actions in thumb-reach zone (bottom 60% of screen)
  • Use safe area insets — never overlap system UI (notch, home indicator, status bar)
  • Design for varying screen sizes — phones, tablets, foldables
  • Use responsive breakpoints: compact (<600dp), medium (600-840dp), expanded (>840dp)
  • Generous touch targets: minimum 48x48dp

Performance

  • Avoid rebuilding expensive widget trees — use const constructors
  • Lazy-load lists with ListView.builder (never ListView for large lists)
  • Optimize images — use cached_network_image, proper resolution variants
  • Profile on real devices, not just emulators

Flutter-Specific Patterns

dart
// ✅ Good: Adaptive widget that respects platform
Widget buildButton(BuildContext context) {
  return Platform.isIOS
    ? CupertinoButton(child: text, onPressed: onTap)
    : ElevatedButton(child: text, onPressed: onTap);
}

// ✅ Good: Responsive layout with breakpoints
Widget build(BuildContext context) {
  final width = MediaQuery.of(context).size.width;
  if (width >= 840) return _expandedLayout();
  if (width >= 600) return _mediumLayout();
  return _compactLayout();
}

// ❌ Bad: Hardcoded sizes that break on different devices
Container(width: 375, height: 812) // iPhone X only!

Rule Compliance

Before implementing, verify against:

  • Project Structure @project-structure.md (Flutter/Mobile layout, feature organization)
  • Testing Strategy @testing-strategy.md (widget tests, integration tests)
  • Security Principles @security-principles.md (secure storage, API key handling)
  • Accessibility Principles @accessibility-principles.md (screen reader, dynamic type, contrast)
  • Architectural Patterns @architectural-pattern.md (Riverpod 3 Notifier, repository pattern)

IMPORTANT: Mobile has unique constraints — battery life, network variability, and user context (one-handed, on-the-go). Every design choice should respect these realities. Beautiful UI that drains battery or stutters on scroll is a failure.

Remember: The best mobile apps feel like they were designed specifically for the device in your hand. Make every pixel and every interaction intentional.

Expand your agent's capabilities with these related and highly-rated skills.

irahardianto/awesome-agv

guardrails

Pre-flight checklist and post-implementation self-review protocol. Use before generating any code (pre-flight) and after writing code but before verification (self-review) to catch issues early.

129 45
Explore
irahardianto/awesome-agv

code-review

Structured code review protocol for inspecting code quality against the full rule set. Use when auditing code written by yourself or another agent, during the /audit workflow, or when the user asks for a code review.

129 45
Explore
irahardianto/awesome-agv

perf-optimization

Profile-driven performance optimization protocol. Use when profiling data (CPU, heap, trace) is available or when the user requests performance analysis. Covers methodology, pattern catalog, safety invariants, and when-to-stop heuristics. Language-specific tooling is in languages/*.md.

129 45
Explore
irahardianto/awesome-agv

adr

Architecture Decision Record skill for documenting significant architectural decisions with context, options, and consequences. Use during the Research phase when choosing between approaches, or whenever the user asks to document an architectural decision.

129 45
Explore
irahardianto/awesome-agv

frontend-design

Generates distinctive, production-grade frontend interfaces and artifacts (React, Vue, HTML/CSS). Prioritizes bold aesthetics, unique typography, and motion to avoid generic designs. Use when building websites, landing pages, dashboards, posters, or when the user requests to style, beautify, or create visually striking UI.

129 45
Explore
irahardianto/awesome-agv

debugging-protocol

Comprehensive protocol for validating root causes of software issues. Use when you need to systematically debug a complex bug, flaky test, or unknown system behavior by forming hypotheses and validating them with specific tasks.

129 45
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results