Communitygithub.com

frogg435/frontend-design-styles

前端界面设计风格的实现与还原助手,支持 Xiaomi MIUIX/HyperOS、Apple HIG、Google Material Design 3、Microsoft Fluent 2 四套设计语言。用于按指定风格生成或改造界面、风格选型对比、生成设计令牌并输出可运行的前端代码。

frontend-design-styles とは?

このスキルは、4つの主要なデザイン言語(Xiaomi MIUIX/HyperOS、Apple HIG、Google Material Design 3、Microsoft Fluent 2)をフロントエンドコードに忠実に落とし込むためのアシスタントです。「なんとなく似せる」のではなく、セマンティックトークン、コンポーネント形態、モーションカーブの3層で一貫性を持たせ、そのプラットフォームのユーザーが「これはiOSだ」「これはMaterialだ」と認識できる品質を目指します。ユーザーがスタイルを指定した場合(例:「iOS風のUI」「Material Design 3の管理画面」「Windows 11風アプリ」)に、対応するリファレンスからトークン(色、フォントサイズ、角丸、影、モーション)を読み取り、セマンティックCSS変数やTailwindマッピングを用いてコードを生成します。さらに、スタイルの選定比較、トークンとテーマファイルの生成、既存UIのデザインシステム準拠レビューもサポートしており、スキルの実行後はスクリプトによるトークンLint実行が必須です。対応プラットフォームはWeb(HTML/CSS/JS)、React、Vue、Compose/Kotlinなどで、Tailwind v4の@themeマッピングも提供されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add frogg435/frontend-design-styles

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Frontend Design Styles

4つの主要デザイン言語をフロントエンドコードに忠実に落とし込みます。核となるのは「なんとなく似ている」ではなく、セマンティックトークン + コンポーネント形態 + モーションカーブの3層で一貫して再現し、成果物がそのプラットフォームのユーザーに「これがiOS」「これがMaterial」「これがWindows」と認識されるようにすることです。

使用する/しない

使用する:指定されたデザインスタイルでインターフェースを生成または改造する;4スタイルの選定比較を行う;デザイントークンとテーマファイルを出力する;デザイン言語に沿ったビジュアルレビューを実施する。

使用しない:ユーザーにスタイルの好みがなく、単に「見た目の良いページ」を素早く欲しい場合 → まずスタイル指定の要不要を確認するか、references/style-router.md の推奨ロジックに従う;純粋なバックエンド/アルゴリズムタスクは本スキルの対象外。

4スタイル簡易リファレンス

最も識別性の高い特徴です。実装前に必ずこの表を確認し、詳細は対応するリファレンスを参照してください。

