skills/material-design-3-guide/SKILL.md
Master guide for Material Design 3 — covering the full specification from Material You foundations through M3 Expressive. Explains when to use each Material Design 3 skill subset (color, motion, typography, shape, layout, components, icons). Use this when starting a Material Design 3 project, when you need to understand which M3 skill to apply, or when the user asks about Material Design 3 in general.
npx skillsauth add shelbeely/shelbeely-agent-skills material-design-3-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is the master guide for implementing Material Design 3 (M3) — covering the full specification from Material You foundations through M3 Expressive enhancements. It explains the overall system and directs you to specialized skills for each aspect.
Keywords: Material Design 3, M3, Material Design, design system, Google design, Material You, expressive design, UI design, M3 Expressive, React, MUI, Angular Material, Vue, Vuetify, Svelte, SMUI, Tailwind CSS, Next.js, Flutter, Jetpack Compose, web components, Beer CSS, Ink, CLI, terminal UI
Material Design 3 is Google's open-source design system for creating digital products. It has evolved through two major phases:
The foundational M3 system introduced:
Building on Material You, M3 Expressive adds:
Material Design 3 is built on seven interconnected design pillars:
What: Vibrant, adaptive color systems with 26+ roles, proper contrast, and accessibility
Use the material-design-3-color skill when:
Key concepts: Tonal palettes, color roles, dynamic color, accessibility, theming, fixed accents, contrast levels, surface containers
What: Physics-based, natural animations that guide attention and provide feedback
Use the material-design-3-motion skill when:
Key concepts: Spring physics, stiffness/damping/velocity, easing curves, duration, transitions, haptics
What: Clear, readable type hierarchy using variable fonts and defined scales
Use the material-design-3-typography skill when:
Key concepts: Type scale (15 baseline + 15 emphasized), variable fonts, hierarchy, readability, medium contrast
What: Rounded corners, morphing shapes, and expressive decorative forms
Use the material-design-3-shape skill when:
Key concepts: Border radius, shape scale, morphing, containment, 35 expressive shapes, rounded corners
What: Strategic use of spacing, size, containment, and depth to create visual flow
Use the material-design-3-layout skill when:
Key concepts: Spacing scale, grid systems, responsive design, visual hierarchy, background blur, containment, state layers
What: Complete library of accessible, themed UI components
Use the material-design-3-components skill when:
Key concepts: Action, containment, communication, navigation, selection, text input components
What: Material Symbols variable font icon system with 2,500+ icons
Use the material-design-3-icons skill when:
Key concepts: Material Symbols, variable font axes (FILL, wght, GRAD, opsz), icon accessibility
Step 1: Color Foundation
material-design-3-color firstStep 2: Typography System
material-design-3-typographyStep 3: Shape System
material-design-3-shapeStep 4: Icons
material-design-3-iconsStep 5: Layout Foundation
material-design-3-layoutStep 6: Build Components
material-design-3-componentsStep 7: Add Motion
material-design-3-motionButtons:
material-design-3-components (specs, variants, button groups)material-design-3-shape (full radius, pill shape)material-design-3-color (primary/secondary/tertiary)material-design-3-typography (label-large)material-design-3-motion (hover, focus, press states)material-design-3-layout (spacing, sizing)material-design-3-icons (button icons)Cards:
material-design-3-components (elevated, filled, outlined)material-design-3-shape (medium radius, 12dp)material-design-3-color (surface container variants)material-design-3-typography (title + body text)material-design-3-motion (elevation change on hover)material-design-3-layout (padding, content flow)Dialogs/Modals:
material-design-3-components (dialog specs)material-design-3-shape (extra-large radius, 32dp)material-design-3-color (surface-container-high)material-design-3-typography (headline + body)material-design-3-motion (enter/exit animations)material-design-3-layout (centered, max-width, background blur)Navigation:
material-design-3-components (bar, rail, drawer, tabs)material-design-3-color (surface variant, active states)material-design-3-typography (label-large)material-design-3-shape (indicators, pills)material-design-3-motion (transition animations)material-design-3-layout (nav structure)material-design-3-icons (navigation icons with fill toggle)Forms/Inputs:
material-design-3-components (text fields, selectors)material-design-3-shape (extra-small radius, 4dp)material-design-3-color (surface variant, outlines)material-design-3-typography (body text, labels)material-design-3-motion (focus animations)material-design-3-layout (field spacing, alignment)"Make it look Material Design 3":
material-design-3-color - set up the color systemmaterial-design-3-shape - add rounded cornersmaterial-design-3-typography - implement the type scalematerial-design-3-icons - set up Material Symbolsmaterial-design-3-components - use M3 component specsmaterial-design-3-motion - implement spring animationsmaterial-design-3-layout - ensure proper spacing"Make it M3 Expressive":
material-design-3-typographymaterial-design-3-shape for decorative momentsmaterial-design-3-motionmaterial-design-3-componentsmaterial-design-3-colormaterial-design-3-layout"Add Material Design animations":
material-design-3-motionmaterial-design-3-color for state layersmaterial-design-3-shape for morphing shapes"Fix Material Design colors":
material-design-3-color exclusively"Style this button/card/dialog":
material-design-3-components for specs"Make it responsive":
material-design-3-layoutmaterial-design-3-typography for responsive textmaterial-design-3-shape for responsive radii"Implement dark mode":
material-design-3-color for theme switchingmaterial-design-3-icons"Add icons":
material-design-3-icons for Material Symbols setupmaterial-design-3-color for icon color tokensMaterial Design 3 is a holistic system - the skills are designed to be used together:
When using multiple skills:
/* Uses all seven pillars */
.md3-button {
/* Shape */
border-radius: var(--md-sys-shape-corner-full);
/* Color */
background-color: var(--md-sys-color-primary);
color: var(--md-sys-color-on-primary);
/* Typography */
font-family: var(--md-sys-typescale-label-large-font);
font-size: var(--md-sys-typescale-label-large-size);
font-weight: var(--md-sys-typescale-label-large-weight);
letter-spacing: var(--md-sys-typescale-label-large-tracking);
/* Layout */
padding: var(--md-sys-spacing-2) var(--md-sys-spacing-6);
min-height: 40px;
display: inline-flex;
align-items: center;
gap: var(--md-sys-spacing-2);
/* Motion */
transition:
background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),
box-shadow var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),
transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);
}
.md3-button:hover {
/* Color - state layer */
background-color: var(--md-sys-color-primary);
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
/* Motion */
transform: translateY(-1px);
}
/* Icons in button */
.md3-button .material-symbols-outlined {
font-size: 18px;
font-variation-settings: 'opsz' 20;
}
| Property | Skill |
|----------|-------|
| color, background-color | material-design-3-color |
| font-size, font-family, line-height, font-weight, letter-spacing | material-design-3-typography |
| border-radius, clip-path | material-design-3-shape |
| transition, animation, @keyframes | material-design-3-motion |
| margin, padding, gap, width, height, display, grid | material-design-3-layout |
| box-shadow (elevation) | material-design-3-layout (+ motion for transitions) |
| backdrop-filter (blur) | material-design-3-layout |
| font-variation-settings (icons) | material-design-3-icons |
| Component-specific specs | material-design-3-components |
| Component | Primary Skill | Supporting Skills | |-----------|--------------|-------------------| | Buttons | components | color, shape, typography, motion | | Cards | components | color, shape, layout | | Dialogs | components | color, shape, layout, motion | | Navigation | components | color, icons, layout, motion | | Text Fields | components | color, shape, typography | | FABs | components | color, shape, icons, motion | | Chips | components | color, shape, typography | | Tabs | components | color, typography, icons, motion | | Lists | components | color, typography, layout | | Menus | components | color, shape, layout |
When implementing M3, organize your code:
styles/
├── tokens/
│ ├── color.css # From material-design-3-color
│ ├── typography.css # From material-design-3-typography
│ ├── shape.css # From material-design-3-shape
│ ├── motion.css # From material-design-3-motion
│ ├── layout.css # From material-design-3-layout
│ └── icons.css # From material-design-3-icons
├── components/
│ ├── button.css # Uses all skills
│ ├── card.css # Uses all skills
│ ├── dialog.css # Uses all skills
│ ├── navigation.css # Uses all skills
│ └── text-field.css # Uses all skills
└── main.css # Imports all tokens
M3 can be implemented across many web stacks. Each framework has a dedicated library-specific skill with full setup, theming, and component examples. Use the overview table below to find the right skill for your project.
| Stack | Primary Library | M3 Support | Skill |
|-------|----------------|------------|-------|
| Vanilla CSS | CSS custom properties | Full (manual) | m3-web-vanilla |
| Web Components | @material/web (Lit) | Full M3 | m3-web-webcomponents |
| React / Next.js | MUI (@mui/material) | M3 theming | m3-web-react |
| Angular | @angular/material | Full M3 (official) | m3-web-angular |
| Vue | Vuetify 3 | Full M3 | m3-web-vue |
| Svelte | SMUI / @material/web | Partial M3 | m3-web-svelte |
| Tailwind CSS | tailwind-material-3 plugin | Token-based M3 | m3-web-tailwind |
| Ink (React CLI) | ink + @inkjs/ui | Token-based M3 | m3-web-ink |
| Flutter | material / m3e_design | Full M3 | m3-web-flutter |
| Android | Jetpack Compose Material 3 | Full M3 + Expressive | m3-web-android |
| If your project uses... | Recommended Skill | Why |
|-------------------------|------------------|-----|
| No framework (vanilla) | m3-web-vanilla | Full control, zero dependencies |
| React or Next.js | m3-web-react | Largest ecosystem, SSR support |
| Angular | m3-web-angular | Official, best M3 integration |
| Vue | m3-web-vue | Enterprise-ready, excellent docs |
| Svelte / SvelteKit | m3-web-svelte | Best available for Svelte |
| Tailwind CSS | m3-web-tailwind | Utility-first with M3 tokens |
| Any framework | m3-web-webcomponents | Official, framework-agnostic |
| CLI / Terminal | m3-web-ink | React-based, themeable |
| Flutter | m3-web-flutter | Official, cross-platform |
| Android | m3-web-android | Official, most complete M3 |
Tips for choosing:
m3-web-angular — best official M3 support of any web frameworkm3-web-react for MUI, or m3-web-webcomponents for Google's official componentsm3-web-vue — Vuetify 3 is mature and well-documentedm3-web-webcomponents or m3-web-vanillam3-web-vanilla (Beer CSS) or m3-web-webcomponents via CDNm3-web-tailwind to map M3 tokens to Tailwind configm3-web-flutter for cross-platform M3m3-web-ink with M3 color tokens mapped to terminal colorsmaterial-design-3-color - Color palettes, theming, accessibility, fixed accents, contrast levelsmaterial-design-3-motion - Animations, transitions, micro-interactions, spring physics, hapticsmaterial-design-3-typography - Type scale (30 styles), fonts, hierarchy, emphasized variantsmaterial-design-3-shape - Border radius, containment, morphing, 35 expressive shapesmaterial-design-3-layout - Spacing, grids, responsive design, background blur, interaction statesmaterial-design-3-components - Complete component catalog with specs and implementationmaterial-design-3-icons - Material Symbols, variable font axes, icon accessibilitym3-web-vanilla - Vanilla CSS custom properties, Beer CSS, zero-dependency M3m3-web-webcomponents - Google's official @material/web Lit-based componentsm3-web-react - React / MUI / Next.js M3 theming and SSR integrationm3-web-angular - Angular Material M3 theming, SCSS mixins, schematicsm3-web-vue - Vuetify 3 M3 theming, components, dark modem3-web-svelte - SMUI + direct @material/web in Svelte/SvelteKitm3-web-tailwind - Tailwind CSS M3 token mapping and plugin setupm3-web-ink - Ink React CLI with @inkjs/ui M3 themingm3-web-flutter - Flutter M3 theming, dynamic color, M3 Expressive packagesm3-web-android - Jetpack Compose Material 3, dynamic color, M3 ExpressiveStarting a new M3 project? Follow this checklist:
material-design-3-colormaterial-design-3-typographymaterial-design-3-shapematerial-design-3-iconsmaterial-design-3-layoutmaterial-design-3-components specsmaterial-design-3-motionMaterial Design 3 is a complete design system covering the full specification from Material You foundations through M3 Expressive enhancements. It is built on seven interconnected pillars, each with a dedicated skill:
Use this guide to understand which skill to apply for your specific needs, and remember that M3 works best when all seven pillars work together in harmony.
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
development
Generate Material Design 3 color themes programmatically from a source color using @material/material-color-utilities, the same engine that powers the Material Theme Builder. Use this when the user asks to generate an M3 color palette, create a custom theme from a brand color, or export M3 tokens to CSS, JSON, or framework configs.
testing
Applies Material Design 3 Expressive typography principles including variable fonts, type scales, and hierarchy. Use this when working on text styling, type hierarchy, readable interfaces, or when the user asks to apply Material Design 3 typography guidelines.
testing
Applies Material Design 3 Expressive shape and containment principles including rounded corners, morphing shapes, and container design. Use this when working on component shapes, borders, containment, or when the user asks to apply Material Design 3 shape guidelines.