ui-component について
ui-componentは、既存のStyleSeedプロジェクトでUIコンポーネントを生成するスキルです。スタイル、プロパティ、アクセシビリティ、ファイル配置に関する規約を開発者向けに示します。
主な機能
- 01StyleSeedのコンポーネント規約
- 02デザイントークンの使用
- 03型付きプロパティとclassNameの上書き
- 04アクセシビリティとキーボードフォーカス
- 05コンポーネントのエクスポートと配置
活用シーン
- 01再利用可能なUIプリミティブの作成
- 02スタイルバリアント付きコンポーネントの追加
- 03キーボード操作に対応するコントロールの構築
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill ui-componentインストール後、Claude Code で/ui-componentを入力して読み込まれたか確認します。
詳細
UIコンポーネントジェネレーター
使用する場面
StyleSeed のデザイン規約に従って新しい UI コンポーネントを生成する場合に、このスキルを使用します。
使用しない場面
- ページ全体のひな形を作成する場合 →
/ss-pageを使用します - 複数のコンポーネントを組み合わせたパターンを作成する場合 →
/ss-patternを使用します - 既存のコンポーネントを調整する場合 — ファイルを直接編集します
- StyleSeed 以外のプロジェクトの場合(
components/ui/ディレクトリまたは Tailwind v4 がない場合)
新しいコンポーネントを生成します:$0 説明:$ARGUMENTS
手順
-
まず、デザインシステムのシードを読み、コンテキストを確認します:
- コンポーネント規約について
CLAUDE.mdを読みます - 利用可能なデザイントークンについて
css/theme.cssを読みます - 参考パターンとして
components/ui/button.tsxを読みます
- コンポーネント規約について
-
以下の規約を厳守します:
constではなく、function宣言を使用しますdata-slot="component-name"属性を追加します- すべての className のマージに
@/components/ui/utilsのcn()を使用します - プロパティの型付けには
React.ComponentProps<>を使用します - 上書き用の
classNameプロパティを必ずサポートします - バリアントがあるコンポーネントには CVA(
class-variance-authority)を使用します - セマンティックなカラー トークン(
bg-card、text-foreground)を使用し、インラインの 16 進数カラーは使用しません
-
デザイントークンの使用方法:
- 色:
text-foreground、bg-card、text-brand、text-muted-foreground、border-border - 影:
shadow-[var(--shadow-card)]、shadow-[var(--shadow-elevated)] - 角丸:
rounded-md、rounded-lg、rounded-2xl - 余白:6px の倍数(
p-1.5、p-3、p-6) - モーション:
duration-[var(--duration-fast)]、ease-[var(--ease-default)]
- 色:
-
タイポグラフィのルール:
- ディスプレイ(36~48px):
leading-none tracking-[-0.02em] - 見出し(18~24px):
leading-snug tracking-[-0.01em] - 本文(14~17px):
leading-normal(デフォルトの文字間隔) - キャプションの大文字表記(10~13px):
tracking-[0.05em] w-* h-*の代わりに、省略形のsize-*を使用しますml-*/mr-*の代わりに、論理プロパティのms-*/me-*を使用します
- ディスプレイ(36~48px):
-
アクセシビリティ要件:
- タッチターゲットの最小サイズ:44x44px(
min-h-11 min-w-11) aria-*属性の受け渡しをサポートします- キーボードフォーカスには
focus-visible:ring-2 focus-visible:ring-ringを使用します - アニメーションでは
prefers-reduced-motionを尊重します
- タッチターゲットの最小サイズ:44x44px(
-
コンポーネントは名前付きエクスポートで公開します(デフォルトエクスポートではありません)
-
適切なディレクトリにファイルを配置します:
- プリミティブ/再利用可能なコンポーネント →
src/components/ui/ - 組み合わせたパターン →
src/components/patterns/
- プリミティブ/再利用可能なコンポーネント →
例
ユーザーのリクエスト:
StyleSeed のデザイン規約に従って新しい UI コンポーネントを生成してください。
制限事項
- タスクが上流のソースおよびローカルプロジェクトのコンテキストに明確に合致する場合に限り、このスキルを使用します。
- 変更を適用する前に、コマンド、生成コード、依存関係、認証情報、外部サービスの動作を確認します。
- 例を、環境固有のテスト、セキュリティレビュー、破壊的または高額な操作に対するユーザーの承認の代わりとして扱わないでください。
実行範囲
このガイドは、既存の StyleSeed プロジェクトを対象としています。記載されているプロジェクトパス、コンポーネント、トークン、/ss-* コマンドは、この単一ファイルのエントリーポイントには含まれていません。編集を行う前に実際のプロジェクトルートを特定し、前提条件を確認してください。リソースが見つからない場合は、作り上げずにその旨を報告してください。ホストがサポートする呼び出し方法と既存のプロジェクト規約を使用します。レイアウトの数値はデザインシステム上の選択であり、普遍的なユーザビリティの保証ではありません。実際のインターフェースで、キーボード操作、レスポンシブ時のはみ出し、モーションの低減をテストしてください。