Claude Code Plugins

Community-maintained marketplace

Feedback
0
1

Guide for implementing Material Design 3 (Material You) principles for Android, web, and cross-platform applications with dynamic theming

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name material-design
description Guide for implementing Material Design 3 (Material You) principles for Android, web, and cross-platform applications with dynamic theming

Material Design 3 (Material You)

Apply Google's Material Design 3 principles when designing and developing user interfaces with emphasis on personalization, accessibility, and cross-platform consistency.

When to Activate

Use this skill when:

  • Designing or implementing Android applications
  • Building web applications following Material Design
  • Working with Flutter or Jetpack Compose
  • Implementing dynamic theming and color systems
  • Creating Material components
  • Reviewing designs for Material Design compliance

What is Material Design 3?

Material Design 3 (Material You) represents Google's latest design system with:

  • Personalization: Dynamic color extraction from user preferences
  • Expressiveness: Softer, rounded components with visual hierarchy
  • Adaptability: Responsive across devices and platforms
  • Accessibility: Built-in inclusive design features

Key Differences from Material Design 2

Aspect MD2 MD3
Colors Fixed brand palettes Dynamic, user-generated schemes
Customization Limited theming Highly personalized
Components Flat, rigid shapes Rounded, expressive
Accessibility Basic support Priority built-in

Core Foundations

1. Dynamic Color System

Material Design 3 uses HCT (Hue, Chroma, Tone) color space for perceptually accurate color generation.

Key concepts:

  • Color roles (primary, secondary, tertiary, error, neutral)
  • Tonal palettes (50-99 tones per color)
  • Automatic light/dark theme generation
  • User-driven personalization from wallpaper/system

For detailed color system implementation, see references/color-system.md.

2. Typography

Type scale with 5 display sizes and 9 text sizes:

Quick example:

  • Display Large: 57sp
  • Headline Large: 32sp
  • Body Large: 16sp
  • Label Small: 11sp

For complete typography system and responsive scaling, see references/typography.md.

3. Layout

Responsive breakpoints and grid system:

  • Compact: 0-599dp (phones)
  • Medium: 600-839dp (tablets, folded phones)
  • Expanded: 840dp+ (desktops, large tablets)

For layout guidelines and examples, see references/layout.md.

Component Guidelines

Material Design 3 provides specifications for:

  • Common Buttons: Elevated, Filled, Tonal, Outlined, Text
  • Cards: Elevated, Filled, Outlined variants
  • Text Fields: Filled, Outlined with labels and helper text
  • Navigation: Navigation bar, rail, drawer
  • Chips: Assist, Filter, Input, Suggestion chips
  • Dialogs: Basic, Full-screen dialogs

For detailed component specifications, consult references/components.md.

Quick Component Examples

Buttons

// Jetpack Compose
Button(onClick = { }) {
    Text("Filled Button")
}

OutlinedButton(onClick = { }) {
    Text("Outlined Button")
}

Cards

Card(
    modifier = Modifier.fillMaxWidth(),
    elevation = CardDefaults.cardElevation(defaultElevation = 6.dp)
) {
    Column(modifier = Modifier.padding(16.dp)) {
        Text("Card Title", style = MaterialTheme.typography.headlineSmall)
        Text("Card content", style = MaterialTheme.typography.bodyMedium)
    }
}

Text Fields

OutlinedTextField(
    value = text,
    onValueChange = { text = it },
    label = { Text("Label") },
    supportingText = { Text("Helper text") }
)

For more component examples and patterns, see references/components.md.

Implementing Dynamic Color

Android (Jetpack Compose)

val dynamicColor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S

val colorScheme = when {
    dynamicColor && darkTheme -> dynamicDarkColorScheme(LocalContext.current)
    dynamicColor && !darkTheme -> dynamicLightColorScheme(LocalContext.current)
    darkTheme -> darkColorScheme()
    else -> lightColorScheme()
}

MaterialTheme(
    colorScheme = colorScheme,
    typography = Typography,
    content = content
)

Web

For web implementation with Material Web Components, see references/web-implementation.md.

Motion and Animation

Material Design 3 motion principles:

  • Easing: Standard, emphasized, decelerated curves
  • Duration: Based on travel distance and complexity
  • Choreography: Coordinated element movements

For motion specifications, see references/motion.md.

Accessibility

Material Design 3 prioritizes accessibility:

  • Minimum 4.5:1 contrast ratio (text)
  • 3:1 contrast ratio (UI components)
  • Touch targets minimum 48dp × 48dp
  • Screen reader support
  • Semantic color usage (not color-only indicators)

For accessibility implementation details, see references/accessibility.md.

When to Consult References

  • Color system implementation: Read references/color-system.md
  • Typography scales and usage: Read references/typography.md
  • Layout and responsive design: Read references/layout.md
  • Component specifications: Read references/components.md
  • Web implementation: Read references/web-implementation.md
  • Motion and animation: Read references/motion.md
  • Accessibility guidelines: Read references/accessibility.md

Key Principles

  • User-driven personalization: Colors adapt to user preferences
  • Expressive and flexible: Rounded corners, dynamic elevation
  • Accessible by default: Built-in contrast, touch targets, semantics
  • Cross-platform consistency: Same principles across Android, web, iOS
  • Design tokens: Use semantic tokens, not hardcoded values
  • Responsive: Adapt to device size and orientation

Resources