mcpField
M
material-3-expressive

material-3-expressive

github.com/albermonteデザイン・UI11506 回インストール6 日前に更新
リポジトリ

material-3-expressive について

Material 3 Expressiveは、コンポーネントの指針とトークン参照を用いてAndroid UI/UXを設計・レビューするスキルです。デバイスとウィンドウのサイズクラス、表現の強度、アクセシビリティ、モーションの制約に沿って作業を整理します。

主な機能

  1. 01Android UI/UX設計レビューのガイド
  2. 02コンポーネントとトークンの参照
  3. 03デバイスとウィンドウサイズクラスへの対応
  4. 04アクセシビリティとモーション軽減への配慮
  5. 05用途別のリファレンス整理

活用シーン

  1. 01Androidのダイアログ、シート、ツールバーの設計
  2. 02タブレットや折りたたみ端末のレイアウト確認
  3. 03モーションとアクセシビリティ要件の点検

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/albermonte/android-skills --skill material-3-expressive

インストール後、Claude Code で/material-3-expressiveを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
assets/examples/ui/
ExpressiveAntiPatterns.kt
ExpressiveButtonComparison.kt
ExpressiveHomeScreen.kt
assets/examples/ux/
expressive-ux-brief-template.md
references/
android-ui-design-hub.md
compose-mapping.md
expressive-catalog.md
expressive-research.md
m3-app-bars-specs-tokens.md
m3-app-bars.md
m3-bottom-sheets-specs-tokens.md
m3-button-groups-specs-tokens.md
m3-button-groups.md
m3-buttons-specs-tokens.md
m3-buttons.md
m3-carousel-specs-tokens.md
m3-carousel.md
m3-color-foundation-tokens.md
m3-color-system.md
m3-component-token-output-template.md
m3-dialogs-specs-tokens.md
m3-dialogs.md
m3-elevation-specs-tokens.md
m3-elevation.md
m3-expressive-blog.md
m3-expressive-components.md
m3-expressive-guidelines.md
m3-expressive-specs-tokens-index.md
m3-extended-fab-specs-tokens.md

詳細

Material 3 Expressive(Android UI/UX)

概要

Material 3 Expressive を使用して、Android の UI/UX を設計およびレビューします。ダイアログ、シート、モーダル、ツールバー、ボタンのコンポーネントトークンに関するリクエストを優先し、通常はガイダンスとトークンの参照情報を提示します。

ヒアリング項目

  • 対象デバイスの種類(スマートフォン、タブレット、折りたたみ式、Wear OS)
  • ウィンドウサイズクラス(Compact、Medium、Expanded)
  • ブランド上の制約とダイナミックカラーの使用
  • 主なアクションと、目を引く見せ場の希望(最大1~2個)
  • モーションの制約と、モーション低減への期待
  • アクセシビリティの目標(コントラスト、タッチターゲット)

デフォルトの前提条件

  • 強度レベル:Foundational
  • ウィンドウサイズクラス:Compact
  • ダイナミックカラー:有効
  • 標準のナビゲーションパターンを維持

クイックワークフロー

  1. 強度レベルと、目を引く見せ場を確認します
  2. デバイスの種類とウィンドウサイズクラスを確認します
  3. Tier 1 のインデックスと出力テンプレートを読み込みます
  4. コンポーネントの概要とトークン仕様ファイルを読み込みます
  5. テーマ設定が必要な場合は、Tier 3 の基盤トークンを読み込みます
  6. 出力:ガイダンスとトークン参照(テンプレートを参照)

デフォルトの出力形式(ガイダンスとトークン参照)

references/m3-component-token-output-template.md をベースとなる出力ひな形として、そのまま使用します。

  • コンテキストと意図(1~2行)
  • 強度レベルと、目を引く見せ場(数と配置)
  • ウィンドウサイズクラスとデバイスの種類
  • コンポーネントとバリアント
  • トークン参照:使用するファイルパスとトークングループ(必要な場合のみ、主要な値を最小限引用)
  • Compose マッピングの参照(任意):references/compose-mapping.md
  • 動作またはインタラクションの制約(概要に基づく)
  • モーション低減時の代替動作に関する注記
  • アクセシビリティとパフォーマンスの確認項目
  • 任意:Compose マッピングに関する注記

Expressive の手法

手法適用方法
形状のコントラストプライマリには大胆な角、セカンダリには控えめな角を使います
豊かな色使い強調にはプライマリ/セカンダリコンテナを使います
タイポグラフィの階層サイズとウェイトに変化をつけます
モーション押下/選択時に形状を変形させます

制約: 1つのフローにつき、目を引く見せ場は最大1~2個です

Expressive の強度レベル

  • Foundational: 明瞭さと親しみやすさを最優先します
  • Excellent: パターンを維持しながら、色、タイポグラフィ、形状をより強調します
  • Transformative: ユーザビリティとアクセシビリティを厳格に保ちながら、大胆なレイアウトとモーションを採用します

よくある間違い

間違い修正方法
「よりすっきりした」見た目にするためにテキストラベルを削除するラベルは維持します。ラベルがないとユーザビリティが低下します
画面内に目を引く見せ場を多く配置しすぎる1つのフローにつき1~2個に制限します
ナビゲーションパターンを崩す標準のナビゲーション動作を維持します
モーション低減時の代替動作がないシステムのアニメーションスケールに従います。スケールが0の場合は、モーション低減または即時遷移を提供します
トークン値をハードコードするセマンティックトークン(md.sys.color.*)を使用します
ウィンドウサイズクラスを無視するCompact、Medium、Expanded をテストします

