Material Thinking
Apply Material Design 3 and M3 Expressive principles to create accessible, consistent, and engaging user interfaces.
Overview
This skill provides comprehensive guidance for implementing Material Design 3 (M3) and M3 Expressive across all platforms. Material Design 3 is Google's open-source design system that provides UX guidance, reusable components, and design tools for creating beautiful, accessible interfaces.
Key capabilities:
- Design new products with M3 principles
- Review existing designs for M3 compliance
- Generate design tokens (colors, typography, shapes)
- Apply M3 Expressive for engaging, emotionally resonant UIs
- Select appropriate components for specific use cases
- Ensure accessibility and responsive design
Core Resources
This skill includes four comprehensive reference documents. Read these as needed during your work:
1. Foundations (references/foundations.md)
Read when working with:
- Accessibility requirements
- Layout and responsive design (window size classes, canonical layouts)
- Interaction patterns (states, gestures, selection)
- Content design and UX writing
- Design tokens and adaptive design
2. Styles (references/styles.md)
Read when working with:
- Color systems (dynamic color, color roles, tonal palettes)
- Typography (type scale, fonts)
- Elevation and depth
- Shapes and corner radius
- Icons (Material Symbols)
- Motion and transitions
3. Components (references/components.md)
Read when selecting or implementing:
- Action components (buttons, FAB, segmented buttons)
- Selection and input (checkbox, radio, switch, text fields, chips)
- Navigation (nav bar, drawer, rail, app bars, tabs)
- Containment and layout (cards, lists, carousel, sheets)
- Communication (dialogs, snackbar, badges, progress, tooltips, menus)
4. M3 Expressive (references/m3-expressive.md)
Read when creating more engaging experiences:
- Expressive motion tactics
- Shape morphing
- Dynamic animations
- Brand expression
- Balancing expressiveness with usability
Workflows
Workflow 1: Designing a New Interface
When designing a new product or feature with Material 3:
Define layout structure
- Read
references/foundations.md → Layout section
- Determine window size classes (compact/medium/expanded)
- Choose canonical layout if applicable (list-detail, feed, supporting pane)
Select components
- Read
references/components.md
- Use Component Selection Guide to choose appropriate components
- Review specific component guidelines for usage and specs
Establish visual style
- Read
references/styles.md
- Define color scheme (dynamic or static)
- Set typography scale
- Choose shape scale (corner radius values)
- Plan motion and transitions
Apply M3 Expressive (optional)
- Read
references/m3-expressive.md
- Identify key moments for expressive design
- Apply emphasized easing and extended durations
- Consider shape morphing for transitions
- Follow 80/20 rule (80% standard, 20% expressive)
Validate accessibility
- Read
references/foundations.md → Accessibility section
- Check color contrast (WCAG compliance)
- Verify touch targets (minimum 48×48dp)
- Ensure keyboard navigation and screen reader support
Workflow 2: Reviewing Existing Designs
When reviewing designs for Material 3 compliance:
Component compliance
- Read
references/components.md for relevant components
- Check if components follow M3 specifications
- Verify proper component usage (e.g., not using filled buttons excessively)
- Validate component states (enabled, hover, focus, pressed, disabled)
Visual consistency
- Read
references/styles.md
- Verify color roles are used correctly
- Check typography matches type scale
- Validate elevation levels
- Review shape consistency (corner radius)
Accessibility audit
- Read
references/foundations.md → Accessibility section
- Test color contrast ratios
- Check touch target sizes
- Verify text resizing support
- Review focus indicators
Interaction patterns
- Read
references/foundations.md → Interaction section
- Verify state layers are present
- Check gesture support for mobile
- Validate selection patterns
Workflow 3: Generating Design Tokens
When creating design tokens for a new theme:
Color tokens
- Read
references/styles.md → Color section
- Choose color scheme type (dynamic or static)
- Define source color(s)
- Generate tonal palette (13 tones per key color)
- Map color roles (primary, secondary, tertiary, surface, error)
- Create light and dark theme variants
Typography tokens
- Read
references/styles.md → Typography section
- Select font family
- Define type scale (display, headline, title, body, label × small/medium/large)
- Set letter spacing and line height
Shape tokens
- Read
references/styles.md → Shape section
- Define corner radius scale (none, extra-small, small, medium, large, extra-large)
- Map shapes to component categories
Motion tokens
- Read
references/styles.md → Motion section
- Define duration values (short, medium, long)
- Set easing curves (emphasized, standard)
- For M3 Expressive, read
references/m3-expressive.md → Expressive Motion
Workflow 4: Implementing M3 Expressive
When adding expressive elements to enhance engagement:
Identify key moments
- Onboarding flows
- Primary user actions (FAB, main CTAs)
- Screen transitions
- Success/completion states
Apply expressive tactics
- Read
references/m3-expressive.md → Design Tactics
- Use emphasized easing for important transitions
- Extend animation durations (400-700ms)
- Add exaggerated scale changes
- Implement layered/staggered animations
- Consider shape morphing
Balance with usability
- Follow 80/20 rule (most interactions remain standard)
- Respect
prefers-reduced-motion
- Avoid excessive motion in productivity contexts
- Test on lower-end devices
Quick Reference
When to Read Each Reference
| Your Question |
Read This |
| "What components should I use for navigation?" |
references/components.md → Navigation Components |
| "How do I create a color scheme?" |
references/styles.md → Color |
| "What are the responsive breakpoints?" |
references/foundations.md → Layout → Window Size Classes |
| "How do I make my design more engaging?" |
references/m3-expressive.md |
| "What's the correct button hierarchy?" |
references/components.md → Action Components → Buttons |
| "How do I ensure accessibility?" |
references/foundations.md → Accessibility |
| "What motion timing should I use?" |
references/styles.md → Motion |
| "How do I implement shape morphing?" |
references/m3-expressive.md → Shape and Form |
Component Quick Selector
Actions:
- Primary screen action → FAB or Filled Button
- Secondary action → Tonal/Outlined Button
- Tertiary action → Text Button
- Compact action → Icon Button
- Toggle options (2-5) → Segmented Button
Input:
- Single choice → Radio Button
- Multiple choices → Checkbox
- On/Off toggle → Switch
- Text input → Text Field
- Date/time → Date/Time Picker
- Range value → Slider
- Tags → Input Chips
Navigation:
- Compact screens (<600dp) → Navigation Bar
- Medium screens (600-840dp) → Navigation Rail
- Large screens (>840dp) → Navigation Drawer
- Secondary nav → Tabs or Top App Bar
Communication:
- Important decision → Dialog
- Quick feedback → Snackbar
- Notification count → Badge
- Loading status → Progress Indicator
- Contextual help → Tooltip
- Action list → Menu
Design Token Defaults
Color (Light Theme):
- Primary: tone 40
- On-primary: tone 100 (white)
- Primary container: tone 90
- Surface: tone 98
Typography:
- Display Large: 57sp
- Headline Large: 32sp
- Title Large: 22sp
- Body Large: 16sp
- Label Large: 14sp
Shape:
- Extra Small: 4dp (chips, checkboxes)
- Small: 8dp (small buttons)
- Medium: 12dp (cards, standard buttons)
- Large: 16dp (FAB)
- Extra Large: 28dp (dialogs, sheets)
Elevation:
- Level 0: 0dp (standard surface)
- Level 1: 1dp (cards)
- Level 2: 3dp (search bars)
- Level 3: 6dp (FAB)
- Level 5: 12dp (modals, dialogs)
Best Practices
General Principles
- Consistency: Use design tokens consistently across the product
- Hierarchy: Establish clear visual hierarchy through size, color, and spacing
- Accessibility: Always meet WCAG 2.1 Level AA standards (minimum)
- Responsiveness: Design for all window size classes
- Platform conventions: Respect platform-specific patterns when appropriate
Common Mistakes to Avoid
- Too many filled buttons: Use only one filled button per screen for primary action
- Ignoring window size classes: Design must adapt to different screen sizes
- Poor color contrast: Always validate contrast ratios
- Inconsistent spacing: Use 4dp grid system throughout
- Overusing M3 Expressive: Keep 80% standard, 20% expressive
- Small touch targets: Minimum 48×48dp for all interactive elements
- Unclear component states: All components must show hover, focus, pressed states
Platform-Specific Notes
Flutter:
Android (Jetpack Compose):
Web:
Platform-agnostic:
- Export design tokens from Material Theme Builder
- Apply M3 principles manually to any framework
Tools and Resources
Material Theme Builder
Web-based tool for creating M3 color schemes and design tokens:
Material Symbols
Variable icon font with 2,500+ icons:
Official Documentation
Summary
This skill enables comprehensive Material Design 3 implementation:
- Read references as needed: Don't try to memorize everything—reference files exist to be consulted during work
- Follow workflows: Use structured workflows for common tasks (designing, reviewing, generating tokens)
- Start with foundations: Layout, accessibility, and interaction patterns form the base
- Build with components: Use the 38 documented M3 components appropriately
- Apply styles consistently: Color, typography, shape, elevation, icons, motion
- Enhance with M3 Expressive: Add engaging, emotionally resonant elements where appropriate
- Validate accessibility: Always check contrast, touch targets, and keyboard navigation
Material Design 3 is a complete design system—this skill helps you apply it effectively across all contexts.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: material-thinking3description: Comprehensive Material Design 3 (M3) and M3 Expressive guidance for building modern, accessible, and engaging user interfaces. Use when designing or implementing Material Design interfaces, reviewing component designs for M3 compliance, generating design tokens (color schemes, typography, shapes), applying M3 Expressive motion and interactions, or migrating existing UIs to Material 3. Covers all 38 M3 components, foundations (accessibility, layout, interaction), styles (color, typography, elevation, shape, icons, motion), and M3 Expressive tactics for more engaging experiences. Use when this capability is needed.4---56# Material Thinking78Apply Material Design 3 and M3 Expressive principles to create accessible, consistent, and engaging user interfaces.910## Overview1112This skill provides comprehensive guidance for implementing Material Design 3 (M3) and M3 Expressive across all platforms. Material Design 3 is Google's open-source design system that provides UX guidance, reusable components, and design tools for creating beautiful, accessible interfaces.1314**Key capabilities:**15- Design new products with M3 principles16- Review existing designs for M3 compliance17- Generate design tokens (colors, typography, shapes)18- Apply M3 Expressive for engaging, emotionally resonant UIs19- Select appropriate components for specific use cases20- Ensure accessibility and responsive design2122## Core Resources2324This skill includes four comprehensive reference documents. Read these as needed during your work:2526### 1. Foundations (`references/foundations.md`)27Read when working with:28- Accessibility requirements29- Layout and responsive design (window size classes, canonical layouts)30- Interaction patterns (states, gestures, selection)31- Content design and UX writing32- Design tokens and adaptive design3334### 2. Styles (`references/styles.md`)35Read when working with:36- Color systems (dynamic color, color roles, tonal palettes)37- Typography (type scale, fonts)38- Elevation and depth39- Shapes and corner radius40- Icons (Material Symbols)41- Motion and transitions4243### 3. Components (`references/components.md`)44Read when selecting or implementing:45- Action components (buttons, FAB, segmented buttons)46- Selection and input (checkbox, radio, switch, text fields, chips)47- Navigation (nav bar, drawer, rail, app bars, tabs)48- Containment and layout (cards, lists, carousel, sheets)49- Communication (dialogs, snackbar, badges, progress, tooltips, menus)5051### 4. M3 Expressive (`references/m3-expressive.md`)52Read when creating more engaging experiences:53- Expressive motion tactics54- Shape morphing55- Dynamic animations56- Brand expression57- Balancing expressiveness with usability5859## Workflows6061### Workflow 1: Designing a New Interface6263When designing a new product or feature with Material 3:64651. **Define layout structure**66 - Read `references/foundations.md` → Layout section67 - Determine window size classes (compact/medium/expanded)68 - Choose canonical layout if applicable (list-detail, feed, supporting pane)69702. **Select components**71 - Read `references/components.md`72 - Use Component Selection Guide to choose appropriate components73 - Review specific component guidelines for usage and specs74753. **Establish visual style**76 - Read `references/styles.md`77 - Define color scheme (dynamic or static)78 - Set typography scale79 - Choose shape scale (corner radius values)80 - Plan motion and transitions81824. **Apply M3 Expressive (optional)**83 - Read `references/m3-expressive.md`84 - Identify key moments for expressive design85 - Apply emphasized easing and extended durations86 - Consider shape morphing for transitions87 - Follow 80/20 rule (80% standard, 20% expressive)88895. **Validate accessibility**90 - Read `references/foundations.md` → Accessibility section91 - Check color contrast (WCAG compliance)92 - Verify touch targets (minimum 48×48dp)93 - Ensure keyboard navigation and screen reader support9495### Workflow 2: Reviewing Existing Designs9697When reviewing designs for Material 3 compliance:98991. **Component compliance**100 - Read `references/components.md` for relevant components101 - Check if components follow M3 specifications102 - Verify proper component usage (e.g., not using filled buttons excessively)103 - Validate component states (enabled, hover, focus, pressed, disabled)1041052. **Visual consistency**106 - Read `references/styles.md`107 - Verify color roles are used correctly108 - Check typography matches type scale109 - Validate elevation levels110 - Review shape consistency (corner radius)1111123. **Accessibility audit**113 - Read `references/foundations.md` → Accessibility section114 - Test color contrast ratios115 - Check touch target sizes116 - Verify text resizing support117 - Review focus indicators1181194. **Interaction patterns**120 - Read `references/foundations.md` → Interaction section121 - Verify state layers are present122 - Check gesture support for mobile123 - Validate selection patterns124125### Workflow 3: Generating Design Tokens126127When creating design tokens for a new theme:1281291. **Color tokens**130 - Read `references/styles.md` → Color section131 - Choose color scheme type (dynamic or static)132 - Define source color(s)133 - Generate tonal palette (13 tones per key color)134 - Map color roles (primary, secondary, tertiary, surface, error)135 - Create light and dark theme variants1361372. **Typography tokens**138 - Read `references/styles.md` → Typography section139 - Select font family140 - Define type scale (display, headline, title, body, label × small/medium/large)141 - Set letter spacing and line height1421433. **Shape tokens**144 - Read `references/styles.md` → Shape section145 - Define corner radius scale (none, extra-small, small, medium, large, extra-large)146 - Map shapes to component categories1471484. **Motion tokens**149 - Read `references/styles.md` → Motion section150 - Define duration values (short, medium, long)151 - Set easing curves (emphasized, standard)152 - For M3 Expressive, read `references/m3-expressive.md` → Expressive Motion153154### Workflow 4: Implementing M3 Expressive155156When adding expressive elements to enhance engagement:1571581. **Identify key moments**159 - Onboarding flows160 - Primary user actions (FAB, main CTAs)161 - Screen transitions162 - Success/completion states1631642. **Apply expressive tactics**165 - Read `references/m3-expressive.md` → Design Tactics166 - Use emphasized easing for important transitions167 - Extend animation durations (400-700ms)168 - Add exaggerated scale changes169 - Implement layered/staggered animations170 - Consider shape morphing1711723. **Balance with usability**173 - Follow 80/20 rule (most interactions remain standard)174 - Respect `prefers-reduced-motion`175 - Avoid excessive motion in productivity contexts176 - Test on lower-end devices177178## Quick Reference179180### When to Read Each Reference181182| Your Question | Read This |183| ---------------------------------------------- | ---------------------------------------------------------- |184| "What components should I use for navigation?" | `references/components.md` → Navigation Components |185| "How do I create a color scheme?" | `references/styles.md` → Color |186| "What are the responsive breakpoints?" | `references/foundations.md` → Layout → Window Size Classes |187| "How do I make my design more engaging?" | `references/m3-expressive.md` |188| "What's the correct button hierarchy?" | `references/components.md` → Action Components → Buttons |189| "How do I ensure accessibility?" | `references/foundations.md` → Accessibility |190| "What motion timing should I use?" | `references/styles.md` → Motion |191| "How do I implement shape morphing?" | `references/m3-expressive.md` → Shape and Form |192193### Component Quick Selector194195**Actions:**196- Primary screen action → FAB or Filled Button197- Secondary action → Tonal/Outlined Button198- Tertiary action → Text Button199- Compact action → Icon Button200- Toggle options (2-5) → Segmented Button201202**Input:**203- Single choice → Radio Button204- Multiple choices → Checkbox205- On/Off toggle → Switch206- Text input → Text Field207- Date/time → Date/Time Picker208- Range value → Slider209- Tags → Input Chips210211**Navigation:**212- Compact screens (<600dp) → Navigation Bar213- Medium screens (600-840dp) → Navigation Rail214- Large screens (>840dp) → Navigation Drawer215- Secondary nav → Tabs or Top App Bar216217**Communication:**218- Important decision → Dialog219- Quick feedback → Snackbar220- Notification count → Badge221- Loading status → Progress Indicator222- Contextual help → Tooltip223- Action list → Menu224225### Design Token Defaults226227**Color (Light Theme):**228- Primary: tone 40229- On-primary: tone 100 (white)230- Primary container: tone 90231- Surface: tone 98232233**Typography:**234- Display Large: 57sp235- Headline Large: 32sp236- Title Large: 22sp237- Body Large: 16sp238- Label Large: 14sp239240**Shape:**241- Extra Small: 4dp (chips, checkboxes)242- Small: 8dp (small buttons)243- Medium: 12dp (cards, standard buttons)244- Large: 16dp (FAB)245- Extra Large: 28dp (dialogs, sheets)246247**Elevation:**248- Level 0: 0dp (standard surface)249- Level 1: 1dp (cards)250- Level 2: 3dp (search bars)251- Level 3: 6dp (FAB)252- Level 5: 12dp (modals, dialogs)253254## Best Practices255256### General Principles2572581. **Consistency**: Use design tokens consistently across the product2592. **Hierarchy**: Establish clear visual hierarchy through size, color, and spacing2603. **Accessibility**: Always meet WCAG 2.1 Level AA standards (minimum)2614. **Responsiveness**: Design for all window size classes2625. **Platform conventions**: Respect platform-specific patterns when appropriate263264### Common Mistakes to Avoid265266- **Too many filled buttons**: Use only one filled button per screen for primary action267- **Ignoring window size classes**: Design must adapt to different screen sizes268- **Poor color contrast**: Always validate contrast ratios269- **Inconsistent spacing**: Use 4dp grid system throughout270- **Overusing M3 Expressive**: Keep 80% standard, 20% expressive271- **Small touch targets**: Minimum 48×48dp for all interactive elements272- **Unclear component states**: All components must show hover, focus, pressed states273274### Platform-Specific Notes275276**Flutter:**277- Use Material 3 theme in `ThemeData(useMaterial3: true)`278- Access design tokens via `Theme.of(context)`279- Official documentation: https://m3.material.io/develop/flutter280281**Android (Jetpack Compose):**282- Use Material3 package283- MaterialTheme provides M3 components and tokens284- Official documentation: https://m3.material.io/develop/android/jetpack-compose285286**Web:**287- Use Material Web Components library288- CSS custom properties for design tokens289- Official documentation: https://m3.material.io/develop/web290291**Platform-agnostic:**292- Export design tokens from Material Theme Builder293- Apply M3 principles manually to any framework294295## Tools and Resources296297### Material Theme Builder298Web-based tool for creating M3 color schemes and design tokens:299- Generate color schemes from source colors300- Create light and dark themes301- Export tokens for various platforms302- URL: https://material-foundation.github.io/material-theme-builder/303304### Material Symbols305Variable icon font with 2,500+ icons:306- Styles: Outlined, Filled, Rounded, Sharp307- Variable features: weight, grade, optical size, fill308- URL: https://fonts.google.com/icons309310### Official Documentation311- Material Design 3: https://m3.material.io/312- Get Started: https://m3.material.io/get-started313- Blog (updates and announcements): https://m3.material.io/blog314315## Summary316317This skill enables comprehensive Material Design 3 implementation:3183191. **Read references as needed**: Don't try to memorize everything—reference files exist to be consulted during work3202. **Follow workflows**: Use structured workflows for common tasks (designing, reviewing, generating tokens)3213. **Start with foundations**: Layout, accessibility, and interaction patterns form the base3224. **Build with components**: Use the 38 documented M3 components appropriately3235. **Apply styles consistently**: Color, typography, shape, elevation, icons, motion3246. **Enhance with M3 Expressive**: Add engaging, emotionally resonant elements where appropriate3257. **Validate accessibility**: Always check contrast, touch targets, and keyboard navigation326327Material Design 3 is a complete design system—this skill helps you apply it effectively across all contexts.328329---330> Converted and distributed by [TomeVault](https://tomevault.io/claim/ivorisnoob) — claim your Tome and manage your conversions.331<!-- tomevault:4.0:skill_md:2026-04-11 -->