jpskill.com
💬 コミュニケーション コミュニティ

frontend-design-system

Tailwind CSSやMaterial UIなどのデザインシステムを活用し、レスポンシブなレイアウトやフォーム、ダークモード、コンポーネントライブラリなどを実装して、モダンなWebアプリケーションのUI/UXを構築するSkill。

📜 元の英語説明(参考)

Comprehensive UI/UX design skill for building modern, responsive web applications with Tailwind CSS, shadcn/ui, Material UI, Chakra UI, Ant Design, and Mantine. Use when users need to - (1) Choose a design system for their project, (2) Build responsive layouts and components, (3) Implement forms with validation, (4) Create accessible user interfaces, (5) Design task management UIs (todo apps, dashboards), (6) Apply responsive design patterns, (7) Implement dark mode, or (8) Build component libraries. Triggers include requests like 'design a todo app', 'create responsive layout', 'which UI library should I use', 'implement dark mode', 'build a form with validation', or 'make this mobile-friendly'.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Tailwind CSSやMaterial UIなどのデザインシステムを活用し、レスポンシブなレイアウトやフォーム、ダークモード、コンポーネントライブラリなどを実装して、モダンなWebアプリケーションのUI/UXを構築するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o frontend-design-system.zip https://jpskill.com/download/23593.zip && unzip -o frontend-design-system.zip && rm frontend-design-system.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/23593.zip -OutFile "$d\frontend-design-system.zip"; Expand-Archive "$d\frontend-design-system.zip" -DestinationPath $d -Force; ri "$d\frontend-design-system.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して frontend-design-system.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → frontend-design-system フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
9

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

フロントエンドデザインシステム

業界をリードするデザインシステムとベストプラクティスを用いて、モダンでアクセスしやすく、レスポンシブなウェブアプリケーションを構築します。

主要な機能

1. デザインシステムの選定

ユーザーが「どのUIライブラリを使うべきか」と尋ねたり、デザインシステムのガイダンスを必要とする場合:

比較ガイドを読む:

references/design-system-comparison.md

決定ワークフロー:

  1. プロジェクト要件(バンドルサイズ、カスタマイズ性、速度)を特定します。
  2. 比較表を確認し、最適なものを見つけます。
  3. インストールコマンドを提供します。
  4. ユースケースに合わせたコンポーネントセットを推奨します。

簡単な推奨事項:

  • Todoアプリ / モダンSaaS: shadcn/ui + Tailwind
  • クイックプロトタイプ: Chakra UI または Mantine
  • エンタープライズダッシュボード: Material UI または Ant Design
  • カスタムデザイン: Headless UI + Tailwind
  • TypeScript重視: Mantine

2. レスポンシブレイアウトデザイン

ユーザーがモバイルフレンドリーなレイアウトやレスポンシブなコンポーネントを必要とする場合:

パターンガイドを読む:

references/responsive-design-patterns.md

コア原則:

  • 常にモバイルファーストのアプローチを使用します。
  • 標準的なブレイクポイントに従います: sm (640px), md (768px), lg (1024px), xl (1280px)
  • カードレイアウトにはグリッドを使用します: grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3
  • ナビゲーションにはフレックスボックスを使用します: flex flex-col md:flex-row
  • タイポグラフィをスケールします: text-sm md:text-base lg:text-lg

3. Tailwind CSS パターン

Tailwind CSS で構築する場合:

Tailwindパターンを読む:

references/tailwind-patterns.md

適用する一般的なパターン:

  • カード: rounded-lg border bg-card text-card-foreground shadow-sm p-6
  • ボタン: inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90
  • 入力: flex h-10 w-full rounded-md border border-input bg-background px-3 py-2
  • ダークモード: bg-white dark:bg-slate-950 text-slate-900 dark:text-slate-50

4. shadcn/ui コンポーネント

shadcn/ui を使用する場合(ほとんどのプロジェクトで推奨):

コンポーネントリファレンスを読む:

references/shadcn-components.md

Todoアプリに不可欠なコンポーネント:

npx shadcn-ui@latest add button card input form dialog badge tabs checkbox

提供されているテンプレートを使用する:

  • タスクカード: assets/todo-card-template.tsx
  • タスクフォーム: assets/task-form-template.tsx

パターン: コンポーネントの構成

import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
import { Button } from "@/components/ui/button"

