mcpField
C
craft-ui-skills

craft-ui-skills

github.com/ihlamuryデザイン・UI102238 回インストール37 週間前に更新
リポジトリ

craft-ui-skills について

craft-ui-skillsは、Craft風の画面を構築するAIエージェント向けの設計ルールです。カラー、タイポグラフィ、レイアウト、操作性、パフォーマンスを定め、ライトモードの画面やデザインシステムに適しています。

主な機能

  1. 01Craftのカラーとトークン
  2. 02Interのタイポグラフィ規則
  3. 034pxグリッドと間隔スケール
  4. 04アクセシブルな操作状態
  5. 05アニメーションと性能の制約

活用シーン

  1. 01Craft風のライト画面の実装
  2. 02AIエージェントによるUI実装の指針
  3. 03タイポグラフィと間隔の統一

インストール

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

$npx skills add https://github.com/ihlamury/design-skills --skill craft-ui-skills

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

同梱ファイルmetadata.json

詳細

Craft UI スキル

AI エージェントで Craft スタイルのインターフェイスを構築するための独自の制約です。

適用する場合

以下の場合に、これらのガイドラインを参照してください。

  • ライトモードのインターフェイスを構築する場合
  • Craft に着想を得たデザインシステムを作成する場合
  • Inter フォントと 4px グリッドを使用した UI を実装する場合

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景(surface-base)には#F3EFECを使用する必要があります
  • 主要なアクションとフォーカス状態(accent)には#D0E8F4を使用する必要があります
  • カラーパレットを絞ることを推奨します(現在、35 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#F3EFECrgb(243,239,236)ページの背景
surface-raised#E3F2E6rgb(227,242,230)カード、モーダル、浮き上がったサーフェス
surface-overlay#FEFCCDrgb(254,252,205)オーバーレイ、ツールチップ、ドロップダウン
text-primary#586588rgb(88,101,136)見出し、本文テキスト
text-secondary#C1D1C6rgb(193,209,198)補助テキスト、控えめなテキスト
text-tertiary#7E8E83rgb(126,142,131)追加のテキスト
border-default#E3E3E1rgb(227,227,225)控えめな境界線、区切り線
warning#050402rgb(5,4,2)警告状態、注意
destructive#EAA277rgb(234,162,119)エラー状態、削除アクション
success#E3F2E6rgb(227,242,230)成功状態、確認
accent#D0E8F4rgb(208,232,244)主要なアクション、リンク、フォーカス

タイポグラフィ

  • プライマリフォントファミリーとしてInterを使用する必要があります
  • 一貫性を保つため、単一のフォントファミリーを使用することを推奨します
  • 主要な見出しには75px / 700を使用する必要があります
  • 本文テキストには12px / 400を使用する必要があります
  • フォントウェイトを減らすことを推奨します(現在、4 種類が検出されています)
  • 見出しにはtext-balance、本文テキストにはtext-prettyを使用する必要があります
  • 数値データにはtabular-numsを使用することを推奨します
  • 明示的に要求されない限り、文字間隔を変更しないでください
テキストスタイル
スタイルフォントサイズウェイト色件数
heading-1Inter75px700#1C282E1
text-20pxInter20px700#171B1D1
text-17pxInter17px300#C2ADC11
text-16pxInter16px500#313E451
text-15pxInter15px400#4759641
text-14pxInter14px500#5B5C5E1
text-14pxInter14px400#B4B5B31
text-14pxInter14px400#3F525D1
text-14pxInter14px400#4456611
text-14pxInter14px400#3B4E571
タイポグラフィの参考情報

フォントファミリー:

  • Inter(51 回使用)

フォントサイズ: 6px、7px、8px、9px、10px、11px、12px、13px、14px、15px、16px、17px、20px、75px

余白

  • 余白には 4px グリッドを使用する必要があります
  • 次のスケールの余白を使用することを推奨します:1px、2px、3px、4px、5px、6px、7px、8px
  • 要素間のデフォルトの間隔には 4px を使用することを推奨します
  • 任意の余白値は使用しないでください(デザインスケールを使用してください)
  • コンテナ内のパディングを一貫させることを推奨します

境界線

  • 次のスケールから境界線の角丸を使用する必要があります:3px、9px、10px、13px、15px、16px、18px、19px、21px、22px
  • ピル型の要素には 21px 以上の角丸を使用することを推奨します
  • 境界線の幅は次の値に制限することを推奨します:1px、2px、4px、6px、7px
  • デフォルトの境界線の角丸には 18px を使用することを推奨します
  • 任意の境界線の角丸は使用しないでください(デザインスケールを使用してください)
  • 要素の区切りには控えめな境界線(1px)を使用することを推奨します
境界線の角丸の参考情報

スケール: 3px、9px、10px、13px、15px、16px、18px、19px、21px、22px

レイアウト

  • 基準ビューポート幅を 1920px としてデザインする必要があります
  • 次の一貫した要素幅を使用することを推奨します:12px、39px、13px、178px、10px
  • 明確な階層を持つ、テキスト主体のレイアウトを維持することを推奨します
  • h-screenは使用せず、ビューポート全体の高さにはh-dvhを使用してください
  • 固定要素ではsafe-area-insetを考慮する必要があります
  • 正方形の要素には、w-* + h-*の代わりにsize-*を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:1024px
  • メインコンテンツ:幅:1920px、高さ:998px
  • メインコンテンツ:幅:1920px、高さ:674px

コンポーネント

ボタン
バリアント背景テキスト枠線高さ角丸
ゴーストtransparent#313E45none--

インタラクティブな状態

フォーカス
  • アクセントカラー(#D0E8F4)の2pxのアウトラインを必ず使用してください
  • 2pxのアウトラインオフセットを必ず使用してください
  • フォーカスインジケーターは決して削除しないでください
ホバー
  • ボタン(プライマリ):背景を10%明るくしてください
  • ボタン(セカンダリ):背景に#E3F2E6を使用してください
  • リスト項目:背景に#E3F2E6を使用してください
無効状態
  • opacity: 0.5を必ず使用してください
  • cursor: not-allowedを必ず使用してください

インタラクション

  • 破壊的または取り消し不能な操作には、必ずAlertDialogを使用してください
  • 読み込み状態には、構造を保ったスケルトンを使用することを推奨します
  • エラーは、操作が行われる箇所の近くに必ず表示してください
  • inputまたはtextarea要素での貼り付けを決してブロックしないでください
  • アイコンのみのボタンには、必ずaria-labelを追加してください

アニメーション

  • 明示的に要求されていない限り、アニメーションを追加しないでください
  • コンポジターのプロパティ(transform、opacity)のみをアニメーションさせてください
  • レイアウトプロパティ(width、height、top、left、margin、padding)は決してアニメーションさせないでください
  • 入場アニメーションではease-outを使用することを推奨します
  • インタラクションのフィードバックは決して200msを超えないようにしてください
  • prefers-reduced-motionを尊重することを推奨します

パフォーマンス

  • 大きなblur()またはbackdrop-filterの面をアニメーションさせないでください
  • アニメーションが実行中でないときにwill-changeを適用しないでください
  • レンダーロジックで表現できる処理にuseEffectを決して使用しないでください

コメント