MCP HubMCP Hub
スキル一覧に戻る

material-design

vinnie357
更新日 Today
128 閲覧
0
GitHubで表示
デザインdesign

について

このスキルは、Android、Web、およびクロスプラットフォームアプリケーションでMaterial Design 3(Material You)の原則を実装するためのガイダンスを提供します。FlutterやJetpack Composeなどのフレームワークを使用してUIを設計または構築する際にアクティブにし、ダイナミックなテーマ設定とパーソナライズされたカラーシステムを適用してください。これは、開発者がGoogleの最新デザインシステムに準拠した、適応性があり、アクセシブルで一貫性のあるインターフェースを作成するのに役立ちます。

クイックインストール

Claude Code

推奨
プラグインコマンド推奨
/plugin add https://github.com/vinnie357/claude-skills
Git クローン代替
git clone https://github.com/vinnie357/claude-skills.git ~/.claude/skills/material-design

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

Material Design 3 (Material You)

Apply Google's Material Design 3 principles when designing and developing user interfaces with emphasis on personalization, accessibility, and cross-platform consistency.

When to Activate

Use this skill when:

  • Designing or implementing Android applications
  • Building web applications following Material Design
  • Working with Flutter or Jetpack Compose
  • Implementing dynamic theming and color systems
  • Creating Material components
  • Reviewing designs for Material Design compliance

What is Material Design 3?

Material Design 3 (Material You) represents Google's latest design system with:

  • Personalization: Dynamic color extraction from user preferences
  • Expressiveness: Softer, rounded components with visual hierarchy
  • Adaptability: Responsive across devices and platforms
  • Accessibility: Built-in inclusive design features

Key Differences from Material Design 2

AspectMD2MD3
ColorsFixed brand palettesDynamic, user-generated schemes
CustomizationLimited themingHighly personalized
ComponentsFlat, rigid shapesRounded, expressive
AccessibilityBasic supportPriority built-in

Core Foundations

1. Dynamic Color System

Material Design 3 uses HCT (Hue, Chroma, Tone) color space for perceptually accurate color generation.

Key concepts:

  • Color roles (primary, secondary, tertiary, error, neutral)
  • Tonal palettes (50-99 tones per color)
  • Automatic light/dark theme generation
  • User-driven personalization from wallpaper/system

For detailed color system implementation, see references/color-system.md.

2. Typography

Type scale with 5 display sizes and 9 text sizes:

Quick example:

  • Display Large: 57sp
  • Headline Large: 32sp
  • Body Large: 16sp
  • Label Small: 11sp

For complete typography system and responsive scaling, see references/typography.md.

3. Layout

Responsive breakpoints and grid system:

  • Compact: 0-599dp (phones)
  • Medium: 600-839dp (tablets, folded phones)
  • Expanded: 840dp+ (desktops, large tablets)

For layout guidelines and examples, see references/layout.md.

Component Guidelines

Material Design 3 provides specifications for:

  • Common Buttons: Elevated, Filled, Tonal, Outlined, Text
  • Cards: Elevated, Filled, Outlined variants
  • Text Fields: Filled, Outlined with labels and helper text
  • Navigation: Navigation bar, rail, drawer
  • Chips: Assist, Filter, Input, Suggestion chips
  • Dialogs: Basic, Full-screen dialogs

For detailed component specifications, consult references/components.md.

Quick Component Examples

Buttons

// Jetpack Compose
Button(onClick = { }) {
    Text("Filled Button")
}

OutlinedButton(onClick = { }) {
    Text("Outlined Button")
}

Cards

Card(
    modifier = Modifier.fillMaxWidth(),
    elevation = CardDefaults.cardElevation(defaultElevation = 6.dp)
) {
    Column(modifier = Modifier.padding(16.dp)) {
        Text("Card Title", style = MaterialTheme.typography.headlineSmall)
        Text("Card content", style = MaterialTheme.typography.bodyMedium)
    }
}

Text Fields

OutlinedTextField(
    value = text,
    onValueChange = { text = it },
    label = { Text("Label") },
    supportingText = { Text("Helper text") }
)

For more component examples and patterns, see references/components.md.

Implementing Dynamic Color

Android (Jetpack Compose)

val dynamicColor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S

val colorScheme = when {
    dynamicColor && darkTheme -> dynamicDarkColorScheme(LocalContext.current)
    dynamicColor && !darkTheme -> dynamicLightColorScheme(LocalContext.current)
    darkTheme -> darkColorScheme()
    else -> lightColorScheme()
}

MaterialTheme(
    colorScheme = colorScheme,
    typography = Typography,
    content = content
)

Web

For web implementation with Material Web Components, see references/web-implementation.md.

Motion and Animation

Material Design 3 motion principles:

  • Easing: Standard, emphasized, decelerated curves
  • Duration: Based on travel distance and complexity
  • Choreography: Coordinated element movements

For motion specifications, see references/motion.md.

Accessibility

Material Design 3 prioritizes accessibility:

  • Minimum 4.5:1 contrast ratio (text)
  • 3:1 contrast ratio (UI components)
  • Touch targets minimum 48dp × 48dp
  • Screen reader support
  • Semantic color usage (not color-only indicators)

For accessibility implementation details, see references/accessibility.md.

When to Consult References

  • Color system implementation: Read references/color-system.md
  • Typography scales and usage: Read references/typography.md
  • Layout and responsive design: Read references/layout.md
  • Component specifications: Read references/components.md
  • Web implementation: Read references/web-implementation.md
  • Motion and animation: Read references/motion.md
  • Accessibility guidelines: Read references/accessibility.md

Key Principles

  • User-driven personalization: Colors adapt to user preferences
  • Expressive and flexible: Rounded corners, dynamic elevation
  • Accessible by default: Built-in contrast, touch targets, semantics
  • Cross-platform consistency: Same principles across Android, web, iOS
  • Design tokens: Use semantic tokens, not hardcoded values
  • Responsive: Adapt to device size and orientation

Resources

GitHub リポジトリ

vinnie357/claude-skills
パス: core/skills/material-design

関連スキル

content-collections

メタ

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

スキルを見る

creating-opencode-plugins

メタ

This skill provides the structure and API specifications for creating OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It offers implementation patterns for JavaScript/TypeScript modules that intercept and extend the AI assistant's lifecycle. Use it when you need to build event-driven plugins for monitoring, custom handling, or extending OpenCode's capabilities.

スキルを見る

polymarket

メタ

This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.

スキルを見る

cloudflare-turnstile

メタ

This skill provides comprehensive guidance for implementing Cloudflare Turnstile as a CAPTCHA-alternative bot protection system. It covers integration for forms, login pages, API endpoints, and frameworks like React/Next.js/Hono, while handling invisible challenges that maintain user experience. Use it when migrating from reCAPTCHA, debugging error codes, or implementing token validation and E2E tests.

スキルを見る