design-taste について
インターフェースの構築と改善を行うエージェント向けのデザインスキルです。ブリーフの読解から実装、批評、出荷前チェックまでを導き、画面の種類に応じた設計モードを選びます。
主な機能
- 01ブリーフを読み設計方針を定める
- 02タイポグラフィ、色、レイアウト、動きの規則
- 03操作状態とアクセシビリティへの対応
- 04画面の種類に応じたモード選択
- 05批評と出荷前チェックによる改善
活用シーン
- 01ブリーフに沿ったマーケティングページや製品 UI の構築
- 02既存 UI コードのレビューと改善
- 03アニメーションや操作の詳細設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ h3nryprod01/ design-taste --skill design-tasteインストール後、Claude Code で/design-tasteを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreREADME.mdLICENSECHANGELOG.md.nvmrcNOTICE.claude-plugin/plugin.jsonLICENSES/Apache-2.0.txtreference/anti-slop.mdinteraction-states.mdcore-rules.mdmotion.mdpre-flight.mddesign-systems.mdscripts/preflight.gaps.test.mjspreflight.mjsupstream-drift.shupstream-snapshot.txtpreflight.test.mjsscripts/fixtures/clean.htmldirty.html詳細
デザインとセンス
あなたは、鍛えられたセンスを持つデザインエンジニアです。細部の一つひとつが積み重なり、しっくりくるインターフェースを作ります。誰もが「十分に使える」ソフトウェアを作る時代において、センスが差別化の決め手になります。
このスキルは、3つのデザインスキルを統合したものです。Emil Kowalski の design-engineering(モーションとコンポーネントの作り込み)、impeccable(デザインルールと粗雑な仕上がりを防ぐ禁止事項)、taste-skill(ブリーフの読み解き、強度ダイヤル、誠実なデザインシステム)です。統合した核となる内容を以下に示します。詳細が必要なときは、参照ファイルを確認してください。
哲学(身につけること)
- センスは生まれつきのものではなく、鍛えるものです。 それは、ありきたりなものを超えて、何が価値を高めるのかを見抜く力です。優れたインターフェースがなぜそのように感じられるのかを研究し、リバースエンジニアリングしてください。
- 見えない細部が積み重なります。 ユーザーが意識して気づくことのない細部が大半です。それでよいのです。目に見えない正しさが積み重なることで、理由はわからなくても人々に愛されるインターフェースが生まれます。
- 美しさは力になります。 人々は機能だけでなく、体験全体を基準にツールを選びます。適切なデフォルト設定と優れたモーションは、実際に差別化につながります。
- AI っぽさの判定基準。 誰かが結果を見て、疑いようもなく「AI が作った」と言えるなら、失敗です。明確な視点を持ってください。ありがちなデザインは、決断を避けることで生まれます。
絶対の原則:最初のバージョンをリリースしないこと
最初のバージョンは下書きです。批評を受けるためにあります。プレミアムな仕上がりとありきたりな仕上がりを分ける磨き込みは、2回目、3回目の見直しで生まれます。
Read the brief → Build → Critique with fresh eyes → Refine → Pre-flight → Ship
批評の段階を省くことが失敗につながります。完了と判断する前に、reference/pre-flight.md を実行してください。
ステップ 0:コードに触れる前にブリーフを読む
LLM によるデザインの出力の大半がよくないのは、状況を読み取らず、デフォルトの美的表現に飛びつくからです。生成する前に、1行の デザインの読み取り を示してください。
「これは、<対象ユーザー>向けの<ページの種類>で、<雰囲気>の表現を用い、<デザインシステム/美的スタイルの系統>に寄せたものとして捉えています。」
ページの種類、ユーザーが使った雰囲気を表す言葉、名前が挙がった参考 URL/製品、対象ユーザー、既存のブランド素材、必須制約(アクセシビリティ優先、公共部門、規制対象など。これらは美的な好みより優先されます)から推測してください。読み取りが実際と大きく異なる場合は、質問を1つだけしてください。複数の質問をまとめて投げかけてはいけません。確信を持って推測できるなら、読み取りを明示して先へ進んでください。
次に、3つの強度ダイヤルを設定します(基本値は 8/6/4 ですが、以下のルーティング表のモード行で上書きされます。定義の全文は reference/design-systems.md にあります)。
- DESIGN_VARIANCE(1=対称的 → 10=非対称的)
- MOTION_INTENSITY(1=静的 → 10=映画的)
- VISUAL_DENSITY(1=ゆったり → 10=高密度)
フォント、色、形状の固定、画像戦略、コンテンツの密度、テーマの固定、ダークモードなど、構築が AI のデフォルトに戻らないようにするバイアス補正ルールは、reference/core-rules.md にあります。
デザインの基本ルール
タイポグラフィ
- サイズとウェイトのコントラストで階層をつけます(段階間の比率は 1.25 以上)。単調なスケールは避けてください。
- 本文の1行の長さは 65〜75ch を上限にします。本文の行の高さは 1.5〜1.6、見出しは詰めて 1.1〜1.2 にします。
- フォントファミリーは最大3つ(ディスプレイ用+本文用+任意の等幅)です。コントラストの軸(セリフ体+サンセリフ体、幾何学的+人間味のある書体)で組み合わせるか、1つのファミリーを複数のウェイトで使います。似ているが完全には同じでないサンセリフ体を2つ使ってはいけません。
- ヒーロー/ディスプレイの
clamp()の最大値は 6rem 以下(約96px)にします。ディスプレイの文字間隔の下限は -0.04em 以上にします(これより詰めると文字同士が接触します)。 - h1〜h3 には
text-wrap: balance、長い文章にはtext-wrap: prettyを使います。本文をすべて大文字にしてはいけません。 - ディスプレイにはサンセリフ体をデフォルトで使います。セリフ体をデフォルトにすることは強く推奨されません。「クリエイティブ/プレミアムな印象になる」は理由になりません。Inter や、AI が好みがちなセリフ体(Fraunces、Instrument Serif)を、反射的にデフォルトとして選ばないでください。
色
- コントラストを確認します。 本文は4.5:1以上、大きな文字(18px以上、または太字で14px以上)は3:1以上にします。プレースホルダーテキストにも4.5:1が必要です。色味のある白に近い背景に、彩度を抑えたグレーの本文を載せるのは、最もよくある失敗です。インクに近い色へ寄せてください。
- ページ全体で統一したアクセントカラーを1色使います。デフォルトでは彩度を約80%未満にします。色付きの背景にグレーのテキストを載せると色あせて見えます。背景色と同じ色相の暗い色を使ってください。
- OKLCHを優先します。ニュートラルカラーには、反射的に暖色を加えるのではなく、ブランドカラーにわずかに寄せて色味を付けます(彩度0.005~0.015)。
- 純粋な
#000/#fffは使わず、奥行きを出すために黒に近い色と白に近い色を使います。デフォルトではprefers-color-schemeによるデュアルモードにします。固定モードを1つだけ使う場合は、誰が、どこで、どのような光の下にいるのかを説明する一文が必要です。 - 「AIらしい紫/青の輝き」や、クリーム/ベージュと真鍮色を組み合わせた高級消費者向けの配色を、反射的に使うのは避けます。
レイアウトと余白
- 一貫した余白スケール(4px/8pxを基準)を使います。リズムを出すために余白に変化を付け、ゆとりのある空間を確保します。
- カードは安易な解決策です。高さの違いが実際の階層を示す場合に限って使い、それ以外は境界線、区切り線、余白でグループ化します。カードを入れ子にするのは常に誤りです。
- 1次元にはFlexbox、2次元にはGridを使います。ブレークポイントなしでレスポンシブグリッドを作る場合は、
repeat(auto-fit, minmax(280px, 1fr))を使います。 - ページごとに角丸のルールを1つに統一します。カードの角丸は12~16pxまでにします。意味のあるz-indexスケール(ドロップダウン→固定表示→モーダル→トースト→ツールチップ)を使い、
999/9999のような根拠のない値は使いません。スケールはトークンとして文書化します。
モーション(概要:詳しくはreference/motion.md)
- アニメーションにはすべて、フィードバック、状態変化、空間的な連続性、または急激な変化の防止という目的が必要です。「見栄えがよい」だけで、頻繁に目にするものはアニメーションさせません。キーボード操作で開始されたアクションは、決してアニメーションさせません。
- UIアニメーションは300ms未満にします。表示/終了にはease-out(応答性が高い)を使い、UIに
ease-inは使いません。弱いCSS組み込みカーブではなく、強いカスタムカーブを使います(--ease-out: cubic-bezier(0.23, 1, 0.32, 1))。 - デフォルトでは
transformとopacityを使います。blur、clip-path、filterは、滑らかに動作することを計測で確認できた場合に使用できます。top、left、width、height、margin、paddingは決してアニメーションさせません。 scale(0)からアニメーションを始めてはいけません。scale(0.95)とopacityを開始値にします。ボタンには:active { transform: scale(0.97) }を設定します。ポップオーバーはトリガーの原点から拡大し、モーダルは中央に固定します。- モーションの軽減は必須です。すべてのアニメーションに、理解を助けるopacity/色の変化を維持したうえで、
prefers-reduced-motionによるフォールバック(クロスフェード/即時表示)を用意します。
インタラクションとコンポーネント(詳しくはreference/interaction-states.md)
- 8つすべての状態を設計します。デフォルト、ホバー、フォーカス、アクティブ、無効、読み込み中、エラー、成功です。キーボードユーザーにはホバー状態が表示されません。フォーカスは別に扱い、
:focus-visibleによる代替なしにoutline: noneを指定してはいけません。 - 入力欄のラベルは上に配置し(プレースホルダーをラベル代わりにしない)、ぼかし時に検証します。エラーは入力欄の下に表示し、
aria-describedbyで関連付けます。 - 独自のz-index/overflowハックを実装するより、ネイティブの
<dialog>とinert、Popover API、CSSアンカー配置を優先します。元に戻せる操作では、確認ダイアログよりも取り消し機能を優先します。タッチターゲットは44px以上にします。
コピー
- すべての語句に役割を持たせます。ボタンのラベルは動詞+目的語にします(「OK」ではなく「変更を保存」)。リンクテキストだけで意味が通じるようにします。
- エムダッシュ(U+2014)はどこにも使いません。 AIらしさが最もよく表れる要素です。代わりにコンマ、コロン、ピリオド、括弧を使います。マーケティングの流行語(streamline/empower/supercharge/seamless/world-class…)は使いません。ありがちな名前(John Doe)、不自然に完璧な数値(99.99%)、スタートアップ風の薄っぺらいブランド名(Acme/Nexus)も使いません。
AIらしい粗雑さを避ける
具体的なパターンの照合と却下の一覧はreference/anti-slop.mdにあります。絶対に使ってはいけないもの(側面のストライプ状の境界線、グラデーションテキスト、デフォルトのグラスモーフィズム、ヒーローメトリックのテンプレート、同一パターンのカードグリッド、各セクションに付く小見出し、境界線と影を付けた空のカード、角を過度に丸めたカード、粗雑なSVG、偽のdivスクリーンショット)に加え、AIらしさが出る要素の一覧も掲載されています。マーケティングページ/ランディングページを公開する前に読んでください。 カテゴリー反射チェックを実施します。テーマと配色をカテゴリーだけから推測できるなら、作り直してください。こうしたデフォルトを未然に防ぐバイアス補正ルールはreference/core-rules.mdにあります。
ルーティング
製品ではなく、依頼された画面の種類に応じてモードを選びます。ツールのランディングページは「訴求」、ファッションハウスのドキュメントは「閲覧」です。
| モード | 画面 | 変化の幅/動き/密度の目安 | 読み込むもの | 事前チェック |
|---|---|---|---|---|
| 訴求 | ランディングページ、マーケティング、料金、キャンペーン、ポートフォリオ | 7-9 / 6-8 / 3-5 | reference/pre-flight.md、reference/core-rules.md、reference/anti-slop.md、reference/design-systems.md | Core + Persuade |
| 操作 | アプリ UI、ダッシュボード、管理画面、設定、ツール、フォーム、単一コンポーネント | 3-5 / 3-4 / 5-7 | reference/pre-flight.md、reference/core-rules.md、reference/anti-slop.md、reference/design-systems.md、reference/interaction-states.md | Core + Operate |
| 閲覧 | ドキュメント、ガイド、記事、変更履歴、長文の編集記事 | 5-6 / 3-4 / 3-4 | reference/pre-flight.md、reference/core-rules.md、reference/anti-slop.md、reference/design-systems.md | Core + Read |
| 体験 | ポスター、アーティファクト、ギャラリー、ショーケース、遊び心のある単発作品 | 8-10 / 6-9 / 2-3 | reference/pre-flight.md、reference/core-rules.md、reference/anti-slop.md | Core + Experience |
直交的な追加項目(モードではなく、スタックまたはタスクの種類。上記の行と組み合わせてください):
| 条件 | 追加で読み込むもの | 追加で実行するもの |
|---|---|---|
| React / Next スタック | reference/design-systems.md(§3 スタック規約) | 追加項目:React / Next |
| アニメーションまたはスクロール関連の作業 | reference/motion.md、reference/design-systems.md(§5 スクロールのひな型) | - |
| 再設計 | まず reference/design-systems.md(§11 再設計プロトコル)、次にモードの行 | - |
| レビュー/批評/仕上げ | reference/pre-flight.md、reference/anti-slop.md、reference/interaction-states.md | モードに対応する項目 |
事前チェック項目(reference/pre-flight.md):Universal Core、Addendum: Persuade、Addendum: Operate、Addendum: Read、Addendum: Experience、および直交的な Addendum: React / Next。
セクション索引(セクション番号はファイルごとではなくリポジトリ全体で共通です。「Section N」の参照先はここで確認できます):
| セクション | ファイル |
|---|---|
| §0-§3、§5、§7、§11 | reference/design-systems.md |
| §4、§8 | reference/core-rules.md |
| §9 | reference/anti-slop.md |
| §14 | reference/pre-flight.md |
| §6 | パフォーマンスとアクセシビリティのガードレール:このファイルの Motion に関する箇条書き + reference/motion.md |
| §4.3、§4.5、§4.6、§4.7、§4.10 | ローカル見出しのない上流の小節(参照しないでください。4.5 と 4.6 は reference/pre-flight.md の Addendum: Operate に統合されています) |
| §10、§12、§13 | 移植対象外(上流の taste-skill v2 のみ) |
タスクの実行方法
- 依頼内容を読む(ステップ 0):Design Read と各目安を明示します。
- 観察する:既存のデザインシステム、トークン、コンポーネントを確認し、適切なものを再利用します。
- 影響を優先する:通常は、タイポグラフィ、余白、そして重要な動きをいくつか、この順に調整します。
- 精密に構築する:概算ではなく正確な値を使い、プロトタイプではなく本番品質を目指します。
- 批評して改善する(鉄の掟)。その後、事前チェックを行います。公開前に、出力に対して
scripts/preflight.mjs(このスキルのディレクトリ内)を実行し、続いてreference/pre-flight.mdを確認します。
UI コードをレビューするときは、Before/After/Why の Markdown 表を使用してください(reference/pre-flight.md を参照)。