android-ui-design-guide

Apply Android/Jetpack Compose design principles following Material Design 3 when building any Android UI component. Only execute this when the current project is an Android project and involves UI-related work. Use this skill for Compose layouts, Material components, or Android app development. Ensures Material You compliance with Dynamic Color, expressive theming, 4dp grid spacing, Roboto typography with Type Scale, and native Android patterns. Prevents common anti-patterns like hardcoded colors, Dark Mode neglect, and touch target violations.

16 stars

Best use case

android-ui-design-guide is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Apply Android/Jetpack Compose design principles following Material Design 3 when building any Android UI component. Only execute this when the current project is an Android project and involves UI-related work. Use this skill for Compose layouts, Material components, or Android app development. Ensures Material You compliance with Dynamic Color, expressive theming, 4dp grid spacing, Roboto typography with Type Scale, and native Android patterns. Prevents common anti-patterns like hardcoded colors, Dark Mode neglect, and touch target violations.

Teams using android-ui-design-guide should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/android-ui-design-guide/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/design/android-ui-design-guide/SKILL.md"

Manual Installation

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

How android-ui-design-guide Compares

Feature / Agentandroid-ui-design-guideStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Apply Android/Jetpack Compose design principles following Material Design 3 when building any Android UI component. Only execute this when the current project is an Android project and involves UI-related work. Use this skill for Compose layouts, Material components, or Android app development. Ensures Material You compliance with Dynamic Color, expressive theming, 4dp grid spacing, Roboto typography with Type Scale, and native Android patterns. Prevents common anti-patterns like hardcoded colors, Dark Mode neglect, and touch target violations.

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.

SKILL.md Source

# Android UI Design Guide

## Overview

Build native Android interfaces that follow Material Design 3 (Material You) by applying systematic design principles. This skill provides comprehensive guidelines for Jetpack Compose-first development with Dynamic Color, spacing, typography, and component-specific patterns optimized for Android.

## When to Use This Skill

Activate this skill when:
- Building Android UI with Jetpack Compose or XML
- Creating Android app screens, layouts, or components
- Working with Android development (Kotlin, Compose, Android Studio)
- Receiving requests like:
  - "Create a login screen in Compose"
  - "Design an Android settings view"
  - "Build a card layout for Android"
  - "Make this Android UI follow Material Design"
  - "Style this Compose screen"

**Do NOT activate** for:
- Web development
- iOS development
- Backend/server code
- Non-visual Android tasks

## Core Design Philosophy

Follow Material Design 3 principles + Flexible extensions:

### Material Design 3 Principles

1. **Expressive** - Dynamic Color from user wallpaper, personalized theming
2. **Adaptive** - Responsive layouts for phones, tablets, foldables
3. **Cohesive** - Consistent Material components and interactions

### Flexible Extensions

4. **Simplicity** - Remove unnecessary elements, focus on core features
5. **Accessibility** - 48x48dp touch targets, WCAG AA compliance, TalkBack support

## Framework Priorities

- **Primary**: Jetpack Compose (declarative, modern, recommended)
- **Secondary**: XML Views (legacy support)

## How to Use This Skill

### Step 1: Load Relevant Reference

```
Read references/design-principles.md - Material Design 3 principles
Read references/color-system.md - Dynamic Color, Material Theme
Read references/spacing-system.md - 4dp grid, touch targets
Read references/typography.md - Roboto, Material Type Scale
Read references/component-patterns.md - Compose component best practices
Read references/anti-patterns.md - Common Android design mistakes
```

### Step 2: Apply Component-Specific Patterns

- **Button**: `component-patterns.md` → Button section
- **Card**: `component-patterns.md` → Card section
- **List**: `component-patterns.md` → LazyColumn section
- **TextField**: `component-patterns.md` → TextField section
- **Navigation**: `component-patterns.md` → Navigation section
- **Dialog**: `component-patterns.md` → AlertDialog section

### Step 3: Validate Against Anti-Patterns

