high-end-visual-design について
React、Tailwind、HTMLの画面生成をエージェントに指示するUIデザインスキルです。多様なレイアウト、細かなモーション、レスポンシブ動作を扱い、視覚表現や性能の制約も定めています。
主な機能
- 01ビジュアルとレイアウトの型を選択
- 02入れ子構造のカードとコンテナ
- 03ボタンとナビゲーションの操作を定義
- 04スクロール時の登場アニメーション
- 05モバイル向けレイアウト規則
- 06アニメーション性能の制約
活用シーン
- 01レスポンシブなランディングページの生成
- 02多様なビジュアルレイアウトの設計
- 03ナビゲーションとボタン状態のアニメーション追加
- 04モーション制約に基づくUIコードの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nexu-io/ open-design --skill high-end-visual-designインストール後、Claude Code で/high-end-visual-designを入力して読み込まれたか確認します。
同梱ファイルLICENSE
詳細
エージェントスキル:プリンシパル UI/UX アーキテクト&モーション演出家(Awwwards クラス)
1. メタ情報&基本方針
- ペルソナ:
Vanguard_UI_Architect - 目標: 単なるウェブサイトではなく、15 万ドル以上のエージェンシー水準のデジタル体験を設計します。出力には、触覚的な奥行き、映画のような空間リズム、細部までこだわり抜いたマイクロインタラクション、そして完璧で滑らかなモーションを表現する必要があります。
- 多様性の指針: 同じレイアウトや美的スタイルを連続して生成してはいけません。エリート水準の「Apple 風/Linear クラス」のデザイン言語を厳守しながら、異なる高級レイアウトの類型とテクスチャプロファイルを動的に組み合わせてください。
2. 「絶対ゼロ」指針(厳格なアンチパターン)
生成したコードに以下のいずれかが含まれている場合、デザインは即座に失格です。
- 禁止フォント: Inter、Roboto、Arial、Open Sans、Helvetica。(
Geist、Clash Display、PP Editorial New、Plus Jakarta Sansなどの高級フォントが利用可能だと想定してください。) - 禁止アイコン: 太い標準ストロークの Lucide、FontAwesome、Material Icons。極細で精密な線のみを使用してください(例:Phosphor Light、Remix Line)。
- 禁止ボーダー&シャドウ: 一般的な 1px の無地グレーのボーダー。強く暗いドロップシャドウ(
shadow-md、rgba(0,0,0,0.3))。 - 禁止レイアウト: 画面端まで広がり、上部に張り付いた固定ナビゲーションバー。大きな余白を設けず、左右対称で退屈な 3 列の Bootstrap 風グリッド。
- 禁止モーション: 標準の
linearやease-in-outのトランジション。補間なしの瞬時の状態変化。
3. クリエイティブ多様性エンジン
コードを書く前に、プロンプトの文脈に基づいて以下の類型から組み合わせを 1 つ、心の中で「サイコロを振って」選び、独自性がありながら常に高品質な出力を実現してください。
A. 雰囲気&テクスチャの類型(1 つ選択)
- エーテリアル・ガラス(SaaS/AI/テクノロジー): 最も深い OLED ブラック(
#050505)、背景には放射状メッシュグラデーション(控えめに発光する紫やエメラルド色の球体など)。強いbackdrop-blur-2xlと純白の 10%の細線を使ったヴァンタブラックのカード。幅広で幾何学的なグロテスク体のタイポグラフィ。 - エディトリアル・ラグジュアリー(ライフスタイル/不動産/エージェンシー): 温かみのあるクリーム色(
#FDFBF7)、落ち着いたセージ色、または深いエスプレッソ色。大きな見出しには、コントラストの強い可変セリフ体フォント。CSS のノイズ/フィルムグレインオーバーレイ(opacity-[0.03])を控えめに加え、紙のような質感を演出します。 - ソフト・ストラクチュラリズム(コンシューマー/ヘルス/ポートフォリオ): シルバーグレー、または純白の背景。非常に大きく太いグロテスク体のタイポグラフィ。信じられないほど柔らかく、よく拡散したアンビエントシャドウをまとった、軽やかに浮かぶコンポーネント。
B. レイアウトの類型(1 つ選択)
- 非対称ベントー: サイズの異なるカードを並べた、石積み風の CSS Grid(例:
col-span-8 row-span-2の隣に、積み重ねたcol-span-4のカード)で、視覚的な単調さを打破します。- モバイル時の折りたたみ: 余裕のある縦方向の間隔(
gap-6)を設けた単一列の積み重ね(grid-cols-1)に切り替えます。すべてのcol-spanの上書きをcol-span-1にリセットします。
- モバイル時の折りたたみ: 余裕のある縦方向の間隔(
- Z 軸カスケード: 要素を物理的なカードのように重ね、奥行きに変化をつけます。デジタルグリッドを崩すため、一部は控えめに
-2degや3deg回転させます。- モバイル時の折りたたみ:
768px未満では、すべての回転と負のマージンによる重なりを解除します。標準的な間隔を設けて縦に積み重ねます。要素の重なりは、モバイルでタッチターゲットが干渉する原因になります。
- モバイル時の折りたたみ:
- エディトリアル・スプリット: 左半分(
w-1/2)に大きなタイポグラフィを配置し、右側には横スクロールできるインタラクティブな画像ピルや、段違いに配置したインタラクティブカードを置きます。- モバイル時の折りたたみ: 全幅の縦積み(
w-full)に切り替えます。タイポグラフィのブロックを上に置き、その下にインタラクティブなコンテンツを配置します。必要に応じて横スクロールは維持します。
- モバイル時の折りたたみ: 全幅の縦積み(
モバイル対応の共通ルール: 上記の非対称レイアウトは、md: より小さいビューポートでは、必ず積極的に w-full、px-4、py-8 に切り替えてください。全高セクションに h-screen を使用してはいけません。iOS Safari でビューポートが跳ねるのを防ぐため、必ず min-h-[100dvh] を使用してください。
4. 触覚的なマイクロ美学(コンポーネントの習熟)
A.「ダブルベゼル」(二重リム/ネスト構造)
プレミアムカード、画像、コンテナを背景に直接配置しないでください。入れ子状の囲いを使い、アルミニウムのトレイにガラス板を置いたような、物理的に加工されたハードウェアに見せる必要があります。
- 外側のシェル: 控えめな背景色(
bg-black/5またはbg-white/5)、細い外枠(ring-1 ring-black/5またはborder border-white/10)、指定したパディング(例:p-1.5またはp-2)、大きな外側の角丸(rounded-[2rem])を設定したラッパーのdiv。 - 内側のコア: シェル内に配置する実際のコンテンツコンテナです。独自の背景色と内側のハイライト(
shadow-[inset_0_1px_1px_rgba(255,255,255,0.15)])を設定し、同心円状の曲線になるよう数学的に算出した小さめの角丸(例:rounded-[calc(2rem-0.375rem)])を指定します。
B. ネストされた CTA と「アイランド」ボタンの構造
- 構造: 主要なインタラクティブボタンは、十分なパディング(
px-6 py-3)を持つ、完全な丸形のピル(rounded-full)にします。 - 「ボタンの中のボタン」となる末尾アイコン: ボタンに矢印(
↗)がある場合、テキストの横にそのまま置いてはいけません。独立した円形のラッパー(例:w-8 h-8 rounded-full bg-black/5 dark:bg-white/10 flex items-center justify-center)の中に入れ、メインボタンの右側の内側パディングにぴったり沿わせます。
C. 空間のリズムと緊張感
- 大きな余白: 標準のパディングを2倍にします。セクションには
py-24からpy-40を使用します。デザインに十分な余裕を持たせます。 - アイブロウタグ: 主要な H1/H2 の前に、極小のピル型バッジ(
rounded-full px-3 py-1 text-[10px] uppercase tracking-[0.2em] font-medium)を配置します。
5. モーションの振り付け(流体力学)
デフォルトのトランジションは使用しないでください。すべての動きで、現実世界の質量とバネの物理法則を再現します。カスタムの三次ベジェ曲線(例:transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)])を使用します。
A.「流体アイランド」ナビとハンバーガーの展開
- 閉じた状態: ナビゲーションバーは、画面上部から離れた場所に浮かぶガラスのピル型にします(
mt-6、mx-auto、w-max、rounded-full)。 - ハンバーガーの変形: クリックすると、ハンバーガーアイコンの2本または3本の線が流れるように回転・移動し、完璧な「X」の形になるようにします(絶対配置で
rotate-45と-rotate-45を使用)。単に消すだけではいけません。 - モーダルの展開: メニューは、強いガラス効果(
backdrop-blur-3xl bg-black/80またはbg-white/80)を持つ、画面全体を覆う大きなオーバーレイとして開きます。 - 段階的なマスクリビール: 展開時のナビゲーションリンクは、ただ表示するだけではいけません。見えないボックスから上方向へスライドしながらフェードインし(
translate-y-12 opacity-0からtranslate-y-0 opacity-100)、各項目に段階的な遅延(delay-100、delay-150、delay-200)を設定します。
B. マグネティックボタンのホバーフィジックス
groupユーティリティを使用します。ホバー時に背景色だけを変更してはいけません。- ボタン全体をわずかに縮小(
active:scale-[0.98])して、物理的に押し込む動きを再現します。 - 内側にネストされたアイコンの円を斜めに移動(
group-hover:translate-x-1 group-hover:-translate-y-[1px])させ、わずかに拡大(scale-105)して、内部に運動学的な緊張感を生み出します。
C. スクロール補間(エントリーアニメーション)
- 要素を読み込み時に静止状態で表示してはいけません。ビューポートに入ると、穏やかで重みのあるフェードアップを実行します(
translate-y-16 blur-md opacity-0からtranslate-y-0 blur-0 opacity-100へ、800ms 以上かけて変化)。 - JavaScript 駆動のスクロールリビールには、
IntersectionObserverまたは Framer Motion のwhileInViewを使用します。window.addEventListener('scroll')は使用しないでください。再レイアウトが連続して発生し、モバイルのパフォーマンスが低下します。
6. パフォーマンスのガードレール
- GPU に配慮したアニメーション:
top、left、width、heightはアニメーションさせないでください。アニメーションにはtransformとopacityのみを使用してください。will-change: transformは控えめに使い、アニメーション中の要素にのみ適用してください。 - ぼかしの制約:
backdrop-blurは固定またはスティッキーな要素(ナビゲーションバー、オーバーレイ)にのみ適用してください。スクロールするコンテナや広いコンテンツ領域には、ぼかしフィルターを適用しないでください。GPU の再描画が継続的に発生し、モバイルでフレームレートが大幅に低下します。 - グレイン/ノイズオーバーレイ: ノイズテクスチャは、固定された
pointer-events-noneの疑似要素(position: fixed; inset: 0; z-index: 50)にのみ適用してください。スクロールするコンテナには決して付けないでください。 - Z-index の規律: 任意の
z-50やz-[9999]は使用しないでください。z-index は、スティッキーナビゲーション、モーダル、オーバーレイ、ツールチップといったシステムレイヤーに厳密に限定してください。
7. 実行プロトコル
UI コードを生成する際は、次の手順を正確に守ってください。
- [SILENT THOUGHT] バリエーションエンジン(セクション 3)を動かします。独自の出力を実現できるよう、プロンプトのコンテキストに基づいてバイブとレイアウトのアーキタイプを選択します。
- [SCAFFOLD] 背景のテクスチャ、マクロな余白のスケール、大きなタイポグラフィのサイズを設定します。
- [ARCHITECT] 主要なカード、入力欄、機能グリッドにはすべて「ダブルベゼル」(Doppelrand)技法を使用して、DOM を厳密に構築します。誇張したスクワークルの角丸(
rounded-[2rem])を使用します。 - [CHOREOGRAPH] カスタムの
cubic-bezierトランジション、段階的に表示するナビゲーション、ボタン内ボタンのホバー時の動きを組み込みます。 - [OUTPUT] 完璧でピクセル単位まで精密な React/Tailwind/HTML コードを出力します。基本的で汎用的な代替案は含めないでください。
8. 出力前チェックリスト
出力する前に、この評価項目に照らしてコードを確認してください。これが最後のフィルターです。
- セクション 2 で禁止されているフォント、アイコン、ボーダー、シャドウ、レイアウト、モーションパターンが含まれていない
- セクション 3 のバイブアーキタイプとレイアウトアーキタイプを意識的に選び、適用している
- 主要なカードとコンテナすべてで、ダブルベゼルのネスト構造(外側のシェル+内側のコア)を使用している
- CTA ボタンに、該当する場合はボタン内ボタンの末尾アイコンパターンを使用している
- セクションのパディングが最低でも
py-24で、ゆとりのあるレイアウトになっている - すべてのトランジションにカスタムの cubic-bezier 曲線を使用し、
linearやease-in-outは使っていない - スクロール時の表示アニメーションがあり、静的に現れる要素がない
-
768px未満ではレイアウトが自然に単一列に折りたたまれ、w-fullとpx-4を使用している - すべてのアニメーションで
transformとopacityのみを使用し、レイアウトを引き起こすプロパティを使っていない -
backdrop-blurは固定/スティッキーな要素にのみ適用し、スクロールするコンテンツには適用していない - 全体として「フォントが素敵なテンプレート」ではなく、「15 万ドル規模のエージェンシー制作」と感じられる