使い方ガイドへスキップ
frontend-ui-engineering作者 Addy Osmani

Frontend UI Engineering スキル。

Claude Code と Codex の UI デザイン向けスキル:本番品質でアクセシブル、レスポンシブなユーザー向け UI を構築します。

  • Web & UI
  • UI コード
addyosmani/agent-skills · skills/frontend-ui-engineering/SKILL.mdSKILL.md
--- name: frontend-ui-engineering description: Builds production-quality, accessible, responsive user-facing UIs. Use when building or modifying interfaces and pages, creating components, implementing layouts, meeting WCAG accessibility requirements, managing state, or when the output needs to look and feel production-quality rather than AI-generated. --- ## When to Use ## Component Architecture ## State Management ## Design System Adherence ## Accessibility (WCAG 2.1 AA) ## Responsive Design
2026-09-14 に上流ファイルから読み取ったフロントマターとセクション見出し · 全 10,679 文字

01 できること

Claude CodeとCodexにおけるfrontend-ui-engineeringスキルの機能

概要、ワークフロー、出力。いずれもスキルの SKILL.md から読み取った内容です。

SKILL.md より2026年9月14日読取 · 実行記録ではありません

スキル自身の言葉で

アクセシブルでパフォーマンスが高く、視覚的に洗練されたプロダクション品質のユーザーインターフェースを構築します。このスキルは、AIが生成したものではなく、デザインを理解したトップ企業のエンジニアが作ったように見えるUIを作成することに重点を置いています。実際のデザインシステムへの準拠、適切なWCAG 2.1 AAアクセシビリティ、配慮の行き届いたインタラクションパターンを徹底し、ありがちなAI的な見た目のパターンを避けます。

このスキルは、コロケーションを伴うコンポーネントアーキテクチャ、設定よりも合成を優先する考え方、ローカルのuseStateからグローバルストアまで幅広いステート管理、特定のブレークポイントでテストされたレスポンシブなモバイルファーストデザイン、キーボードナビゲーション、ARIAラベル、フォーカス管理、意味のある空状態・エラー状態、スケルトンローディング、体感速度を高めるための楽観的更新をカバーしています。

生成されるもの

  • 読み込み中のコンテンツに対する、aria-busyとaria-labelを用いたスケルトンローディング状態
  • role="status"、説明的なテキスト、アイコン、実行可能な次のステップを備えた、意味のある空状態・エラー状態
プロンプト例を見る ↗

仕組み

  1. 01
    コンポーネントファイルをコロケーションする

    コンポーネントの実装、テスト、ストーリー、カスタムフック、型を、そのコンポーネント名を付けた1つのフォルダにまとめて配置します。

  2. 02
    コンポーネントは合成する、設定しない

    プロパティを多用した設定オブジェクトではなく、ネストされた子要素を用いた合成可能なコンポーネントAPIを構築します。

  3. 03
    データ取得と表示を分離する

    データの読み込み、エラー、空状態を処理するコンテナコンポーネントを作成し、整えられたデータを表示コンポーネントに渡します。

  4. 04
    スコープに応じてステート管理を選択する

    コンポーネント固有のUI状態にはuseStateを、2〜3個の兄弟間で共有する状態にはリフトされたステートを、テーマ・認証・ロケールにはContextを、フィルターやページネーションにはURLステートを、リモートデータにはサーバーステートライブラリを、複雑な共有クライアントステートにはグローバルストアを使用します。

  5. 05
    デザインシステムのトークンに従う

    生の16進値ではなく、text-primaryやbg-surfaceのようなセマンティックなカラートークンを使用し、0.25rem刻みで一貫したスペーシングスケールを保ち、タイプの階層を守ります。

  6. 06
    WCAG 2.1 AAアクセシビリティを実装する

    すべてのインタラクティブ要素をキーボードで操作可能にし、ラベルのないコントロールにARIAラベルを付け、コンテンツが変化した際にフォーカスを管理し、通常テキストで4.5:1のコントラストを確保し、意味のある空状態・エラー状態を提供します。

02 適合性を確認

frontend-ui-engineering Skill を使用するタイミング

この種の UI デザインの作業では、Claude Code または Codex で frontend-ui-engineering スキルを使用してください。以下の適合性と制限は、スキル自身のファイルから取得されています。

適している場合

  • 新しい UI コンポーネントまたはページの構築
  • 既存のユーザー向けインターフェースの変更
  • レスポンシブレイアウトの実装
  • インタラクティビティや状態管理の追加
  • ビジュアルや UX の問題の修正

