launchdarkly-ui-skills について
AIエージェントがLaunchdarkly風のインターフェースを構築するための設計ガイドラインです。ダークモードやデザインシステム向けに、色、タイポグラフィ、レイアウト、操作の制約を示します。
主な機能
- 01Launchdarkly風のデザイン制約
- 02ダークサーフェスと色トークンの指針
- 03Interのタイポグラフィ規則
- 044px間隔グリッド
- 05操作状態とアクセシビリティ要件
活用シーン
- 01Launchdarkly風インターフェースの構築
- 02AIエージェントへのUI実装指針の提供
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ihlamury/ design-skills --skill launchdarkly-ui-skillsインストール後、Claude Code で/launchdarkly-ui-skillsを入力して読み込まれたか確認します。
同梱ファイルmetadata.json
詳細
Launchdarkly UI スキル
AI エージェントで Launchdarkly 風のインターフェースを構築するための、独自の制約です。
適用する場面
次の場合に、これらのガイドラインを参照してください。
- ダークモードのインターフェースを構築する場合
- Launchdarkly を参考にしたデザインシステムを作成する場合
- Inter フォントと 4px グリッドを使った UI を実装する場合
色
- MUST プライマリーサーフェスには暗い背景(明度 < 20)を使用する — 検出された明度:0
- MUST ページの背景(
surface-base)に#000000を使用する - MUST プライマリーアクションとフォーカス状態(
accent)に#AAB7F5を使用する - SHOULD カラーパレットを縮小する(現在 13 色を検出)
- MUST アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に保つ
セマンティックトークン
| トークン | HEX | RGB | 用途 |
|---|---|---|---|
surface-base | #000000 | rgb(0,0,0) | ページの背景 |
surface-raised | #131313 | rgb(19,19,19) | カード、モーダル、浮き上がったサーフェス |
text-primary | #DFDFDF | rgb(223,223,223) | 見出し、本文 |
text-secondary | #3D69B0 | rgb(61,105,176) | セカンダリー、控えめなテキスト |
text-tertiary | #C1C1CD | rgb(193,193,205) | 補足テキスト |
accent | #AAB7F5 | rgb(170,183,245) | プライマリーアクション、リンク、フォーカス |
タイポグラフィ
- MUST プライマリーフォントファミリーに
Interを使用する - SHOULD 一貫性を保つため、単一のフォントファミリーを使用する
- MUST プライマリー見出しに
138px/700を使用する - MUST 本文に
32px/700を使用する - SHOULD フォントウェイトを減らす(現在 6 種類を検出)
- MUST 見出しに
text-balance、本文にtext-prettyを使用する - SHOULD 数値データに
tabular-numsを使用する - NEVER 明示的に要求されていない限り、文字間隔を変更しない
テキストスタイル
| スタイル | フォント | サイズ | ウェイト | 色 | 件数 |
|---|---|---|---|---|---|
heading-1 | Inter | 138px | 700 | #F7F7F7 | 1 |
heading-2 | Inter | 138px | 700 | #D5D7F0 | 1 |
body | Inter | 32px | 700 | #DFDFDF | 1 |
text-29px | Inter | 29px | semi_bold | #E0E0E0 | 1 |
text-25px | Inter | 25px | 700 | #DFDFDF | 1 |
text-23px | Inter | 23px | semi_bold | #D1D1D1 | 1 |
text-21px | Inter | 21px | 500 | #C2C2C2 | 1 |
text-21px | Inter | 21px | 400 | #5557A0 | 1 |
text-20px | Inter | 20px | 400 | #3D69B0 | 1 |
text-20px | Inter | 20px | 400 | #C1C1CD | 1 |
タイポグラフィの参考情報
フォントファミリー:
Inter(31 回使用)
フォントサイズ: 9px、10px、11px、12px、13px、14px、15px、16px、18px、19px、20px、21px、23px、25px、29px、32px、138px
間隔
- MUST 間隔には 4px グリッドを使用する
- SHOULD 次のスケールの間隔を使用する:4px、5px、7px、9px、12px、21px、28px、69px
- SHOULD 要素間のデフォルトの間隔に 4px を使用する
- NEVER 任意の間隔値を使用しない(デザインスケールを使用する)
- SHOULD コンテナー内のパディングを一貫させる
罫線
- NEVER 任意の角丸値を使用しない(デザインスケールを使用する)
- SHOULD 要素の区切りには控えめな罫線(1px)を使用する
レイアウト
- MUST 基準ビューポート幅 1920px 向けにデザインする
- SHOULD 要素の幅を一貫させる:10px、14px、25px、29px
- SHOULD 明確な階層を持つ、テキスト主体のレイアウトを維持する
- NEVER
h-screenを使用しない。ビューポート全体の高さにはh-dvhを使用する - MUST 固定要素では
safe-area-insetを考慮する - SHOULD 正方形の要素には
w-*+h-*の代わりにsize-*を使用する
検出されたレイアウトパターン
- メインコンテンツ:幅:1920px、高さ:949px
- メインコンテンツ:幅:1920px、高さ:1031px
- ヘッダー:高さ:47px
- ヘッダー:高さ:48px
コンポーネント
ボタン
| バリエーション | 背景 | テキスト | 罫線 | 高さ | 角丸 |
|---|---|---|---|---|---|
| ゴースト | transparent | #3D69B0 | なし | - | - |
インタラクティブ状態
フォーカス
- MUST アクセントカラー(
#AAB7F5)の2pxアウトラインを使用する - MUST
2pxの outline-offset を使用する - NEVER フォーカスインジケーターを削除しない
ホバー
- ボタン(プライマリー):背景を 10% 明るくする
- ボタン(セカンダリー):背景に
#131313を使用する - リスト項目:背景に
#131313を使用する
無効状態
- MUST
opacity: 0.5を使用する - MUST
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を決して使用しません
コメント
Markdown 対応