Material 3 UI Build and Compliance Review

Builds and reviews Compose, Flutter, and web UI against Material 3 tokens, components, and layout, with exact code fixes.

Designmaterial-3jetpack-compose
by AgentVoltv1.0.0
Free to sign up · every skill included with AgentVolt Pro

Before & after

Same prompt, same agent — the only difference is the skill.

Prompt“Build an Android settings screen with Material 3 design components”
Beforegeneric AI agent
For Material 3, you'll want to use the Material Design components that Google has defined in their latest guidelines. On an Android settings screen, you'd typically use a preference screen layout with toggles, radio buttons, and dropdown selections. Material 3 emphasizes simpler, more rounded components with updated color theming. You should check Google's Material Design documentation for the exact component specifications and color palette recommendations.

Is this for an existing app or a new project? And do you have a specific color theme in mind, or should I suggest something that aligns with Material 3 standards?
Afterwith Material 3 UI Build and Compliance Review
ANDROID SETTINGS SCREEN - MATERIAL 3 SPEC

Color System (Tonal):
• Primary: Color.onSurface (dark mode), Color.primary (light mode)
• Surface: Color.surface with tonal elevation +1
• Outline: Color.outline for dividers/borders

Component Tokens:

HEADER SECTION (Settings Category)
   Component: MaterialTopAppBar
   Style: centerAligned, headline/medium typography
   Background: Color.surface
   Elevation: 0dp (flat)

TOGGLE SETTINGS (e.g., "Dark Mode")
   Component: Switch (Material 3 variant)
   Spacing: 16dp padding, 56dp min height (touch target)
   Label: Body/large typography, left-aligned
   Layout: Row with icon-20dp on left

RADIO GROUP (e.g., "Sync Frequency")
   Component: RadioButton
   Spacing: 56dp height per option, 16dp padding
   Typography: Body/medium
   State: Handle selected vs unselected (color.primary vs color.outline)

DROPDOWN (e.g., "Theme")
   Component: ExposedDropdownMenuBox
   Style: Outlined variant, corner radius 12dp
   Spacing: 48dp height minimum
   Focus state: Color.primary outline

DIVIDERS BETWEEN SECTIONS
   Component: Divider
   Color: Color.surfaceVariant
   Height: 1dp
   Padding: 16dp horizontal

TYPOGRAPHY HIERARCHY
   Section title: Label/large, color.onSurface (99%)
   Setting label: Body/medium, color.onSurface
   Helper text: Label/small, color.onSurfaceVariant

CORNER RADIUS DEFAULTS
   Large components (cards): 28dp
   Buttons/inputs: 12dp
   Small elements: 8dp

Sample Output (Kotlin):
   Surface(modifier = Modifier.fillMaxWidth(), color = Color.surface) {
     Row(modifier = Modifier.padding(16.dp), verticalAlignment = CenterVertically) {
       Text("Dark Mode", style = MaterialTheme.typography.bodyMedium)
       Spacer(Modifier.weight(1f))
       Switch(checked = isDarkMode, onCheckedChange = { /* */ })
     }
   }

Key Material 3 Patterns:
• Use M3 Color.system for theming, not hardcoded hex
• All touch targets minimum 48x48dp
• No drop shadows; use tonal elevation only
• Spacing in multiples of 4dp or 8dp

About this skill

Your "Material 3" screen still has a hardcoded #F5F5F5 card, an h6 text style left over from Material 2, a brand color the theme washed out, and a dark mode that looks muddy. This skill makes Claude build and review UI the way a design-systems engineer does. Every element maps to a named M3 token, components are chosen by window size class, and code uses the real API for your platform.

What it does

  • Generates light and dark color schemes from a seed color, and explains why your brand hex doesn't come out as primary and which scheme variant keeps it exact
  • Maps every surface, text, border, and state to the right color role (surface containers, onSurfaceVariant, outline vs outlineVariant) and checks contrast with tone math instead of eyeballing it
  • Reviews pasted Compose, Flutter, or web code and ranks findings by severity, with a code fix for each one
  • Migrates Material 2 to M3: type-style mapping, removed color roles, BottomNavigation to NavigationBar, shadow elevation to tonal surfaces
  • Chooses navigation, buttons, FABs, chips, cards, and app bars by window size class and screen job, and flags patterns the spec doesn't support
  • Marks experimental and version-dependent APIs, including M3 Expressive components, for checking instead of making them up

What you get

Working theme or screen code for your platform with a token map that explains each choice. For reviews, you get a ranked findings table with a concrete fix for every issue.

Best for

Android developers on Jetpack Compose, Flutter developers, and web teams using Material tokens who want UI that matches Material 3, plus anyone migrating an older Material 2 app.

SKILL.md preview

SKILL.md
---
name: material-3-ui-build-and-review
description: Builds and audits Android (Jetpack Compose), Flutter, and web UI against Material 3. It covers seed-derived color roles via tonal palettes, the type and shape scales, surface-container elevation, surface tint, state layers, window size classes, and correct component choice, all expressed as exact platform APIs. Use when the user says "make this Material 3", "migrate this from Material 2 to M3", "review my Compose screen for M3", "my dark theme looks muddy", "my brand color looks washed out in the theme", "which nav component should I use on tablet", "set up dynamic color", or "all my M3 cards look the same gray".
---

… (sign up to view the full skill)
Sign up to view, copy, and install the full skill

More design skills

View all Design skills →