境界を知る

  • 後で書き直されることを前提にプロトタイプを作成すること
  • デザインが確定していないという理由でスタイリングを省略すること
  • レスポンシブデザインを後の段階に持ち越すこと
  • アクセシビリティを任意またはあれば良いもの扱いすること

提供すべきもの

  • 現実的なプレースホルダーコンテンツlorem ipsumでは隠れてしまうレイアウト上の問題(長さ、折り返し、オーバーフローなど)を明らかにする、実際のコンテンツや現実的な例

03 スキルの内部

frontend-ui-engineering スキルが Claude Code と Codex に与えるルール

SKILL.md がエージェントに設定する 8 つの具体的な指示・既定値・制限 — 結果を変える部分です。

  1. AIらしい美的パターンを避ける

    紫やインディゴを至る所に使う、過剰なグラデーション、すべてに rounded-2xl を適用する、ありきたりなヒーローセクション、lorem ipsum のコピー、至る所に過大なパディングを使う、ありふれたカードグリッド、影を多用するデザインは避けてください。

  2. Propのバケツリレーは3階層を超えない

    使用しないコンポーネントを経由してpropsを渡している場合は、コンテキストを導入するか、コンポーネントツリーを再構成してください。

  3. 一貫したスペーシングスケールを使用する

    スケール上の値(0.25rem単位、またはプロジェクトが採用している単位)に基づいてスペーシングを適用してください。13pxや2.3remのようにスケールに存在しない値を勝手に作らないでください。

  4. 見出しレベルを飛ばさない

    h1(ページタイトル、ページに1つ)からh2(セクション)、h3(サブセクション)までのセマンティックな見出し階層を維持してください。見出し以外のコンテンツに見出しスタイルを使用しないでください。

  5. すべてのインタラクティブ要素はキーボードでアクセス可能でなければならない

    buttonのようなネイティブのフォーカス可能な要素を使用してください。divにonClickを使わざるを得ない場合は、role="button"、tabIndex={0}、そしてEnterとSpaceに対応するonKeyDown/onKeyUpハンドラーを追加してください。

  6. モバイルファーストで設計する

    まずモバイルのブレークポイント向けに構築し、その後より大きな画面へ拡張してください。320px、768px、1024px、1440pxでテストしてください。

  7. スピナーではなくスケルトンローディングを使用する

    コンテンツ読み込み中はaria-busyとaria-labelを付けたスケルトン状態を表示してください。知覚速度を上げるためにオプティミスティックアップデートを実装してください。

  8. コンポーネントは200行を超えてはならない

    200行を超えて肥大化したコンポーネントは、より小さく焦点の絞られた単位に分割してください。

04 実際に使う

Claude Code または Codex に frontend-ui-engineering をインストールする

npx skills add コマンドを実行し、エージェントで最初のタスクを実行して、結果をチェックリストで確認します。

Claude Code、Codex、またはお使いのエージェントに frontend-ui-engineering を追加する

プロジェクトで実行してください。インストーラーが、どのエージェントに追加するかを尋ねます。

Terminal
npx skills add https://github.com/addyosmani/agent-skills --skill frontend-ui-engineering

skills/frontend-ui-engineering/SKILL.md向けの汎用的なskills CLI形式です。リポジトリ側で独自のパスが定義されている場合があります。

スキルに最初の UI デザインタスクを与える

スキル自身の用語で記述されています。角括弧の部分はご自身の内容に置き換えてください。

Starter prompt
Build a TaskList component for [project name] that displays a list of tasks with checkboxes to mark them complete and delete buttons. The component should handle loading, error, and empty states. It should be keyboard accessible, meet WCAG 2.1 AA standards, work responsively from 320px to 1440px, and follow the design system's spacing scale and color tokens. Include a container component that fetches tasks using React Query and a presentation component that receives clean data.

出典:SKILL.md をスキル自身の用語に沿って記述。

最初の結果を確認

SKILL.md 自体が正しい結果として示しているもの:

  • コンポーネントがコンソールエラーなしでレンダリングされる
  • すべてのインタラクティブ要素は、ページ内をタブキーで移動してキーボードでアクセスできます
  • スクリーンリーダーがページのコンテンツと構造を伝えられる
  • レスポンシブレイアウトは320px、768px、1024px、1440pxのブレークポイントで機能します
  • ローディング状態、エラー状態、空状態のすべてが処理されています
  • 開発ツールや axe-core でアクセシビリティの警告が出ないこと

OpenDesign では、frontend-ui-engineering をその SKILL.md のリンクからインポートします。Plugins → Add → Skill → Import from link を使い、その後トップバーで選択してください。

05 オープンソースで追跡可能

ソース、ライセンス、検証

このページの情報の出所と、最終確認日時です。

