Skip to content
material-3-expressive logo

material-3-expressive

Android UI/UX design or review with Material 3 Expressive (M3 Expressive / Material You Expressive). Use when selecting expressive component tokens, defining expressive hierarchy, motion, color, shape, typography, or reviewing Android UI against expressive guidance. Not for non-Android platforms,...

NeverSight/skills_feed0installs213starsDesign

SKILL.md

Full skill instructions

Material 3 Expressive (Android UI/​UX)

Overview

Design and review Android UI/​UX using Material 3 Expressive. Prioritize component-token requests for dialogs, sheets, modals, toolbars, and buttons, with guidance plus token references by default.

Intake Questions

  • Target device class (phone, tablet, foldable, Wear OS)
  • Window size class (Compact, Medium, Expanded)
  • Brand constraints and dynamic color usage
  • Primary action(s) and desired hero moments (1-2 max)
  • Motion constraints and reduced-motion expectations
  • Accessibility targets (contrast, touch target)

Default Assumptions

  • Intensity level: Foundational
  • Window size class: Compact
  • Dynamic color: enabled
  • Standard navigation patterns preserved

Quick Workflow

  1. Confirm intensity level + hero moments
  2. Confirm device class + window size class
  3. Load Tier 1 index and output template
  4. Load component overview + token spec files
  5. If theming needed, load Tier 3 foundation tokens
  6. Output: guidance + token refs (see template)

Default Output Format (Guidance + Token Refs)

Use references/​m3-component-token-output-template.md verbatim as the base output shell.

  • Context and intent (1-2 lines)
  • Intensity level + hero moments (count + location)
  • Window size class + device class
  • Component + variant
  • Token references: file paths + token groups to use (quote minimal key values only if needed)
  • Compose mapping reference (optional): references/​compose-mapping.md
  • Behavior or interaction constraints (from overview)
  • Reduced-motion fallback note
  • Accessibility and performance checks
  • Optional: Compose mapping notes

Expressive Tactics

LeverApplication
Shape contrastBold corners on primary, subtle on secondary
Rich colorPrimary/​secondary containers for emphasis
Type hierarchySize + weight variation
MotionShape morph on press/​select

Constraint: Max 1-2 hero moments per flow

Expressive Intensity Levels

  • Foundational: Clarity and familiarity first
  • Excellent: Stronger color, type, and shape while preserving patterns
  • Transformative: Bold layouts and motion with strict usability and accessibility

Common Mistakes

MistakeFix
Removing text labels for "cleaner" lookKeep labels; usability drops without them
Too many hero moments per screenLimit to 1-2 per flow
Breaking navigation patternsPreserve standard nav behaviors
No reduced-motion fallbackHonor system animation scale; provide reduced-motion or instant transitions when animation scale is 0
Hardcoding token valuesUse semantic tokens (md.sys.color.*)
Ignoring window size classesTest Compact, Medium, Expanded

Android-Specific Guidance

  • Preserve navigation and component behaviors
  • Keep touch targets generous and platform-consistent
  • Honor system animation scale; provide reduced-motion alternatives or instant transitions when animation scale is 0
  • Apply window size classes for tablets and foldables

Review Checklist

Hierarchy

  • Primary action identifiable within 2 seconds
  • Max 1-2 hero moments per screen
  • Labels preserved on all interactive elements

Accessibility

  • Color contrast: 4.5:1 text, 3:1 non-text
  • Touch targets: 48dp minimum
  • Motion: reduced-motion alternative provided
  • Screen reader: content descriptions present

Expressive Compliance

  • Intensity level consistent across feature
  • Standard patterns preserved
  • Dynamic color tokens used
  • Window size classes tested

Reference Tiers (Load in Order of Need)

Tier 1: Always Load First

NeedFile
Component token lookupreferences/​m3-expressive-specs-tokens-index.md
Output format templatereferences/​m3-component-token-output-template.md
New/​updated componentsreferences/​m3-expressive-components.md

Tier 2: Component-Specific (Load When Requested)