- ❌ Hardcoded colors (no Dark Mode)
- ❌ Material Theme ignored
- ❌ Touch targets smaller than 48x48dp
- ❌ Fixed text sizes (no Type Scale)
- ❌ 4dp grid violations
- ❌ Nested scrolling

### Step 4: Ensure System Consistency

**4dp grid system**:
- Use only: 4dp, 8dp, 12dp, 16dp, 24dp, 32dp, 48dp, 64dp
- Compose: `16.dp`, `.padding(16.dp)`

**Material Theme colors**:
- Labels: `colorScheme.onSurface`, `colorScheme.onSurfaceVariant`
- Backgrounds: `colorScheme.surface`, `colorScheme.surfaceVariant`
- Primary actions: `colorScheme.primary`
- Dynamic Color support (Android 12+)

**Material Type Scale** (REQUIRED):
- Display: `displayLarge`, `displayMedium`, `displaySmall`
- Headline: `headlineLarge`, `headlineMedium`, `headlineSmall`
- Title: `titleLarge`, `titleMedium`, `titleSmall`
- Body: `bodyLarge`, `bodyMedium`, `bodySmall`
- Label: `labelLarge`, `labelMedium`, `labelSmall`

## Resources

### references/

- **design-principles.md** - Material Design 3 principles (Expressive, Adaptive, Cohesive)
- **color-system.md** - Dynamic Color, Material Theme, dark mode
- **spacing-system.md** - 4dp grid, touch targets, Compose modifiers
- **typography.md** - Roboto, Material Type Scale, font weights
- **component-patterns.md** - Compose patterns for Button, Card, List, TextField, Navigation, Dialog
- **anti-patterns.md** - Common mistakes: hardcoded colors, touch targets, Material Theme neglect

## Quick Decision Tree

```
Android UI Component Request
│
├─ What component? → Load component-patterns.md section
│
├─ What spacing? → Use 4dp grid (spacing-system.md)
│
├─ What colors? → Material Theme + Dynamic Color (color-system.md)
│
├─ What typography? → Material Type Scale (typography.md)
│
├─ Compose or XML? → Compose first
│
└─ Validation → Check anti-patterns.md
```

## Examples

**Good Request Flow**:
```
User: "Create a login form in Compose"
→ Read references/component-patterns.md (TextField section)
→ Apply: OutlinedTextField, Material Type Scale, 4dp spacing
→ Validate against anti-patterns.md
→ Implement with Column { OutlinedTextField, Button }
```

**Component Implementation Checklist**:
- ✅ Spacing uses 4dp multiples
- ✅ Material Type Scale used (bodyMedium, titleLarge, etc.)
- ✅ Material Theme colors (auto Dark Mode)
- ✅ Touch targets minimum 48x48dp
- ✅ Material components used
- ✅ Dynamic Color support
- ✅ Accessibility (TalkBack contentDescription)

## Compose Code Examples

### ✅ Good: Material-Compliant Button

```kotlin
Button(onClick = { }) {
    Text("확인")
}
```

### ✅ Good: Material Theme Colors

```kotlin
Card {
    Column(modifier = Modifier.padding(16.dp)) {
        Text(
            text = "제목",
            style = MaterialTheme.typography.titleLarge,
            color = MaterialTheme.colorScheme.onSurface
        )
        Text(
            text = "내용",
            style = MaterialTheme.typography.bodyMedium,
            color = MaterialTheme.colorScheme.onSurfaceVariant
        )
    }
}
```

### ❌ Bad: Hardcoded Colors, No Type Scale

```kotlin
Text(
    text = "제목",
    fontSize = 24.sp,  // ❌ No Type Scale
    color = Color.Black  // ❌ No Dark Mode
)
```

## Platform-Specific Considerations

### Dynamic Color (Android 12+)
```kotlin
val colorScheme = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    dynamicLightColorScheme(LocalContext.current)
} else {
    lightColorScheme()
}
```