Repository
github.com/addyosmani/agent-skills ブランチ main
スキルファイル
skills/frontend-ui-engineering/SKILL.md 検証時にコンテンツチェックサムを記録、コミット be4e44a
License
MIT LICENSE より
リポジトリスター数
94,139 GitHub スナップショットは 2026-09-14 に addyosmani/agent-skills リポジトリ全体を対象に取得されました。frontend-ui-engineering の評価や使用数ではありません。
OpenDesign により検証済み
2026-09-14 ソースファイル、パス、ライセンステキスト、スター数を確認済み。OpenDesign 本体にはバンドルされていません(2026-08-28 確認)。このページには実行記録がありません。

SKILL.md の中身

  1. 概要目標は、AI 生成っぽくなく、デザインを理解した本番品質の UI を作ることです
  2. 使用する場面UI コンポーネント、ページ、レイアウト、インタラクション、状態の構築・変更、または見た目の問題の修正
  3. コンポーネントの構成ファイルを同じ場所に配置し、設定より合成を優先し、コンポーネントを焦点の定まった状態に保ち、データと表示を分離します
  4. 状態管理最もシンプルな方法を選びます。ローカル状態、リフトされた状態、コンテキスト、URL 状態、サーバー状態、グローバルストアなど
  5. デザインシステムへの準拠AI 特有の見た目のパターンを避け、一貫したスペーシングスケールを使い、タイポグラフィの階層を尊重し、セマンティックなカラートークンを使用します
  6. アクセシビリティ(WCAG 2.1 AA)キーボード操作、ARIA ラベル、フォーカス管理、意味のある空状態・エラー状態が必要です
  7. レスポンシブデザインモバイルファーストのアプローチを取り、320px、768px、1024px、1440px のブレークポイントでテストします
  8. ローディングとトランジションスピナーではなくスケルトンローディングを使用し、体感速度を高めるために楽観的な更新を実装します
  9. よくある正当化の理由アクセシビリティ、レスポンシブデザイン、スタイリングを後回しにしたり、AI 特有の見た目を受け入れたりする主張への反論です
  10. 危険信号200 行を超えるコンポーネント、インラインスタイル、状態の欠落、キーボードテストの不足、色のみによる表示、AI 特有の見た目
  11. 検証レンダリング、キーボード操作、スクリーンリーダー、レスポンシブ、状態、デザインシステム、アクセシビリティツールに関するチェックリスト
スキル自身による説明
「本番品質でアクセシブル、レスポンシブなユーザー向け UI を構築します。インターフェースやページの構築・変更、コンポーネントの作成、レイアウトの実装、WCAG アクセシビリティ要件への対応、状態管理、または AI 生成ではなく本番品質の見た目と操作感が必要な場合に使用してください。」

SKILL.md のフロントマター説明です。ファイル全体は約 10,679 文字です。GitHub で全文を読む

06 インストールする前に

frontend-ui-engineering スキルについてのよくある質問

回答は 2026-09-14 時点で読んだ SKILL.md に基づくもので、記録された実行結果によるものではありません。

Context と Zustand のようなグローバルストアはどちらを使うべきですか?

テーマ、認証、言語設定のような読み取りが多く書き込みがまれなデータには Context を使用します。アプリ全体で共有される複雑なクライアント状態には、Zustand や Redux のようなグローバルストアを使用します。

2〜3 個の兄弟コンポーネント間で状態を共有するだけであれば、代わりに共通の親コンポーネントに状態をリフトしてください。コンテキストの導入やコンポーネントツリーの再構成によって、3 階層を超えるプロパティのバケツリレーは避けましょう。

Frontend UI Engineering

実際の UI デザインタスクで frontend-ui-engineering を実行します。

OpenDesign をダウンロードし、SKILL.md リンクから frontend-ui-engineering をインポートし、上記のプロンプトを貼り付けて、結果の前にプランを確認してください。

ターミナル
npx skills add https://github.com/addyosmani/agent-skills --skill frontend-ui-engineering

OpenDesign デスクトップ版

ひとつのデザインシステムで、すべての制作物をブランドらしく

完全な Vibe Design Workspace で、同じブランドルールを Web サイト、スライド、操作できるプロトタイプ、ダッシュボード、画像、HTML 動画に展開できます。ローカルの Codex、Claude Code、Cursor などを接続して無料で制作しましょう。

  • Web、スライド、プロトタイプ、ダッシュボード、画像、動画
  • 140+ のデザインシステムと完全なテンプレート/スキルライブラリ
  • ローカル Codex と 21+ のコーディングエージェントを接続 · 無料
無料ダウンロード

macOS と Windows に対応