<Card>
  <CardHeader>
    <CardTitle>Title</CardTitle>
  </CardHeader>
  <CardContent>
    <p>Content</p>
    <Button>Action</Button>
  </CardContent>
</Card>

5. Material UI の実装

ユーザーが Material UI を選択する場合:

MUIパターンを読む:

references/material-ui-patterns.md

最初にテーマを設定する:

import { ThemeProvider, createTheme } from '@mui/material/styles'

const theme = createTheme({
  palette: {
    primary: { main: '#1976d2' },
  },
})

<ThemeProvider theme={theme}>
  <App />
</ThemeProvider>

スタイリングには sx prop を使用する:

<Box sx={{ p: 2, mt: 4, borderRadius: 2 }}>

6. Chakra UI の実装

ユーザーが Chakra UI を選択する場合:

Chakraパターンを読む:

references/chakra-ui-patterns.md

主な利点:

  • スタイルプロップ: <Box bg="blue.500" p={4} borderRadius="md">
  • ダークモード内蔵: useColorMode(), useColorModeValue()
  • レスポンシブ配列: <Box w={['100%', '50%', '33%']}>

Stack を使用したレイアウト:

<VStack spacing={4} align="stretch">
  <Card>Item 1</Card>
  <Card>Item 2</Card>
</VStack>

7. フォームデザインとバリデーション

バリデーション付きのフォームを構築する場合:

テンプレートを使用する:

assets/task-form-template.tsx

パターン: React Hook Form + Zod

import { useForm } from "react-hook-form"
import { zodResolver } from "@hookform/resolvers/zod"
import * as z from "zod"

const schema = z.object({
  title: z.string().min(3),
})

const form = useForm({
  resolver: zodResolver(schema),
})

常に含めるもの:

  • フィールドラベル (<FormLabel>)
  • エラーメッセージ (<FormMessage>)
  • ヘルパーテキスト (<FormDescription>)
  • ローディング時の無効状態
  • 適切なアクセシビリティ属性

8. アクセシビリティパターン

常に適用するもの:

  • セマンティックHTML: <button> ではなく <div onClick>
  • ARIAラベル: aria-label="Delete task"
  • スクリーンリーダーテキスト: <span className="sr-only">Hidden</span>
  • キーボードナビゲーション: フォーカス状態、タブ順序
  • 色のコントラスト: WCAG AA 最小 (4.5:1)
  • タッチターゲット: 最小 44x44px

9. ダークモードの実装

Tailwind のアプローチ:

<div className="bg-white dark:bg-slate-950">
<p className="text-slate-900 dark:text-slate-50">

// Theme toggle
import { useTheme } from "next-themes"
const { theme, setTheme } = useTheme()

Chakra UI のアプローチ:

const { colorMode, toggleColorMode } = useColorMode()
const bg = useColorModeValue('white', 'gray.800')

Material UI のアプローチ:

const theme = createTheme({
  palette: {
    mode: prefersDarkMode ? 'dark' : 'light',
  },
})

10. コンポーネントテンプレート

Todoアプリや類似のUIを構築する場合:

利用可能なテンプレート:

  1. タスクカード (assets/todo-card-template.tsx)

    • 含まれるもの: チェックボックス、優先度バッジ、タグ、期日、ドロップダウンメニュー
    • バリアント: カードビュー、リストアイテムビュー
    • 機能: ホバー状態、アクセシビリティ
  2. タスクフォーム (assets/task-form-template.tsx)

    • 含まれるもの: タイトル、説明、優先度、期日、タグ
    • バリデーション: React Hook Form + Zod
    • バリアント: ダイアログフォーム、インラインフォーム

使用方法:

# テンプレートを読む
Read: assets/todo-card-template.tsx

# プロジェクトのデザインシステムに適合させる
# 必要に応じてインポートとスタイリングを変更する

ワークフローガイド

新規プロジェクトの場合

  1. デザインシステムの選択

    • 読む: references/design-system-comparison.md
    • 考慮事項: バンドルサイズ、カスタマイズの必要性、チームの経験
    • 根拠を添えて推奨事項を提供します。
  2. テーマ/設定のセットアップ

    • 依存関係をインストールします。
    • テーマ(色、タイポグラフィ、間隔)を設定します。
    • ダークモードを設定します。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Frontend Design System

Build modern, accessible, responsive web applications using industry-leading design systems and best practices.