MIUIX / HyperOSApple HIGMaterial Design 3Fluent 2
メインカラー#3482FF (ライト) / #277AF7 (ダーク)#007AFF / #0A84FF役割ベース、ベース #6750A4#0F6CBD
フォントMiSansSF Pro(<20pt テキスト、≥20pt Display)Roboto / Roboto FlexSegoe UI Variable
本文ベースサイズ16–17px17pt16sp (body-large)14px (body-1)
角丸言語16dp 統一角丸 + squircle(iOS と同系統だが、ボタンはカプセル型ではない)連続曲率角丸(squircle)、コンテナ 10–20pt12dp カード / 28dp FAB & モーダル / 全角丸ボタン小角丸、コントロール 4px、モーダル 8px、ネストは −2px
階層表現手法色調階層(#FFFFFF / #F7F7F7 / #E8E8E8)、重い影はほぼ使わないマテリアルぼかし(半透明)+ グループリスト + コンテンツがUIを圧迫色調オーバーレイ(tonal overlay)優先、影は補助マテリアル(Mica / Acrylic)+ 控えめな多層影
モーション軽快、弾性バウンドあり、200–300msスプリング物理、200–300ms、linear なし強調曲線 cubic-bezier(0.2,0,0,1)、持続時間トークンで段階分け速く抑制的、150–250ms、easyEase
タッチ/クリックターゲット≥ 48dp≥ 44×44pt≥ 48dpコントロール高さ 32px(コンパクト/コンフォートモード)
一言で表す雰囲気丸み、透明度、ブルーテクノロジー感抑制、余白、コンテンツ優先色彩表現力豊か、階層は色調で生産性、鮮明、デスクトップネイティブ

ワークフロー

Step 1 · スタイルを決める。 ユーザーが指定済み → そのまま使用。未指定 → references/style-router.md を読み、プロダクト形態/プラットフォーム/密度に応じて推奨1つ + 代替1つを提示し、ユーザーに確認する。

Step 2 · トークンを読む。 対応するリファレンスドキュメントを開き、色、フォントサイズ、スペーシング、角丸、影、モーションをすべて読んでから実装に取り掛かる。記憶だけで書かないこと:

  • MIUIX / HyperOS → references/miuix-hyperos.md
  • Apple HIG → references/apple-hig.md
  • Material Design 3 → references/material-design-3.md
  • Fluent 2 → references/fluent-2.md

Step 3 · トークンを適用する。 assets/tokens/<style>.css をセマンティックトークンレイヤーとして直接コピーする(ライト/ダーク両テーマを含む)。コンポーネントスタイルに hex 値を直接書かないこと。 ダークモードは [data-theme="dark"] または prefers-color-scheme で切り替える。

Step 4 · コンポーネントを組み立てる。 references/components-playbook.md の該当スタイルのコンポーネント仕様に従って実装する(ボタンのバリエーション、入力フィールド、カード、ナビゲーション、オーバーレイ、スイッチ、リスト)。各インタラクション状態(hover / focus / pressed / selected / disabled)をすべて実装すること。デフォルト状態のみでは不十分。

Step 5 · モーション追加 + 自己チェック。 references/motion-and-accessibility.md に従ってトランジションを補完した後、python3 scripts/lint_tokens.py <成果物> --style <スタイル> を実行し、さらに以下のセルフチェックリストを項目ごとに確認する。

鉄則

  1. スタイルを混ぜない。 Fluent を選んだら iOS の #007AFF や Material の pill FAB、HyperOS の大きな角丸カードを出現させない。混在は最も一般的な失敗パターン。
  2. トークン優先。 コンポーネントの CSS には var(--xxx) のみを許可し、リテラル値の色/フォントサイズ/角丸値は許可しない。
  3. ライト/ダーク両テーマを同時に作る。 4体系すべてに公式のダーク値があるので、直接テーブルを参照し、filter: invert や手動の暗色調整でごまかさない。
  4. プラットフォームの取り決めは変更不可。 例:iOS の最小クリック領域 44pt、Material のステートレイヤー不透明度、Fluent のコントロールの 1px 下辺ストローク、HyperOS のダーク背景 #242424(完全な黒ではない surface)。
  5. アクセシビリティは必須。 本文コントラスト比 ≥ 4.5:1、UI要素 ≥ 3:1、フォーカスリングは可視であること、prefers-reduced-motion を尊重すること。
  6. 中国語タイポグラフィは個別に処理する。 Roboto / Segoe UI / SF Pro には完全な中国語グリフがないため、中国語インターフェースでは苹方 (PingFang) / 思源黑体 (Noto Sans SC) / MiSans などの中文字体にフォールバックし、letter-spacing を緩めること(ラテン文字間隔は中国語に適用されない)。

納品仕様

  • デフォルトの成果物は単一ファイルで実行可能な HTML(インライン <style> + <script>)。トークンは :root CSS 変数で整理し、ユーザーがすぐにプレビューしてコピーできるようにする。
  • ユーザーがフレームワークを指定した場合にのみ切り替える。マッピングルールは references/framework-mappings.md を参照:Tailwind は assets/mappings/tailwind.css、React/Vue はトークンオブジェクト + CSS 変数、Compose は公式ライブラリ(MIUIX は MiuixTheme、M3 は MaterialTheme)を優先。
  • コンポーネントデモページは assets/templates/showcase.html を参照(同一コンポーネントセットを4スタイルで並列表示、テーマと明暗の切り替え可能)。
  • 成果物出力後は必ず検証を実行:python3 scripts/lint_tokens.py <成果物ファイル> --style <スタイル>。3項目(ハードコードされた色値 / コントラスト比 / コアトークン)がパスしなければ修正し、再提出する。
  • 納品時に説明すること:どの体系を使用したか、意図的な逸脱がある場合はその内容、ダークモードの切り替え方法、フォントフォールバックスタック。

セルフチェックリスト

実装後に項目ごとに確認し、パスしなければ修正する:

  • 色はすべてトークンからの参照で、ハードコードされた hex がない
  • フォントサイズ階層は4段階以内、本文ベースフォントサイズが該当体系に合っている
  • 角丸体系が自己矛盾していない(ネスト角丸 = 外側 − 内側パディング)
  • 影/マテリアル使用法が該当体系に合っている(Material は色調オーバーレイ、Fluent は Mica/Acrylic、iOS はぼかしマテリアル、HyperOS は色調階層)
  • すべてのインタラクション状態が揃っている:hover / focus-visible / active / disabled / selected
  • ライト/ダーク両テーマが検証済み
  • クリックターゲットサイズが基準を満たしている
  • コントラスト比が基準を満たし、フォーカスリングが可視である
  • prefers-reduced-motion 時にモーションが低下する
  • 中国語フォントのフォールバックが正しく、文字間隔が調整されている
  • 他の体系の要素が混入していない

リファレンスファイル

ファイル内容
references/style-router.md4スタイル選定判断ツリー、比較マトリックス、混在禁止領域
references/miuix-hyperos.mdMIUIX トークン全テーブル + HyperOS 視覚的特徴 + コンポーネント仕様
references/apple-hig.mdシステムカラー全テーブル + Dynamic Type 12段階 + マテリアル + コンポーネント仕様
references/material-design-3.md29のカラーロール 明暗全テーブル + 15段階フォントスケール + シェイプ/エレベーション/ステートレイヤー
references/fluent-2.mdニュートラルカラー/ブランドカラースケール + Type Ramp + コントロールサイズ + Mica/Acrylic + シャドウトークン
references/components-playbook.mdボタン/入力/カード/ナビゲーション/オーバーレイ/スイッチ/リストのスタイル別実装仕様
references/motion-and-accessibility.md4体系のモーションカーブと持続時間、アクセシビリティ必須要件、レビューチェックリスト
references/framework-mappings.mdTailwind / React / Vue / Compose / SwiftUI へのトークンマッピングルール
scripts/lint_tokens.py実行可能検証:ハードコード色値、コントラスト比、コアトークンの完全性
assets/mappings/tailwind.cssTailwind v4 @theme トークンマッピング、4体系を同一ページで共存可能

関連スキル