AgentSkillsCN

ui-skills

UI 技能——针对 Tailwind CSS、动画效果及 React 的专精型 UI 构建约束

SKILL.md
--- frontmatter
name: ui-skills
description: UI Skills - Tailwind CSS/motion/react特化のエージェント向けUI構築制約
requires-guidelines:
  - nextjs-react
  - tailwind
  - shadcn

UI Skills: エージェント向けUI構築制約

使用タイミング

  • Tailwind CSS/React実装時
  • アニメーション実装レビュー時
  • アクセシブルコンポーネント構築時

公式: https://github.com/ibelick/ui-skills


テクノロジースタック

要素要件詳細
スタイリングMUSTTailwind CSS defaults
アニメーションMUSTmotion/react
クラス管理MUSTcnclsx + tailwind-merge

ルール早見表

Components

区分ルール
🔴 MUSTアクセシブルコンポーネントプリミティブ使用(Base UI, React Aria, Radix)
🔴 MUSTアイコンのみボタンにaria-label
🔴 NEVER同一インタラクション内で複数プリミティブシステム混在
🔴 NEVERキーボード・フォーカス動作の手動実装

Interaction

区分ルール
🔴 MUST破壊的アクション → AlertDialog必須
🔴 MUSTエラーはアクション発生場所の隣に表示
🔴 MUST固定要素にsafe-area-inset尊重
🔴 NEVERh-screen使用(h-dvhに置換)
🔴 NEVERinput/textareaのペースト禁止
🟡 SHOULDローディングは構造的スケルトン表示

Animation

区分ルール
🔴 MUST明示的リクエストなしのアニメーション追加禁止
🔴 MUSTtransform, opacityのみアニメート
🔴 NEVERレイアウト属性の動画化(width, height, margin等)
🔴 NEVERインタラクションフィードバック200ms超
🟡 SHOULDprefers-reduced-motion尊重

Typography

区分ルール
🔴 MUST見出し → text-balance
🔴 MUST本文・段落 → text-pretty
🔴 MUSTデータ表示 → tabular-nums
🔴 NEVER明示要求なしのletter-spacing変更

Layout

区分ルール
🔴 MUST固定z-indexスケール(任意z-[999]禁止)
🟡 SHOULD正方形要素はsize-*w-* h-*より優先)

Performance

区分ルール
🔴 NEVER大規模blur()/backdrop-filterの動画化
🔴 NEVERアクティブアニメーション外でのwill-change
🔴 NEVERレンダーロジックで可能な処理にuseEffect

Design

区分ルール
🔴 MUST空状態に明確な次アクションを用意
🔴 NEVER明示要求なしのグラデーション
🔴 NEVER紫色/マルチカラーグラデーション
🟡 SHOULD既存テーマ/Tailwind標準色を優先

主要パターン

tsx
// アイコンボタン
<button aria-label="Close menu"><X className="size-4" /></button>

// h-dvh使用
<div className="h-dvh">...</div>

// 破壊的アクション
<AlertDialog>
  <AlertDialogTrigger asChild><Button variant="destructive">Delete</Button></AlertDialogTrigger>
  <AlertDialogContent>...</AlertDialogContent>
</AlertDialog>

// アニメーション(transform/opacityのみ)
<motion.div initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.2 }} />

チェックリスト

  • アクセシブルコンポーネントプリミティブ使用
  • アイコンボタンにaria-label
  • 破壊的アクションにAlertDialog
  • h-screenh-dvh
  • アニメーションはtransform/opacityのみ
  • 不要なuseEffectなし
  • Tailwind標準色優先

出力形式

markdown
## UI Skillsレビュー結果

### 🔴 Critical Violations
**`Button.tsx:15`** - アクセシブルコンポーネント未使用 → Radix UI Buttonに置換

### 🟡 Warnings
**`Card.tsx:8`** - カスタムカラー使用 → `bg-primary`推奨

### ✅ Summary
Critical: 1件 / Warning: 1件

参考リンク