Core Capabilities

1. Design System Selection

When users ask "which UI library should I use" or need design system guidance:

Read the comparison guide:

references/design-system-comparison.md

Decision workflow:

  1. Identify project requirements (bundle size, customization, speed)
  2. Review comparison table for best match
  3. Provide installation commands
  4. Recommend component set for the use case

Quick recommendations:

  • Todo apps / Modern SaaS: shadcn/ui + Tailwind
  • Quick prototypes: Chakra UI or Mantine
  • Enterprise dashboards: Material UI or Ant Design
  • Custom designs: Headless UI + Tailwind
  • TypeScript-heavy: Mantine

2. Responsive Layout Design

When users need mobile-friendly layouts or responsive components:

Read the patterns guide:

references/responsive-design-patterns.md

Core principles:

  • Always use mobile-first approach
  • Follow standard breakpoints: sm (640px), md (768px), lg (1024px), xl (1280px)
  • Use grid for card layouts: grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3
  • Use flexbox for navigation: flex flex-col md:flex-row
  • Scale typography: text-sm md:text-base lg:text-lg

3. Tailwind CSS Patterns

When building with Tailwind CSS:

Read Tailwind patterns:

references/tailwind-patterns.md

Common patterns to apply:

  • Cards: rounded-lg border bg-card text-card-foreground shadow-sm p-6
  • Buttons: inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90
  • Inputs: flex h-10 w-full rounded-md border border-input bg-background px-3 py-2
  • Dark mode: bg-white dark:bg-slate-950 text-slate-900 dark:text-slate-50

4. shadcn/ui Components

When using shadcn/ui (recommended for most projects):

Read component reference:

references/shadcn-components.md

Essential components for todo apps:

npx shadcn-ui@latest add button card input form dialog badge tabs checkbox

Use provided templates:

  • Task card: assets/todo-card-template.tsx
  • Task form: assets/task-form-template.tsx

Pattern: Compose components

import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
import { Button } from "@/components/ui/button"

<Card>
  <CardHeader>
    <CardTitle>Title</CardTitle>
  </CardHeader>
  <CardContent>
    <p>Content</p>
    <Button>Action</Button>
  </CardContent>
</Card>

5. Material UI Implementation

When users choose Material UI:

Read MUI patterns:

references/material-ui-patterns.md

Setup theme first:

import { ThemeProvider, createTheme } from '@mui/material/styles'

const theme = createTheme({
  palette: {
    primary: { main: '#1976d2' },
  },
})

<ThemeProvider theme={theme}>
  <App />
</ThemeProvider>

Use sx prop for styling:

<Box sx={{ p: 2, mt: 4, borderRadius: 2 }}>

6. Chakra UI Implementation

When users choose Chakra UI:

Read Chakra patterns:

references/chakra-ui-patterns.md

Key advantages:

  • Style props: <Box bg="blue.500" p={4} borderRadius="md">
  • Dark mode built-in: useColorMode(), useColorModeValue()
  • Responsive arrays: <Box w={['100%', '50%', '33%']}>

Layout with Stack:

<VStack spacing={4} align="stretch">
  <Card>Item 1</Card>
  <Card>Item 2</Card>
</VStack>

7. Form Design & Validation

When building forms with validation:

Use template:

assets/task-form-template.tsx

Pattern: React Hook Form + Zod

import { useForm } from "react-hook-form"
import { zodResolver } from "@hookform/resolvers/zod"
import * as z from "zod"

const schema = z.object({
  title: z.string().min(3),
})

const form = useForm({
  resolver: zodResolver(schema),
})

Always include:

  • Field labels (<FormLabel>)
  • Error messages (<FormMessage>)
  • Helper text (<FormDescription>)
  • Disabled states for loading
  • Proper accessibility attributes

8. Accessibility Patterns

Always apply:

  • Semantic HTML: <button> not <div onClick>
  • ARIA labels: aria-label="Delete task"
  • Screen reader text: <span className="sr-only">Hidden</span>
  • Keyboard navigation: Focus states, tab order
  • Color contrast: WCAG AA minimum (4.5:1)
  • Touch targets: Minimum 44x44px

9. Dark Mode Implementation

Tailwind approach:

<div className="bg-white dark:bg-slate-950">
<p className="text-slate-900 dark:text-slate-50">

