Skill
Community

web-app-designer

Install
1
Install the plugin
$
npx claudepluginhub caphtech/claude-marketplace --plugin design-plugin

Want just this skill?

Then install: npx claudepluginhub u/[userId]/[slug]

Description

Webアプリの個別画面・コンポーネントのデザインを体系的に行うスキル。デザインプロセス・レイアウト・コンポーネント設計・インタラクション・アクセシビリティなどWebデザインの確立された手法を適用する。デザインシステム全体の構築・運用はdesign-system-builderスキルを使用すること。Use when: 「Webアプリをデザインして」「UIを設計して」「画面をデザインして」「レスポンシブ対応して」「アクセシビリティを改善して」「コンポーネントを設計して」「カラーパレットを決めて」と言われた時。

Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
references/design-methods.md
references/layout-system.md
Skill Content

Web App Designer(Webアプリデザイナー)

Webアプリのデザインを体系的に行う。依頼内容に応じて適切なデザイン手法を選択・適用し、実装可能なデザイン仕様を出力する。

ワークフロー概要

Phase 1: 要件・コンテキスト把握
  → Phase 2: デザイン手法の選択
    → Phase 3: デザイン実行
      → Phase 4: アウトプット生成

Phase 1: 要件・コンテキスト把握

デザイン対象を正確に理解するための情報を収集する。

Step 1.1: デザイン対象の特定

以下を確認する:

確認項目質問例
アプリ種別SaaS / EC / ダッシュボード / LP / 管理画面 / ポータル / SNS
デザインスコープ新規プロダクト全体 / 特定機能のUI / 既存UIの改善 / レスポンシブ対応 / アクセシビリティ改善
主要画面どの画面をデザインするか(一覧/詳細/フォーム/ダッシュボード等)

Step 1.2: ターゲット・環境の確認

確認項目内容
ターゲットユーザーペルソナ、技術リテラシー、利用頻度
対象デバイスデスクトップ中心 / モバイルファースト / 両対応
対象ブラウザモダンブラウザのみ / IE対応 / 特定ブラウザ
パフォーマンス要件初期表示速度、データ量の想定

Step 1.3: 既存資産の確認

確認項目有無を確認
デザインシステム既存のコンポーネントライブラリがあるか
ブランドガイドラインロゴ・カラー・フォントの規定があるか
UIフレームワークTailwind / MUI / shadcn/ui 等の指定があるか
既存コードベース既存UIとの整合性を取る必要があるか

Phase 1のアウトプット: デザインブリーフ(対象・スコープ・制約の要約)


Phase 2: デザイン手法の選択

依頼内容に応じて最適なデザイン手法を選定する。

Step 2.1: 手法選定マトリクス

依頼の種類主要手法補助手法参照
新規プロダクト全体Design Thinking画面設計 → インタラクション設計(DS未整備なら先にdesign-system-builderで基盤構築)references/design-methods.md
特定機能のUIコンポーネント設計状態設計 → インタラクション設計references/layout-system.md
既存UIの改善ヒューリスティック評価ユーザビリティテスト → 改善設計references/design-methods.md
レスポンシブ対応モバイルファーストブレークポイント設計 → グリッド設計references/layout-system.md
アクセシビリティ改善WCAG 2.1 AA準拠ヒューリスティック評価 → セマンティックHTMLreferences/layout-system.md
デザインシステム構築design-system-builderスキルに委譲DS全体の構築はdesign-system-builderを使用
ダッシュボード設計情報アーキテクチャグリッドレイアウト → データビジュアライゼーションreferences/layout-system.md
フォーム設計ユーザビリティ原則バリデーション設計 → エラー状態設計references/layout-system.md
LP・マーケティングビジュアルヒエラルキーCTA設計 → コンバージョン最適化references/layout-system.md

Step 2.2: 手法の組み合わせ判断

依頼内容が複数の種類にまたがる場合は、手法を組み合わせる。

判断基準:

  • スコープが広い(プロダクト全体) → Design Thinking から開始
  • スコープが狭い(特定画面) → コンポーネント設計から開始
  • 既存UIの改善 → ヒューリスティック評価から開始
  • アクセシビリティが要件に含まれる → 常にWCAG 2.1 AAチェックを併用

Phase 3: デザイン実行

選択した手法に基づきデザインを実行する。以下の要素を依頼に応じてカバーする。

Step 3.1: レイアウト設計