Android 固有のガイダンス

  • ナビゲーションとコンポーネントの動作を維持します
  • タッチターゲットに十分な大きさを確保し、プラットフォームの標準に合わせます
  • システムのアニメーションスケールに従います。モーション低減の代替手段、またはスケールが0の場合の即時遷移を提供します
  • タブレットと折りたたみ式デバイスにはウィンドウサイズクラスを適用します

レビューチェックリスト

階層
  • 主なアクションを2秒以内に判別できる
  • 画面内の目を引く見せ場は最大1~2個
  • すべてのインタラクティブ要素のラベルを維持している
アクセシビリティ
  • 色のコントラスト:テキストは4.5:1、テキスト以外は3:1
  • タッチターゲット:最小48dp
  • モーション:モーション低減時の代替手段を提供している
  • スクリーンリーダー:コンテンツの説明が設定されている
Expressive への準拠
  • 機能全体で強度レベルに一貫性がある
  • 標準パターンを維持している
  • ダイナミックカラーのトークンを使用している
  • ウィンドウサイズクラスをテストしている

参照ティア(必要に応じて順番に読み込む)

Tier 1:最初に必ず読み込む
必要な情報ファイル
コンポーネントトークンの検索references/m3-expressive-specs-tokens-index.md
出力形式のテンプレートreferences/m3-component-token-output-template.md
新規/更新コンポーネントreferences/m3-expressive-components.md
Tier 2:コンポーネント固有(リクエストに応じて読み込み)
コンポーネント概要トークン
ボタンm3-buttons.mdm3-buttons-specs-tokens.md
ボタングループm3-button-groups.mdm3-button-groups-specs-tokens.md
ダイアログm3-dialogs.mdm3-dialogs-specs-tokens.md
シートm3-sheets.mdm3-bottom-sheets-specs-tokens.md / m3-side-sheets-specs-tokens.md
ツールバーm3-toolbars.mdm3-toolbars-specs-tokens.md
FABm3-fabs.mdm3-fabs-specs-tokens.md
拡張 FABm3-extended-fab.mdm3-extended-fab-specs-tokens.md
FAB メニューm3-fab-menu.mdm3-fab-menu-specs-tokens.md
アイコンボタンm3-icon-buttons.mdm3-icon-buttons-specs-tokens.md
分割ボタンm3-split-button.mdm3-split-button-specs-tokens.md
ナビゲーションバーm3-navigation-bar.mdm3-navigation-bar-specs-tokens.md
ナビゲーションレールm3-navigation-rail.mdm3-navigation-rail-specs-tokens.md
アプリバーm3-app-bars.mdm3-app-bars-specs-tokens.md
カルーセルm3-carousel.mdm3-carousel-specs-tokens.md
プログレスインジケーターm3-progress-indicators.mdm3-progress-indicators-specs-tokens.md
ローディングインジケーターm3-loading-indicator.mdm3-loading-indicator-specs-tokens.md
Tier 3:基盤トークン(テーマ設定時に読み込み)
基盤ファイル
カラーシステムm3-color-system.md、m3-color-foundation-tokens.md
タイポグラフィm3-typography.md、m3-typography-foundation-tokens.md、m3-typography-fonts.md、m3-typography-type-scale-tokens.md
シェイプm3-shape.md、m3-shape-foundation-tokens.md、m3-shape-corner-radius-scale.md、m3-shape-morph.md
モーションm3-motion-physics.md、m3-motion-foundation-tokens.md、m3-motion-specs.md
エレベーションm3-elevation.md、m3-elevation-specs-tokens.md
状態m3-state-foundation-tokens.md
Tier 4:根拠と調査(正当化のために読み込み)
リソースファイル
調査結果references/expressive-research.md
テストガイダンスreferences/m3-testing-material-3.md
Expressive ブログreferences/m3-expressive-blog.md
Expressive ガイドラインreferences/m3-expressive-guidelines.md
UX 記事references/medium-ux-article.md
Tier 5:Wear OS(ウェアラブルの場合のみ読み込み)
リソースファイル
メリットreferences/wear-expressive-benefits.md
表現のレベルreferences/wear-levels-of-expression.md
デザイン言語references/wear-expressive-design-language.md
ブログreferences/wear-expressive-blog.md
Compose Material3references/wear-compose-material3.md
補足リソース
リソースファイル
Android UI デザインハブreferences/android-ui-design-hub.md
Expressive カタログreferences/expressive-catalog.md
Compose マッピングreferences/compose-mapping.md

メンテナンス

  • skills/material-3-expressive/scripts/update_m3_expressive_refs.py で参照情報を更新します。
  • Playwright と Chromium が必要です(必要に応じて .venv/bin/python -m playwright install chromium を実行してください)。
  • CI は毎週実行されます。ローカルでの実行は緊急の変更向けです。

検索のヒント

  • トークンのプレフィックスを検索:rg "md.comp.button" skills/material-3-expressive/references/m3-buttons-specs-tokens.md
  • ナビゲーションのトークンを検索:rg "md.comp.navigation" skills/material-3-expressive/references/m3-.*navigation.*.md

例

  • Compose の出発点として assets/examples/ui/ExpressiveHomeScreen.kt を使用します
  • 標準ボタンと Expressive ボタンの違いを確認するには assets/examples/ui/ExpressiveButtonComparison.kt を使用します
  • 避けるべき一般的な間違いを知るには assets/examples/ui/ExpressiveAntiPatterns.kt を使用します
  • Expressive UX ブリーフの作成には assets/examples/ux/expressive-ux-brief-template.md を使用します
  • 例は参考用です。サイズや色は、Expressive トークンとプロジェクトの制約に合わせて調整してください。

コメント