mcpField
F
frontend-builder

frontend-builder

github.com/oakoss開発20128 回インストール11 週間前に更新
リポジトリ

frontend-builder について

サーバー優先の方針で、React と Next.js の保守しやすいフロントエンド構築を支援するスキルです。コンポーネント設計、状態、データ取得、フォーム、スタイル、性能を扱い、バックエンドやデプロイ設計は対象外です。

主な機能

  1. 01Next.js App Router と React + Vite
  2. 02サーバー・クライアントコンポーネントのパターン
  3. 03ローカル・グローバル状態の指針
  4. 04データ取得とキャッシュ再検証
  5. 05フォームとスキーマ検証
  6. 06スタイルと性能の実践

活用シーン

  1. 01Next.js フロントエンドの構成
  2. 02状態の配置場所を選択
  3. 03データ取得と変更の実装
  4. 04フロントエンド描画性能の改善

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oakoss/agent-skills --skill frontend-builder

インストール後、Claude Code で/frontend-builderを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
component-architecture.md
data-fetching.md
forms.md
performance-and-errors.md
server-components.md
state-management.md
styling.md

詳細

フロントエンドビルダー

概要

サーバーファーストのアーキテクチャを用いて、保守しやすくパフォーマンスに優れた React および Next.js のフロントエンドを構築します。コンポーネント設計、状態管理、データ取得、フォーム、スタイリング、パフォーマンス最適化を扱います。バックエンド API の設計、データベーススキーマ、デプロイインフラストラクチャは対象外です。

クイックリファレンス

パターンアプローチ主なポイント
フレームワークNext.js App Router(デフォルト)、React + Vite(SPA)サーバーファーストのレンダリング、ファイルベースのルーティング
コンポーネントPage、Feature、UI、Layout タイプ単一責任、型付きの props、コンポジション
サーバーとクライアントServer Components がデフォルト、リーフノードに 'use client'コンポーネントツリーの末端にインタラクティブ性を配置
状態(ローカル)useState、props、親コンポーネントへのリフト状態を、使用される場所のできるだけ近くに保つ
状態(グローバル)Context API(テーマ、認証)、Zustand(複雑な場合)頻繁に変化する値には Context を使わない
データ取得Server Components(サーバー)、TanStack Query(クライアント)ミューテーションには Server Actions、キャッシュには revalidatePath
フォームReact Hook Form + Zod、または Server Actions + useActionStateスキーマ検証、useOptimistic による楽観的更新
スタイリングTailwind CSS v4 + shadcn/ui@theme による CSS ファーストの設定、OKLCH カラー
パフォーマンスSuspense ストリーミング、コード分割、メモ化React.lazy()、next/dynamic、選択的な memo()
エラー処理エラーバウンダリー、ルートごとの error.tsx個々のコンポーネントではなく、機能セクションをラップする

よくある間違い

間違い正しいパターン
すべてのコンポーネントに 'use client' を追加するServer Components をデフォルトにし、インタラクティブ性が必要な場合に限り 'use client' を追加する
複数の責務を持つ巨大なコンポーネント単一の目的を持つ、特化したサブコンポーネントに分割する
すべての状態をコンポーネントツリーの最上部に置く状態を、使用される場所のできるだけ近くに保つ
派生データの計算に useEffect を使う派生値には useMemo を使い、useEffect は副作用に限定する
機能セクションの周囲にエラーバウンダリーがないページ全体のクラッシュを防ぐため、機能領域をエラーバウンダリーでラップする
単純なミューテーションのために API ルートを作成するフォームの送信やミューテーションには 'use server' を付けた Server Actions を使う
Client Components にシリアライズできない props を渡すサーバーとクライアントの境界を越える props はシリアライズ可能である必要がある(関数やクラスは不可)
Tailwind v4 で tailwind.config.js を使うCSS ファイル内の @theme ディレクティブを使った CSS ファーストの設定を使用する
Server Components で十分なのに Client Components でデータを取得するデフォルトでは Server Components で取得し、クライアント側のキャッシュが必要な場合に限り TanStack Query を使う

委譲

フロントエンドを構築する際は、専門スキルに委譲します。

  • react-patterns -- React フック、レンダリングパターン、パフォーマンス最適化
  • nextjs -- Next.js のルーティング、ミドルウェア、デプロイ設定
  • tanstack-query -- クライアント側のデータ取得、キャッシュ、ミューテーション
  • tanstack-form -- 複雑なフォーム処理、フィールド単位のバリデーション
  • tailwind -- Tailwind CSS のユーティリティパターン、レスポンシブデザイン
  • design-system -- トークンの階層構造、コンポーネントアーキテクチャ
  • performance-optimizer -- プロファイリング、バンドル分析、Core Web Vitals

参考資料

コメント