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.
Before & after
Same prompt, same agent — the only difference is the skill.
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?
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 8dpAbout 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
primaryand 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
---
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)More design skills
View all Design skills →Rhinestone Clipart Studio
Use when the request is for rhinestone, gemstone, crystal, or jeweled-brooch style character clipart — generating a new faceted-gem characte
Design Critique with Prioritized Fix List
Critiques a UI, landing page, or layout against its goal and returns ranked fixes with exact sizes, spacing, and contrast ratios.
Native iOS and Android Screen Design and Review
Screen specs and mockup reviews for iOS and Android apps that use correct navigation, touch targets, type scales, safe areas and states.
Interactive Concept Explainer (Single HTML File)
A one-file HTML explainer with sliders, steps, and a baseline that teaches one concept, with its math stated and checked by hand.