Applies Material Design 3 Expressive dynamic color and theming principles to user interfaces. Use this when working on color palettes, themes, dynamic color systems, accessibility, or when the user asks to apply Material Design 3 color guidelines to a design or application.
This skill guides the application of Material Design 3 (M3) Expressive color and theming principles to create vibrant, accessible, and emotionally engaging user interfaces.
Keywords: Material Design 3, M3, dynamic color, theming, color palette, Material You, accessibility, color tokens, surface colors, accent colors, fixed accent colors, emphasis colors, contrast levels
Core Principles
Dynamic Color System
Material Design 3's color system is built on the concept of dynamic color, allowing interfaces to adapt to user preferences and contexts:
Tonal Palettes: Use five key tonal palettes (Primary, Secondary, Tertiary, Neutral, Neutral Variant) with multiple tones (0-100)
Color Roles: Map 26+ color roles to UI elements (e.g., primary, onPrimary, primaryContainer, onPrimaryContainer)
Adaptive Theming: Support both light and dark themes with appropriate contrast
User Personalization: Allow color schemes to adapt based on user wallpaper or preferences (Material You)
Fixed Accent Colors: Provide color tokens that remain consistent across light and dark themes for brand identity
Emphasis Colors: Use bolder, more vibrant color roles for key UI elements to improve clarity and emotional resonance
Color Palette Structure
When creating color palettes, follow this structure:
Primary Palette (Main brand color):
Primary: Main interactive elements (buttons, active states)
On Primary: Text/icons on primary color
Primary Container: Standout fill color for key components
On Primary Container: Text/icons on primary container
Primary Fixed: Stays constant across light and dark themes
On Primary Fixed: Text/icons on primary fixed
Primary Fixed Dim: Dimmed variant for secondary emphasis on fixed surfaces
Secondary Palette (Complementary accent):
Secondary: Less prominent components
On Secondary: Text/icons on secondary
Secondary Container: Tinted backgrounds
On Secondary Container: Text/icons on secondary container
Secondary Fixed: Stays constant across light and dark themes
On Secondary Fixed: Text/icons on secondary fixed
Secondary Fixed Dim: Dimmed variant for fixed surfaces
Tertiary Palette (Contrasting accent — now a prominent expressive accent for branding and highlights):
Tertiary: Contrasting accents and highlights
On Tertiary: Text/icons on tertiary
Tertiary Container: Input elements
On Tertiary Container: Text/icons on tertiary container
Tertiary Fixed: Stays constant across light and dark themes
On Tertiary Fixed: Text/icons on tertiary fixed
Tertiary Fixed Dim: Dimmed variant for fixed surfaces
Neutral Palettes (Surfaces and backgrounds):
Surface: Default background for components
On Surface: Text on surface
Surface Variant: Alternate surface color
On Surface Variant: Text on surface variant
Surface Dim: Dimmed surface for reduced emphasis
Surface Bright: Brighter surface for increased emphasis
Snackbars: inverse-surface with inverse-on-surface text
Bottom sheets: surface-container-low
State Layers:
Hover: Apply 8% opacity layer of on-surface
Focus: Apply 12% opacity layer of on-surface
Pressed: Apply 12% opacity layer of on-surface
Dragged: Apply 16% opacity layer of on-surface
Emphasis and Brand:
Use fixed accent colors for brand elements that must remain consistent
Apply emphasis through color saturation and contrast, not just hue
Use tertiary as an expressive accent for onboarding, highlights, and branding
Dynamic Color Generation
When generating color schemes from a source color:
Extract Core Hue: Identify the dominant hue from the source (e.g., user wallpaper)
Generate Tonal Palettes: Create five tonal palettes using HCT (Hue, Chroma, Tone) color space
Assign Color Roles: Map generated tones to semantic color roles (26+ roles)
Generate Fixed Variants: Create fixed accent colors that remain constant across themes
Generate Surface Containers: Create the five-level surface container hierarchy
Generate Contrast Variants: Produce standard, medium, and high contrast versions
Validate Contrast: Ensure all role pairs meet accessibility requirements
Support Themes: Generate both light and dark variants
Best Practices
Semantic Naming: Always use semantic color tokens (e.g., primary, error) rather than literal colors (e.g., blue, red)
Consistent Application: Apply colors consistently across all components
Elevation Tinting: Add subtle tint to elevated surfaces using primary color at very low opacity
Color Hierarchy: Use primary for main actions, secondary for less important actions, tertiary for expressive accents
Test Both Themes: Always test in both light and dark modes
Vibrant Expression: In M3 Expressive, embrace richer, more vibrant colors while maintaining accessibility
Context Awareness: Adapt color intensity and palette based on app context and user preferences
Use Fixed Colors for Branding: Apply fixed accent tokens for logo colors or elements that must not change between themes
Support Contrast Levels: Implement standard, medium, and high contrast variants for accessibility
Surface Container Hierarchy: Use the five surface container levels to create clear visual depth
Tools and Resources
tokens.css: Ready-to-use M3 color tokens (light + dark) based on the orange baseline palette (#FF9800), included in this skill's directory. Copy into your project and customize.
examples/color-roles.svg: Visual reference SVG showing M3 color roles (primary, secondary, tertiary, error), surface container tones, and the primary tonal palette. Use as a stakeholder reference or documentation asset.
material-theme-builder skill: Use to generate a complete token set from any source color programmatically.
Color Contrast Checker: Validate WCAG compliance for all text and interactive elements
HCT Color Space: Leverage for perceptually uniform color generation
CSS Custom Properties: Implement dynamic theming with CSS variables and data attributes
Common Pitfalls to Avoid
❌ Hard-coding color values instead of using tokens
❌ Using only one color for all states (no hover, focus, pressed variations)
❌ Ignoring dark theme or treating it as an afterthought
❌ Insufficient contrast between text and background
❌ Overusing accent colors (they should be used sparingly for emphasis)
❌ Not testing with actual user-generated color schemes
❌ Relying only on color to communicate state or information
❌ Forgetting to define fixed accent colors for brand elements
❌ Not implementing multiple contrast levels for accessibility
❌ Using surface instead of the appropriate surface container variant
Checklist for Color Implementation
When implementing M3 color systems, ensure:
All five tonal palettes are defined (Primary, Secondary, Tertiary, Neutral, Neutral Variant)
Both light and dark themes are implemented
All color pairs meet WCAG contrast requirements
Semantic color tokens are used throughout (no hard-coded hex values)
State layers (hover, focus, pressed) are implemented with appropriate opacity
Elevation tinting is applied to raised surfaces
Color scheme can be dynamically generated from user source colors
All components use color roles consistently
Color is not the only indicator of state or information
Fixed accent colors are defined for branding elements (primary-fixed, secondary-fixed, tertiary-fixed)
Surface container hierarchy is implemented (lowest through highest)
Inverse colors are defined for contrast elements (snackbars, tooltips)
Three contrast levels are supported (standard, medium, high)
Scrim and shadow tokens are defined
Documentation includes color token reference and usage guidelines
1---2name: material-design-3-color3description: Applies Material Design 3 Expressive dynamic color and theming principles to user interfaces. Use this when working on color palettes, themes, dynamic color systems, accessibility, or when the user asks to apply Material Design 3 color guidelines to a design or application.4license: Apache-2.05---67# Material Design 3 Color and Dynamic Theming89## Overview1011This skill guides the application of Material Design 3 (M3) Expressive color and theming principles to create vibrant, accessible, and emotionally engaging user interfaces.1213**Keywords**: Material Design 3, M3, dynamic color, theming, color palette, Material You, accessibility, color tokens, surface colors, accent colors, fixed accent colors, emphasis colors, contrast levels1415## Core Principles1617### Dynamic Color System1819Material Design 3's color system is built on the concept of dynamic color, allowing interfaces to adapt to user preferences and contexts:20211. **Tonal Palettes**: Use five key tonal palettes (Primary, Secondary, Tertiary, Neutral, Neutral Variant) with multiple tones (0-100)222. **Color Roles**: Map 26+ color roles to UI elements (e.g., primary, onPrimary, primaryContainer, onPrimaryContainer)233. **Adaptive Theming**: Support both light and dark themes with appropriate contrast244. **User Personalization**: Allow color schemes to adapt based on user wallpaper or preferences (Material You)255. **Fixed Accent Colors**: Provide color tokens that remain consistent across light and dark themes for brand identity266. **Emphasis Colors**: Use bolder, more vibrant color roles for key UI elements to improve clarity and emotional resonance2728### Color Palette Structure2930When creating color palettes, follow this structure:3132**Primary Palette** (Main brand color):33- Primary: Main interactive elements (buttons, active states)34- On Primary: Text/icons on primary color35- Primary Container: Standout fill color for key components36- On Primary Container: Text/icons on primary container37- Primary Fixed: Stays constant across light and dark themes38- On Primary Fixed: Text/icons on primary fixed39- Primary Fixed Dim: Dimmed variant for secondary emphasis on fixed surfaces4041**Secondary Palette** (Complementary accent):42- Secondary: Less prominent components43- On Secondary: Text/icons on secondary44- Secondary Container: Tinted backgrounds45- On Secondary Container: Text/icons on secondary container46- Secondary Fixed: Stays constant across light and dark themes47- On Secondary Fixed: Text/icons on secondary fixed48- Secondary Fixed Dim: Dimmed variant for fixed surfaces4950**Tertiary Palette** (Contrasting accent — now a prominent expressive accent for branding and highlights):51- Tertiary: Contrasting accents and highlights52- On Tertiary: Text/icons on tertiary53- Tertiary Container: Input elements54- On Tertiary Container: Text/icons on tertiary container55- Tertiary Fixed: Stays constant across light and dark themes56- On Tertiary Fixed: Text/icons on tertiary fixed57- Tertiary Fixed Dim: Dimmed variant for fixed surfaces5859**Neutral Palettes** (Surfaces and backgrounds):60- Surface: Default background for components61- On Surface: Text on surface62- Surface Variant: Alternate surface color63- On Surface Variant: Text on surface variant64- Surface Dim: Dimmed surface for reduced emphasis65- Surface Bright: Brighter surface for increased emphasis66- Surface Container Lowest: Lowest-emphasis container surface67- Surface Container Low: Low-emphasis container surface68- Surface Container: Default container surface69- Surface Container High: High-emphasis container surface70- Surface Container Highest: Highest-emphasis container surface71- Outline: Borders and dividers72- Outline Variant: Decorative elements73- Inverse Surface: Inverted surface for contrast elements (e.g., snackbars)74- Inverse On Surface: Text on inverse surface75- Inverse Primary: Primary color used on inverse surfaces7677**Error/Warning/Success** (Feedback colors):78- Error, Warning, Success with corresponding "On" colors and containers7980### Accessibility Guidelines81821. **Contrast Levels** (M3 Expressive standardizes three levels):83 - **Standard**: Default contrast suitable for most users84 - **Medium**: Enhanced contrast for improved readability85 - **High**: Maximum contrast for users with low vision or high-contrast preferences86 - All three levels are tokenized for easy implementation87882. **Contrast Requirements**:89 - Text contrast: Minimum 4.5:1 for body text, 3:1 for large text (WCAG AA)90 - Interactive elements: Minimum 3:1 contrast with background91 - Use "On" colors to ensure proper contrast92933. **Color Independence**:94 - Never rely solely on color to convey information95 - Use icons, text labels, or patterns alongside color96 - Ensure color-blind friendly combinations97984. **Dynamic Range**:99 - Light theme: Higher tones (90-99) for surfaces, lower tones (10-40) for emphasis100 - Dark theme: Lower tones (10-20) for surfaces, higher tones (80-90) for emphasis101102## Implementation Guidelines103104### Color Token System105106Use CSS custom properties (variables) for all colors. M3 Expressive introduces 26+ color roles:107108```css109:root {110 /* Primary */111 --md-sys-color-primary: #6750A4;112 --md-sys-color-on-primary: #FFFFFF;113 --md-sys-color-primary-container: #EADDFF;114 --md-sys-color-on-primary-container: #21005D;115116 /* Primary Fixed (consistent across themes) */117 --md-sys-color-primary-fixed: #EADDFF;118 --md-sys-color-on-primary-fixed: #21005D;119 --md-sys-color-primary-fixed-dim: #D0BCFF;120 --md-sys-color-on-primary-fixed-variant: #4F378B;121122 /* Secondary */123 --md-sys-color-secondary: #625B71;124 --md-sys-color-on-secondary: #FFFFFF;125 --md-sys-color-secondary-container: #E8DEF8;126 --md-sys-color-on-secondary-container: #1D192B;127128 /* Secondary Fixed */129 --md-sys-color-secondary-fixed: #E8DEF8;130 --md-sys-color-on-secondary-fixed: #1D192B;131 --md-sys-color-secondary-fixed-dim: #CCC2DC;132 --md-sys-color-on-secondary-fixed-variant: #4A4458;133134 /* Tertiary */135 --md-sys-color-tertiary: #7D5260;136 --md-sys-color-on-tertiary: #FFFFFF;137 --md-sys-color-tertiary-container: #FFD8E4;138 --md-sys-color-on-tertiary-container: #31111D;139140 /* Tertiary Fixed */141 --md-sys-color-tertiary-fixed: #FFD8E4;142 --md-sys-color-on-tertiary-fixed: #31111D;143 --md-sys-color-tertiary-fixed-dim: #EFB8C8;144 --md-sys-color-on-tertiary-fixed-variant: #633B48;145146 /* Surface and Surface Containers */147 --md-sys-color-surface: #FEF7FF;148 --md-sys-color-on-surface: #1D1B20;149 --md-sys-color-surface-variant: #E7E0EC;150 --md-sys-color-on-surface-variant: #49454F;151 --md-sys-color-surface-dim: #DED8E1;152 --md-sys-color-surface-bright: #FEF7FF;153 --md-sys-color-surface-container-lowest: #FFFFFF;154 --md-sys-color-surface-container-low: #F7F2FA;155 --md-sys-color-surface-container: #F3EDF7;156 --md-sys-color-surface-container-high: #ECE6F0;157 --md-sys-color-surface-container-highest: #E6E0E9;158159 /* Inverse */160 --md-sys-color-inverse-surface: #322F35;161 --md-sys-color-inverse-on-surface: #F5EFF7;162 --md-sys-color-inverse-primary: #D0BCFF;163164 /* Outlines */165 --md-sys-color-outline: #79747E;166 --md-sys-color-outline-variant: #CAC4D0;167168 /* Error */169 --md-sys-color-error: #B3261E;170 --md-sys-color-on-error: #FFFFFF;171 --md-sys-color-error-container: #F9DEDC;172 --md-sys-color-on-error-container: #410E0B;173174 /* Scrim and Shadow */175 --md-sys-color-scrim: #000000;176 --md-sys-color-shadow: #000000;177}178179[data-theme="dark"] {180 /* Primary */181 --md-sys-color-primary: #D0BCFF;182 --md-sys-color-on-primary: #381E72;183 --md-sys-color-primary-container: #4F378B;184 --md-sys-color-on-primary-container: #EADDFF;185186 /* Primary Fixed (same as light — these don't change) */187 --md-sys-color-primary-fixed: #EADDFF;188 --md-sys-color-on-primary-fixed: #21005D;189 --md-sys-color-primary-fixed-dim: #D0BCFF;190 --md-sys-color-on-primary-fixed-variant: #4F378B;191192 /* Secondary */193 --md-sys-color-secondary: #CCC2DC;194 --md-sys-color-on-secondary: #332D41;195 --md-sys-color-secondary-container: #4A4458;196 --md-sys-color-on-secondary-container: #E8DEF8;197198 /* Secondary Fixed (same as light) */199 --md-sys-color-secondary-fixed: #E8DEF8;200 --md-sys-color-on-secondary-fixed: #1D192B;201 --md-sys-color-secondary-fixed-dim: #CCC2DC;202 --md-sys-color-on-secondary-fixed-variant: #4A4458;203204 /* Tertiary */205 --md-sys-color-tertiary: #EFB8C8;206 --md-sys-color-on-tertiary: #492532;207 --md-sys-color-tertiary-container: #633B48;208 --md-sys-color-on-tertiary-container: #FFD8E4;209210 /* Tertiary Fixed (same as light) */211 --md-sys-color-tertiary-fixed: #FFD8E4;212 --md-sys-color-on-tertiary-fixed: #31111D;213 --md-sys-color-tertiary-fixed-dim: #EFB8C8;214 --md-sys-color-on-tertiary-fixed-variant: #633B48;215216 /* Surface and Surface Containers */217 --md-sys-color-surface: #141218;218 --md-sys-color-on-surface: #E6E0E9;219 --md-sys-color-surface-variant: #49454F;220 --md-sys-color-on-surface-variant: #CAC4D0;221 --md-sys-color-surface-dim: #141218;222 --md-sys-color-surface-bright: #3B383E;223 --md-sys-color-surface-container-lowest: #0F0D13;224 --md-sys-color-surface-container-low: #1D1B20;225 --md-sys-color-surface-container: #211F26;226 --md-sys-color-surface-container-high: #2B2930;227 --md-sys-color-surface-container-highest: #36343B;228229 /* Inverse */230 --md-sys-color-inverse-surface: #E6E0E9;231 --md-sys-color-inverse-on-surface: #322F35;232 --md-sys-color-inverse-primary: #6750A4;233234 /* Outlines */235 --md-sys-color-outline: #938F99;236 --md-sys-color-outline-variant: #49454F;237238 /* Error */239 --md-sys-color-error: #F2B8B5;240 --md-sys-color-on-error: #601410;241 --md-sys-color-error-container: #8C1D18;242 --md-sys-color-on-error-container: #F9DEDC;243244 /* Scrim and Shadow */245 --md-sys-color-scrim: #000000;246 --md-sys-color-shadow: #000000;247}248```249250### Fixed Accent Colors251252Fixed accent colors are new in M3 Expressive. They maintain the same value across light and dark themes, useful for brand identity elements:253254```css255/* Fixed colors remain identical in both themes */256.brand-banner {257 background-color: var(--md-sys-color-primary-fixed);258 color: var(--md-sys-color-on-primary-fixed);259}260261.brand-accent {262 background-color: var(--md-sys-color-tertiary-fixed);263 color: var(--md-sys-color-on-tertiary-fixed);264}265266/* Fixed Dim for secondary emphasis on fixed surfaces */267.brand-banner-secondary {268 background-color: var(--md-sys-color-primary-fixed-dim);269 color: var(--md-sys-color-on-primary-fixed);270}271```272273### Contrast Level System274275M3 Expressive standardizes three contrast levels for accessibility:276277```css278/* Standard contrast (default) */279:root {280 --md-sys-color-contrast-level: 0;281}282283/* Medium contrast */284[data-contrast="medium"] {285 --md-sys-color-primary: #5640A0;286 --md-sys-color-on-primary: #FFFFFF;287 --md-sys-color-primary-container: #7B68BA;288 --md-sys-color-on-primary-container: #FFFFFF;289}290291/* High contrast */292[data-contrast="high"] {293 --md-sys-color-primary: #2D0F6E;294 --md-sys-color-on-primary: #FFFFFF;295 --md-sys-color-primary-container: #4E3A87;296 --md-sys-color-on-primary-container: #FFFFFF;297}298```299300### Color Application3013021. **Interactive Elements**:303 - Filled buttons: Use primary color with on-primary text304 - Outlined buttons: Use outline with primary text305 - Text buttons: Use primary text only306 - FABs: Use primary-container with on-primary-container307 - Button Groups: Use surface-container with on-surface text3083092. **Surfaces and Containers**:310 - Main background: surface311 - Elevated components (cards, dialogs): surface-container variants312 - Input fields: surface-container-highest313 - Snackbars: inverse-surface with inverse-on-surface text314 - Bottom sheets: surface-container-low3153163. **State Layers**:317 - Hover: Apply 8% opacity layer of on-surface318 - Focus: Apply 12% opacity layer of on-surface319 - Pressed: Apply 12% opacity layer of on-surface320 - Dragged: Apply 16% opacity layer of on-surface3213224. **Emphasis and Brand**:323 - Use fixed accent colors for brand elements that must remain consistent324 - Apply emphasis through color saturation and contrast, not just hue325 - Use tertiary as an expressive accent for onboarding, highlights, and branding326327### Dynamic Color Generation328329When generating color schemes from a source color:3303311. **Extract Core Hue**: Identify the dominant hue from the source (e.g., user wallpaper)3322. **Generate Tonal Palettes**: Create five tonal palettes using HCT (Hue, Chroma, Tone) color space3333. **Assign Color Roles**: Map generated tones to semantic color roles (26+ roles)3344. **Generate Fixed Variants**: Create fixed accent colors that remain constant across themes3355. **Generate Surface Containers**: Create the five-level surface container hierarchy3366. **Generate Contrast Variants**: Produce standard, medium, and high contrast versions3377. **Validate Contrast**: Ensure all role pairs meet accessibility requirements3388. **Support Themes**: Generate both light and dark variants339340### Best Practices3413421. **Semantic Naming**: Always use semantic color tokens (e.g., `primary`, `error`) rather than literal colors (e.g., `blue`, `red`)3432. **Consistent Application**: Apply colors consistently across all components3443. **Elevation Tinting**: Add subtle tint to elevated surfaces using primary color at very low opacity3454. **Color Hierarchy**: Use primary for main actions, secondary for less important actions, tertiary for expressive accents3465. **Test Both Themes**: Always test in both light and dark modes3476. **Vibrant Expression**: In M3 Expressive, embrace richer, more vibrant colors while maintaining accessibility3487. **Context Awareness**: Adapt color intensity and palette based on app context and user preferences3498. **Use Fixed Colors for Branding**: Apply fixed accent tokens for logo colors or elements that must not change between themes3509. **Support Contrast Levels**: Implement standard, medium, and high contrast variants for accessibility35110. **Surface Container Hierarchy**: Use the five surface container levels to create clear visual depth352353## Tools and Resources354355- **`tokens.css`**: Ready-to-use M3 color tokens (light + dark) based on the orange baseline palette (#FF9800), included in this skill's directory. Copy into your project and customize.356- **`examples/color-roles.svg`**: Visual reference SVG showing M3 color roles (primary, secondary, tertiary, error), surface container tones, and the primary tonal palette. Use as a stakeholder reference or documentation asset.357- **`material-theme-builder` skill**: Use to generate a complete token set from any source color programmatically.358- **Material Color Utilities**: https://github.com/material-foundation/material-color-utilities — HCT color space, palette generation, and dynamic color algorithms359- **Material Theme Builder**: https://material-foundation.github.io/material-theme-builder/ — interactive web tool for generating color schemes360- **Official M3 CSS tokens**: https://github.com/material-foundation/material-tokens — baseline CSS token files (colors, typography, shape, motion, state, elevation)361- **M3 color system**: https://m3.material.io/styles/color/overview362- **M3 design tokens overview**: https://m3.material.io/foundations/design-tokens/overview363- **Color Contrast Checker**: Validate WCAG compliance for all text and interactive elements364- **HCT Color Space**: Leverage for perceptually uniform color generation365- **CSS Custom Properties**: Implement dynamic theming with CSS variables and data attributes366367## Common Pitfalls to Avoid3683691. ❌ Hard-coding color values instead of using tokens3702. ❌ Using only one color for all states (no hover, focus, pressed variations)3713. ❌ Ignoring dark theme or treating it as an afterthought3724. ❌ Insufficient contrast between text and background3735. ❌ Overusing accent colors (they should be used sparingly for emphasis)3746. ❌ Not testing with actual user-generated color schemes3757. ❌ Relying only on color to communicate state or information3768. ❌ Forgetting to define fixed accent colors for brand elements3779. ❌ Not implementing multiple contrast levels for accessibility37810. ❌ Using surface instead of the appropriate surface container variant379380## Checklist for Color Implementation381382When implementing M3 color systems, ensure:383384- [ ] All five tonal palettes are defined (Primary, Secondary, Tertiary, Neutral, Neutral Variant)385- [ ] Both light and dark themes are implemented386- [ ] All color pairs meet WCAG contrast requirements387- [ ] Semantic color tokens are used throughout (no hard-coded hex values)388- [ ] State layers (hover, focus, pressed) are implemented with appropriate opacity389- [ ] Elevation tinting is applied to raised surfaces390- [ ] Color scheme can be dynamically generated from user source colors391- [ ] All components use color roles consistently392- [ ] Color is not the only indicator of state or information393- [ ] Fixed accent colors are defined for branding elements (primary-fixed, secondary-fixed, tertiary-fixed)394- [ ] Surface container hierarchy is implemented (lowest through highest)395- [ ] Inverse colors are defined for contrast elements (snackbars, tooltips)396- [ ] Three contrast levels are supported (standard, medium, high)397- [ ] Scrim and shadow tokens are defined398- [ ] Documentation includes color token reference and usage guidelines
Run npx skillmds@latest add shelbeely/material-design-3-color in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Applies Material Design 3 Expressive dynamic color and theming principles to user interfaces. Use this when working on color palettes, themes, dynamic color systems, accessibility, or when the user asks to apply Material Design 3 color guidelines to a design or application. It is listed under Web & Frontend on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under Apache-2.
shelbeely (@shelbeely) published this skill. Their other Agent Skills are listed on their SkillMD profile.