スキル一覧に戻る
sekka

developing-frontend

by sekka

0🍴 0📅 2026年1月25日
GitHubで見るManusで実行

SKILL.md


name: developing-frontend description: フロントエンド UI/UX 実装と最適化を支援します。React/Vue/Next.jsでの実装、パフォーマンス最適化、アクセシビリティを提供します。ユーザーインターフェース開発、Web アプリケーション構築が必要な場合に使用してください。 disable-model-invocation: false

フロントエンド開発とパフォーマンス最適化

概要

フロントエンド開発、React/Vue/Next.js実装、TypeScript型設計、パフォーマンス最適化を包括的に支援するスキルです。

実行フロー

Step 1: プロジェクトセットアップ

フレームワーク選定基準

フレームワーク用途特徴
React汎用的なSPA最大のエコシステム
Next.jsSEO重視のWebアプリSSR/SSG/ISRサポート
Vue 3シンプルで学習しやすいComposition API
Astroコンテンツ重視サイトゼロJSデフォルト
Svelteバンドルサイズ最小化コンパイル時最適化

Step 2: TypeScript型設計

高度な型システム

ジェネリクスと制約:

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

判別ユニオンと網羅性チェック:

type Result<T, E = Error> =
  | { success: true; data: T }
  | { success: false; error: E };

ユーティリティ型の活用:

  • Partial<T>, Pick<T, K>, Omit<T, K>, Record<K, V>, Required<T>

ブランド型:

type UserId = string & { readonly brand: unique symbol };

Step 3: コンポーネント設計

Reactコンポーネントアーキテクチャ

  • 単一責任の原則を守る
  • Composition over Inheritance
  • Props型を明確に定義

カスタムフック:

function useUser(userId: string) {
  const [user, setUser] = useState<User | null>(null);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState<Error | null>(null);
  // ...
  return { user, loading, error };
}

Step 4: 状態管理

状態管理手法の選択

手法用途学習曲線
useStateローカル状態
Context APIテーマ、認証情報
Zustandグローバル状態(軽量)
Redux Toolkit複雑な状態管理
React Queryサーバー状態管理

Zustand(推奨):

const useCartStore = create<CartStore>((set) => ({
  items: [],
  addItem: (item) => set((state) => ({ items: [...state.items, item] })),
}));

Step 5: パフォーマンス最適化

React最適化テクニック

  • React.memo: 不要な再レンダリングを防ぐ
  • useCallback/useMemo: 関数・計算結果をメモ化
  • コード分割: lazy()Suspense で動的インポート
  • バーチャライゼーション: @tanstack/react-virtual で大量リスト対応

Core Web Vitals目標

FCP (First Contentful Paint) < 1.8s
LCP (Largest Contentful Paint) < 2.5s
FID (First Input Delay) < 100ms
CLS (Cumulative Layout Shift) < 0.1

Step 6: Tailwind CSSスタイリング

レスポンシブデザイン:

<div className="w-full sm:w-1/2 md:w-1/3 lg:w-1/4 p-4">

Step 7: テスト

Testing Library:

import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';

出力成果物

  1. プロジェクトセットアップ: 初期化済みプロジェクト構造
  2. 型定義: TypeScriptの型定義ファイル
  3. コンポーネントライブラリ: 再利用可能なUI部品
  4. 状態管理: ストア、カスタムフック
  5. スタイルシステム: Tailwind設定、デザイントークン
  6. テストコード: ユニット・統合テスト

ベストプラクティス

  1. TypeScript Strict Mode: 最大限の型安全性を確保
  2. コンポーネント設計: 単一責任の原則を守る
  3. パフォーマンス: React.memo、useCallback、useMemoを適切に使用
  4. アクセシビリティ: セマンティックHTML、ARIA属性、キーボード操作
  5. テスト: Testing Libraryで動作をテスト

関連ファイル

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です