ComponentOverviewTokens
Buttonsm3-buttons.mdm3-buttons-specs-tokens.md
Button Groupsm3-button-groups.mdm3-button-groups-specs-tokens.md
Dialogsm3-dialogs.mdm3-dialogs-specs-tokens.md
Sheetsm3-sheets.mdm3-bottom-sheets-specs-tokens.md / m3-side-sheets-specs-tokens.md
Toolbarsm3-toolbars.mdm3-toolbars-specs-tokens.md
FABsm3-fabs.mdm3-fabs-specs-tokens.md
Extended FABm3-extended-fab.mdm3-extended-fab-specs-tokens.md
FAB Menum3-fab-menu.mdm3-fab-menu-specs-tokens.md
Icon Buttonsm3-icon-buttons.mdm3-icon-buttons-specs-tokens.md
Split Buttonm3-split-button.mdm3-split-button-specs-tokens.md
Navigation Barm3-navigation-bar.mdm3-navigation-bar-specs-tokens.md
Navigation Railm3-navigation-rail.mdm3-navigation-rail-specs-tokens.md
App Barsm3-app-bars.mdm3-app-bars-specs-tokens.md
Carouselm3-carousel.mdm3-carousel-specs-tokens.md
Progress Indicatorsm3-progress-indicators.mdm3-progress-indicators-specs-tokens.md
Loading Indicatorm3-loading-indicator.mdm3-loading-indicator-specs-tokens.md

Tier 3: Foundation Tokens (Load for Theming)

FoundationFile
Color systemm3-color-system.md, m3-color-foundation-tokens.md
Typographym3-typography.md, m3-typography-foundation-tokens.md, m3-typography-fonts.md, m3-typography-type-scale-tokens.md
Shapem3-shape.md, m3-shape-foundation-tokens.md, m3-shape-corner-radius-scale.md, m3-shape-morph.md
Motionm3-motion-physics.md, m3-motion-foundation-tokens.md, m3-motion-specs.md
Elevationm3-elevation.md, m3-elevation-specs-tokens.md
Statem3-state-foundation-tokens.md

Tier 4: Evidence & Research (Load for Justification)

ResourceFile
Research findingsreferences/​expressive-research.md
Testing guidancereferences/​m3-testing-material-3.md
Expressive blogreferences/​m3-expressive-blog.md
Expressive guidelinesreferences/​m3-expressive-guidelines.md
UX articlereferences/​medium-ux-article.md

Tier 5: Wear OS (Load Only for Wearables)

ResourceFile
Benefitsreferences/​wear-expressive-benefits.md
Levels of expressionreferences/​wear-levels-of-expression.md
Design languagereferences/​wear-expressive-design-language.md
Blogreferences/​wear-expressive-blog.md
Compose Material3references/​wear-compose-material3.md

Supporting Resources

ResourceFile
Android UI design hubreferences/​android-ui-design-hub.md
Expressive catalogreferences/​expressive-catalog.md
Compose mappingreferences/​compose-mapping.md

Maintenance

  • Refresh references with skills/​material-3-expressive/​scripts/​update_m3_expressive_refs.py.
  • Requires Playwright and Chromium (.venv/​bin/​python -m playwright install chromium if needed).
  • CI runs weekly; local runs are for urgent changes.

Search Tips

  • Find a token prefix: rg "md.comp.button" skills/​material-3-expressive/​references/​m3-buttons-specs-tokens.md
  • Find navigation tokens: rg "md.comp.navigation" skills/​material-3-expressive/​references/​m3-.*navigation.*.md

Examples

  • Use assets/​examples/​ui/​ExpressiveHomeScreen.kt as a Compose starting point
  • Use assets/​examples/​ui/​ExpressiveButtonComparison.kt to see standard vs expressive button differences
  • Use assets/​examples/​ui/​ExpressiveAntiPatterns.kt to learn common mistakes to avoid
  • Use assets/​examples/​ux/​expressive-ux-brief-template.md to draft an expressive UX brief
  • Examples are illustrative; adapt sizes/​colors to expressive tokens and project constraints.