// Theme toggle
import { useTheme } from "next-themes"
const { theme, setTheme } = useTheme()

Chakra UI approach:

const { colorMode, toggleColorMode } = useColorMode()
const bg = useColorModeValue('white', 'gray.800')

Material UI approach:

const theme = createTheme({
  palette: {
    mode: prefersDarkMode ? 'dark' : 'light',
  },
})

10. Component Templates

When building todo apps or similar UIs:

Available templates:

  1. Task Card (assets/todo-card-template.tsx)

    • Includes: Checkbox, priority badges, tags, due dates, dropdown menu
    • Variants: Card view, list item view
    • Features: Hover states, accessibility
  2. Task Form (assets/task-form-template.tsx)

    • Includes: Title, description, priority, due date, tags
    • Validation: React Hook Form + Zod
    • Variants: Dialog form, inline form

Usage:

# Read template
Read: assets/todo-card-template.tsx

# Adapt to project's design system
# Modify imports and styling as needed

Workflow Guide

For New Projects

  1. Select Design System

    • Read: references/design-system-comparison.md
    • Consider: Bundle size, customization needs, team experience
    • Provide recommendation with rationale
  2. Setup Theme/Config

    • Install dependencies
    • Configure theme (colors, typography, spacing)
    • Setup dark mode if needed
  3. Build Core Components

    • Start with layout (Container, Grid)
    • Add navigation
    • Implement forms
    • Create card/list components
  4. Apply Responsive Patterns

    • Read: references/responsive-design-patterns.md
    • Mobile-first breakpoints
    • Test at key viewports
  5. Add Accessibility

    • Semantic HTML
    • ARIA labels
    • Keyboard navigation
    • Screen reader support

For Todo App Specifically

  1. Choose design system (recommend shadcn/ui)
  2. Install core components:
    npx shadcn-ui@latest add button card input form dialog badge tabs checkbox
  3. Use templates:
    • Copy assets/todo-card-template.tsx
    • Copy assets/task-form-template.tsx
  4. Customize colors/spacing to match brand
  5. Add responsive layouts from references/responsive-design-patterns.md
  6. Implement dark mode

For Existing Projects

  1. Audit current design system
  2. Identify pain points (bundle size, customization limits, etc.)
  3. If migrating:
    • Read comparison guide for alternatives
    • Plan incremental migration
    • Start with new components
  4. If optimizing:
    • Apply patterns from references
    • Improve responsiveness
    • Add accessibility features

Quick Reference

Common Tasks

"Make this responsive" → Read: references/responsive-design-patterns.md → Apply mobile-first breakpoints → Use grid/flexbox patterns

"Add dark mode" → For Tailwind: Use dark: prefix → For Chakra: Use useColorMode() → For MUI: Configure theme palette mode

"Which UI library?" → Read: references/design-system-comparison.md → Provide recommendation based on requirements

"Build a form with validation" → Use: assets/task-form-template.tsx → Adapt to project's design system → Add custom fields as needed

"Create task card" → Use: assets/todo-card-template.tsx → Modify for specific features

Design Tokens Reference

Spacing scale: 2, 4, 6, 8, 12, 16, 24, 32, 48, 64 (px in 4px increments)

Typography scale: xs (12px), sm (14px), base (16px), lg (18px), xl (20px), 2xl (24px), 3xl (30px)

Breakpoints: sm (640px), md (768px), lg (1024px), xl (1280px), 2xl (1536px)

Border radius: sm (4px), md (8px), lg (16px), full (9999px)

Anti-Patterns to Avoid

❌ Desktop-first responsive design (always start mobile) ❌ Hardcoded colors (use design tokens/theme) ❌ Div soup (use semantic HTML) ❌ Missing accessibility (always include ARIA, focus states) ❌ Inconsistent spacing (use design system scale) ❌ Non-interactive elements with onClick (use button/a) ❌ Tiny touch targets on mobile (<44px)

Resources Summary

  • Tailwind patterns: references/tailwind-patterns.md
  • shadcn/ui components: references/shadcn-components.md
  • Material UI patterns: references/material-ui-patterns.md
  • Chakra UI patterns: references/chakra-ui-patterns.md
  • Design system comparison: references/design-system-comparison.md
  • Responsive patterns: references/responsive-design-patterns.md
  • Task card template: assets/todo-card-template.tsx
  • Task form template: assets/task-form-template.tsx

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。