### Dark Mode (REQUIRED)
- Test both light and dark themes
- Use Material Theme colors
- Never hardcode `Color.Black`, `Color.White`

### Touch Targets
- Minimum 48x48dp for all interactive elements

## Reference Documentation

- [Material Design 3](https://m3.material.io/)
- [Jetpack Compose](https://developer.android.com/jetpack/compose)
- [Material Theme Builder](https://m3.material.io/theme-builder)

Related Skills

ui-ux-designer

16
from diegosouzapw/awesome-omni-skill

Create interface designs, wireframes, and design systems. Masters user research, accessibility standards, and modern design tools.

ui-ux-design-system

16
from diegosouzapw/awesome-omni-skill

Expert in building premium, accessible UI/UX design systems for SaaS apps. Covers design tokens, component architecture with shadcn/ui and Radix, dark mode, glassmorphism, micro-animations, responsive layouts, and accessibility. Use when: ui, ux, design system, shadcn, radix, tailwind, dark mode, animation, accessibility, components, figma to code.

ui-designer

16
from diegosouzapw/awesome-omni-skill

Generate and serve live HTML/CSS/JS UI designs from natural language prompts. Use when the user asks to design, create, build, or prototype a website, landing page, UI, dashboard, web page, or frontend mockup. Also triggers on requests to update, tweak, or iterate on a previously generated design. Replaces traditional UI design + frontend dev workflow.

ui-design

16
from diegosouzapw/awesome-omni-skill

Applies consistent renderer UI/UX implementation patterns using a Vercel-inspired white theme, strong accessibility defaults, and repository component conventions.

ui-design-styles

16
from diegosouzapw/awesome-omni-skill

Comprehensive guidance for applying modern UI design styles, including Soft UI, Dark Mode, Flat Design, Neumorphism, Glassmorphism, and Aurora UI Gradients. Use when a user asks to: (1) Apply a specific UI style to a project, (2) Create a modern, visually appealing UI prototype, (3) Improve accessibility while following design trends, or (4) Understand the technical implementation of specific UI effects like frosted glass or soft shadows.

ui-design-create-component

16
from diegosouzapw/awesome-omni-skill

Guided component creation with proper patterns Use when: the user asks to run the `create-component` workflow and the task requires multi-step orchestration. Do not use when: the task is small, single-step, and can be completed directly without orchestration overhead.

ui-design-a11y

16
from diegosouzapw/awesome-omni-skill

无障碍设计审查与修复能力。

u04425-experiment-design-for-nutrition-and-meal-planning

16
from diegosouzapw/awesome-omni-skill

Operate the "Experiment design for nutrition and meal planning" capability in production for nutrition and meal planning workflows. Use when mission execution explicitly requires this capability and outcomes must be reproducible, policy-gated, and handoff-ready.

u2615-regression-sentinel-design-for-household-logistics

16
from diegosouzapw/awesome-omni-skill

Operate the "regression sentinel design for household logistics" capability in production for regression sentinel design for household logistics workflows. Use when mission execution explicitly requires this capability and outcomes must be reproducible, policy-gated, and handoff-ready.

tool-design-style-selector

16
from diegosouzapw/awesome-omni-skill

Use when you need to define or converge a project's visual direction. Scan project documentation to identify intent, then produce a design-system.md (either preserve existing style or pick from 30 presets). Triggers: design system, design spec, UI style, visual style, design tokens, color palette, typography, layout. Flow: scan → intent → (gate) preserve vs preset → deploy design-system.md after confirmation → (default) implement UI/UX per design-system.md (plan first, then execute).

test-pyramid-design

16
from diegosouzapw/awesome-omni-skill

Design optimal test pyramids with unit/integration/E2E ratios. Identify anti-patterns and recommend architecture-specific testing strategies.

tailwind-design-system

16
from diegosouzapw/awesome-omni-skill

Build scalable design systems with Tailwind CSS, design tokens, component libraries, and responsive patterns. Use when creating component libraries, implementing design systems, or standardizing UI...