グリッドシステム:

  • 12カラムグリッドを基本とする(grid-template-columns: repeat(12, 1fr)
  • 8pxグリッドでスペーシングを統一
  • スペーシングスケール: 4, 8, 16, 24, 32, 48, 64, 96px

ページ構造の定義:

┌─────────────────────────────────────┐
│ Header                              │
├──────────┬──────────────────────────┤
│ Sidebar  │ Main Content             │
│ (2-3col) │ (9-10col)               │
│          │                          │
│          │                          │
├──────────┴──────────────────────────┤
│ Footer                              │
└─────────────────────────────────────┘
  • grid-template-areas でセマンティックなエリアを定義する
  • ページ全体構造は CSS Grid、コンポーネント内部は Flexbox を使い分ける

Step 3.2: カラー設計

60-30-10ルールを適用する:

比率用途
60%ドミナント(背景・ベース)白 / ライトグレー
30%セカンダリ(補助)カード背景 / サイドバー
10%アクセント(強調)CTAボタン / リンク / アクティブ状態

セマンティックカラー体系:

セマンティック名用途推奨HEX
PrimaryCTA、リンク、選択状態#3B82F6
Secondary二次アクション#6366F1
Success成功、完了#22C55E
Warning注意、警告#F59E0B
Errorエラー、破壊的アクション#EF4444
Info情報提供#06B6D4
Neutral 50-950テキスト、ボーダー、背景#F9FAFB 〜 #030712

各カラーには明度スケール(50, 100, 200, ..., 800, 900, 950)を用意する。

コントラスト比(WCAG 2.1 AA):

  • 通常テキスト: 4.5:1以上
  • 大テキスト(18px太字 or 24px以上): 3:1以上
  • UIコンポーネント: 3:1以上

Step 3.3: タイポグラフィ設計

タイプスケール(Major Third 1.25倍を基本):

トークン名サイズ用途
text-xs0.8rem (12.8px)キャプション、注釈
text-sm0.889rem (14.2px)補助テキスト、ラベル
text-base1rem (16px)本文テキスト
text-lg1.25rem (20px)サブ見出し
text-xl1.563rem (25px)セクション見出し
text-2xl1.953rem (31.25px)ページ見出し
text-3xl2.441rem (39.06px)ヒーロー見出し

行間・字間:

  • 本文: line-height: 1.6, letter-spacing: 0.01em
  • 見出し: line-height: 1.15, letter-spacing: -0.02em
  • キャプション: line-height: 1.5, letter-spacing: 0.03em
  • 段落幅: 1行あたり45〜75文字

Step 3.4: コンポーネント設計(Atomic Design)

5階層で設計する:

階層定義具体例
Atoms最小UI要素Button, Input, Icon, Badge, Label
MoleculesAtomsの組み合わせSearchBar, FormField, NavItem, MenuItem
OrganismsMoleculesの組み合わせHeader, Sidebar, DataTable, CardList, Footer
Templatesページ構造のワイヤーフレームDashboardLayout, AuthLayout, SettingsLayout
Pages実コンテンツを含む最終形DashboardPage, SettingsPage, LoginPage

コンポーネント仕様の記述項目:

  • 名前(PascalCase)
  • 説明(1文)
  • Props(型・デフォルト値・必須/任意)
  • 状態一覧(Step 3.5参照)
  • バリアント一覧
  • 使用例

Step 3.5: インタラクション・状態設計

基本6状態:

状態視覚表現実装指針
Idleデフォルトの見た目基本スタイル
Hover背景色変化、カーソル変更:hover 擬似クラス
Active/Pressed押し込み表現(scale, shadow変化):active 擬似クラス
Focusedアウトライン表示:focus-visible, outline: 3px solid #0066CC; outline-offset: 2px
Disabledグレーアウトopacity: 0.5, pointer-events: none
Loadingスピナー / スケルトンアニメーション付き

追加状態: Error(赤枠 + メッセージ)、Success(緑チェック)、Skeleton(プレースホルダ表示)

アニメーション指針:

  • マイクロインタラクション: 100〜200ms
  • UI遷移: 200〜300ms
  • ナビゲーション遷移: 300〜500ms
  • イージング: ease-in-out(メイン)、ease-out(表示)、ease-in(非表示)
  • 300ms以下で応答性を維持する

Step 3.6: レスポンシブ対応

モバイルファーストで設計する。ベースをモバイルとし、min-width で段階的にスタイルを追加する。

ブレークポイント:

名前min-width対象デバイス
base0pxモバイル(ポートレート)
sm640pxスマートフォン(ランドスケープ)
md768pxタブレット
lg1024pxデスクトップ
xl1280px大画面デスクトップ
2xl1536pxワイドスクリーン

レスポンシブパターン:

  • モバイル: 1カラム、ハンバーガーメニュー、タブナビゲーション
  • タブレット: 2カラム、サイドバー折りたたみ
  • デスクトップ: 3カラム、常時表示サイドバー
  • タッチターゲット: 最低44x44px(Apple HIG)/ 48x48dp(Material Design)

Step 3.7: アクセシビリティチェック

WCAG 2.1 AAに準拠する。以下を確認する:

カテゴリチェック項目
コントラストテキスト 4.5:1以上、大テキスト 3:1以上、UI要素 3:1以上
キーボード全機能がキーボード操作可能、フォーカス順序が論理的、フォーカスインジケーター 3:1以上
セマンティクス<nav>, <main>, <aside> 等のランドマーク使用、見出し階層が正しい
ARIA可視テキストがない要素に aria-label、補足説明に aria-describedby
フォーム<label><input> の明示的関連付け、具体的なエラーメッセージ
画像意味のある画像に alt テキスト、装飾画像は alt=""
動きprefers-reduced-motion の尊重

Phase 4: アウトプット形式

依頼に応じて以下の形式で出力する。

4.1: 画面レイアウト

ASCIIアートまたはHTML構造記述で画面構成を表現する。

例: ダッシュボード画面

┌─────────────────────────────────────────────┐
│ [Logo]  Dashboard   Search...   [Avatar ▼]  │
├───────┬─────────────────────────────────────┤
│ ≡ Nav │  Welcome, User                      │
│       │                                     │
│ Home  │  ┌──────┐ ┌──────┐ ┌──────┐        │
│ Tasks │  │ KPI  │ │ KPI  │ │ KPI  │        │
│ Users │  │ Card │ │ Card │ │ Card │        │
│ ...   │  └──────┘ └──────┘ └──────┘        │
│       │                                     │
│       │  ┌────────────────────────────┐     │
│       │  │     Chart / Table          │     │
│       │  │                            │     │
│       │  └────────────────────────────┘     │
├───────┴─────────────────────────────────────┤
│ Footer                                      │
└─────────────────────────────────────────────┘

4.2: コンポーネント仕様書

各コンポーネントを以下のフォーマットで記述する:

### ComponentName

**説明**: 1文の説明

**Props**:
| Prop | 型 | デフォルト | 必須 | 説明 |
|------|----|-----------|------|------|
| variant | 'primary' \| 'secondary' \| 'ghost' | 'primary' | No | ボタンの見た目 |
| size | 'sm' \| 'md' \| 'lg' | 'md' | No | サイズ |
| disabled | boolean | false | No | 無効状態 |
| loading | boolean | false | No | ローディング状態 |

**状態**: Idle / Hover / Active / Focused / Disabled / Loading

**使用例**:
- プライマリCTA: `<Button variant="primary" size="lg">送信</Button>`
- 二次アクション: `<Button variant="secondary">キャンセル</Button>`

4.3: カラーパレット

## カラーパレット

### プライマリ
| スケール | HEX | 用途 |
|----------|-----|------|
| 50 | #EFF6FF | 背景ハイライト |
| 100 | #DBEAFE | ホバー背景 |
| 500 | #3B82F6 | メインカラー |
| 700 | #1D4ED8 | ホバー状態 |
| 900 | #1E3A8A | テキストアクセント |

(Success, Warning, Error, Neutral も同様に定義)

4.4: タイポグラフィスケール

:root {
  --font-family-sans: 'Inter', system-ui, sans-serif;
  --font-family-mono: 'JetBrains Mono', monospace;

  --text-xs: 0.8rem;
  --text-sm: 0.889rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.563rem;
  --text-2xl: 1.953rem;
  --text-3xl: 2.441rem;

  --leading-tight: 1.15;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;
}

4.5: インタラクション仕様

各インタラクションを以下で記述する:

### [コンポーネント名] のインタラクション

| トリガー | アクション | フィードバック | デュレーション |
|----------|-----------|---------------|---------------|
| クリック | 送信処理開始 | ボタンがloading状態に | 即時 |
| 送信完了 | 成功通知表示 | トースト表示 + ボタンsuccess状態 | 200ms |
| エラー | エラー通知表示 | トースト + ボタンidle復帰 | 200ms |

注意事項

  • 実装可能性を優先する: Claudeはビジュアルモックアップを画像生成できない。ASCIIアート・HTML構造・CSS仕様で実装者が再現できる形で出力する
  • 既存資産を尊重する: 既存デザインシステムやUIフレームワークがある場合、それに合わせる
  • 段階的に進める: 全要素を一度に出力せず、Phase 1→4の順で段階的に進め、各Phaseでユーザーの確認を取る
  • アクセシビリティは常に考慮する: 依頼にアクセシビリティの言及がなくても、WCAG 2.1 AA準拠を基本とする
  • モバイルファーストを基本とする: 特に指定がなければモバイルファーストで設計する

連携スキル

スキル連携タイミング
design-system-builderデザインシステム全体の構築・運用が必要な場合。本スキルはDS成果物(原則・トークン・コンポーネント仕様)を入力として個別画面を設計する
app-idea-workshopアイデア段階からの場合、先にワークショップでアイデアを具体化する
spec-genデザイン完了後、実装仕様書を生成する
architecture-reviewerデザインシステムのアーキテクチャをレビューする
critical-code-reviewデザイン実装後のコードレビュー
Stats
Stars0
Forks0
Last CommitFeb 28, 2026

Similar Skills