MCP HubMCP Hub
Volver a habilidades

setup-tailwind-typescript

pjt222
Actualizado Yesterday
1 vistas
17
2
17
Ver en GitHub
Otroreactai

Acerca de

Esta habilidad de Claude configura Tailwind CSS con TypeScript en proyectos Next.js o React, manejando la instalación, configuración y extensión de temas personalizados. Se utiliza al agregar Tailwind a proyectos TypeScript existentes o al establecer patrones de estilizado de componentes con seguridad de tipos. La habilidad también ayuda a personalizar temas de Tailwind para sistemas de diseño y a configurar plugins o extensiones.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-tailwind-typescript

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación


name: setup-tailwind-typescript description: > Next.jsまたはReactプロジェクトでTailwind CSSとTypeScriptを設定します。 インストール、設定、カスタムテーマの拡張、コンポーネントパターン、 型安全なスタイリングユーティリティを扱います。既存のTypeScriptプロジェクトに Tailwind CSSを追加するとき、プロジェクトのデザインシステム向けにTailwind テーマをカスタマイズするとき、型安全なコンポーネントスタイリングパターンを セットアップするとき、またはTailwindプラグインや拡張機能を設定するときに使用します。 locale: ja source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: web-dev complexity: basic language: TypeScript tags: tailwind, typescript, css, styling, configuration

TypeScriptでTailwind CSSをセットアップ

カスタムテーマ、ユーティリティ、型安全なパターンを持つTypeScriptプロジェクトにTailwind CSSを設定します。

使用タイミング

  • 既存のTypeScriptプロジェクトにTailwind CSSを追加するとき
  • プロジェクトのデザインシステム向けにTailwindテーマをカスタマイズするとき
  • 型安全なコンポーネントスタイリングパターンをセットアップするとき
  • Tailwindプラグインや拡張機能を設定するとき

入力

  • 必須: TypeScriptプロジェクト(Next.js、Vite、またはスタンドアロンReact)
  • オプション: デザインシステムトークン(色、スペーシング、フォント)
  • オプション: 含めるTailwindプラグイン

手順

ステップ1: Tailwind CSSのインストール

npm install -D tailwindcss @tailwindcss/postcss postcss

Next.jsの場合(まだ含まれていない場合):

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

期待結果: tailwindcsspostcssautoprefixerが開発依存関係としてインストールされます。Next.jsの場合、npx tailwindcss init -pによりtailwind.config.tspostcss.config.jsが生成されます。

失敗時: npx tailwindcss initが失敗する場合は、まずnpm install -D tailwindcssでTailwindをインストールして再試行してください。モノリポを使用している場合は、ワークスペースのルートではなくアプリのルートディレクトリからコマンドを実行してください。

ステップ2: tailwind.config.tsの設定

import type { Config } from "tailwindcss";

const config: Config = {
  content: [
    "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
    "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
    "./src/app/**/*.{js,ts,jsx,tsx,mdx}",
  ],
  theme: {
    extend: {
      colors: {
        primary: {
          50: "#eff6ff",
          100: "#dbeafe",
          500: "#3b82f6",
          600: "#2563eb",
          700: "#1d4ed8",
          900: "#1e3a5f",
        },
        secondary: {
          500: "#6366f1",
          600: "#4f46e5",
        },
      },
      fontFamily: {
        sans: ["Inter", "system-ui", "sans-serif"],
        mono: ["JetBrains Mono", "monospace"],
      },
      spacing: {
        "18": "4.5rem",
        "88": "22rem",
      },
    },
  },
  plugins: [],
};

export default config;

期待結果: tailwind.config.tscontent配列がプロジェクトのファイル位置と一致し、theme.extendにカスタム色とフォントが設定され、Configインポートで適切なTypeScript型付けがされています。

失敗時: カスタムクラスがレンダリングされない場合は、contentパスが実際のディレクトリ構造と一致するか確認してください。パスはプロジェクトルートからの相対的なglobパターンです。パスが欠けている場合、Tailwindはそれらのファイルのクラス使用をスキャンしません。

ステップ3: グローバルスタイルのセットアップ

src/app/globals.cssを編集します:

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  html {
    @apply antialiased;
  }

  body {
    @apply bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-100;
  }
}

@layer components {
  .btn-primary {
    @apply bg-primary-600 text-white px-4 py-2 rounded-lg
           hover:bg-primary-700 focus:outline-none focus:ring-2
           focus:ring-primary-500 focus:ring-offset-2
           transition-colors duration-200;
  }
}

期待結果: globals.cssに3つのTailwindディレクティブ(@tailwind base@tailwind components@tailwind utilities)とカスタムベースおよびコンポーネントレイヤースタイルが含まれています。ファイルはルートレイアウトでインポートされています。

失敗時: スタイルが適用されない場合は、globals.csslayout.tsx(またはPages Routerの_app.tsx)でインポートされているか確認してください。Tailwindディレクティブが存在し、コメントアウトされていないことを確認してください。

ステップ4: 型安全なユーティリティヘルパーの作成

src/lib/cn.tsを作成します:

import { type ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";

export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs));
}

依存関係のインストール:

npm install clsx tailwind-merge

コンポーネントでの使用:

import { cn } from "@/lib/cn";

interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
  variant?: "primary" | "secondary" | "outline";
}

export function Button({ className, variant = "primary", ...props }: ButtonProps) {
  return (
    <button
      className={cn(
        "px-4 py-2 rounded-lg font-medium transition-colors",
        variant === "primary" && "bg-primary-600 text-white hover:bg-primary-700",
        variant === "secondary" && "bg-secondary-500 text-white hover:bg-secondary-600",
        variant === "outline" && "border border-gray-300 hover:bg-gray-50",
        className
      )}
      {...props}
    />
  );
}

期待結果: src/lib/cn.tscn()関数をエクスポートします。clsxtailwind-mergeが依存関係としてインストールされています。コンポーネントがcn()を使って競合なしにクラス名をマージします。

失敗時: clsxまたはtailwind-mergeが見つからない場合はnpm install clsx tailwind-mergeを実行してください。TypeScriptがcn.tsで型エラーを報告する場合は、ClassValue型がclsxからインポートされているか確認してください。

ステップ5: ダークモードサポートの追加

tailwind.config.tsを更新します:

const config: Config = {
  darkMode: "class", // システム設定の場合は"media"
  // ... 残りの設定
};

トグルの実装:

"use client";
import { useEffect, useState } from "react";

export function ThemeToggle() {
  const [dark, setDark] = useState(false);

  useEffect(() => {
    document.documentElement.classList.toggle("dark", dark);
  }, [dark]);

  return (
    <button onClick={() => setDark(!dark)}>
      {dark ? "Light" : "Dark"} Mode
    </button>
  );
}

期待結果: ダークモードがライトとダークテーマ間で正しく切り替わります。darkクラスが<html>要素に適用され、dark:プレフィックス付きのユーティリティクラスが反応します。

失敗時: ダークモードが切り替わらない場合は、tailwind.config.tsdarkMode: "class"が設定されているか確認してください。darkクラスが<body>ではなく<html>要素に切り替えられていることを確認してください。システム設定モードの場合はdarkMode: "media"を使用してください。

ステップ6: プラグインの追加(オプション)

npm install -D @tailwindcss/typography @tailwindcss/forms
// tailwind.config.ts
import typography from "@tailwindcss/typography";
import forms from "@tailwindcss/forms";

const config: Config = {
  // ...
  plugins: [typography, forms],
};

期待結果: プラグインが開発依存関係としてインストールされ、tailwind.config.tsplugins配列に登録されています。プラグインが提供するクラス(typographyからのprose、formsからのスタイル付きフォーム要素など)がコンポーネントで使用可能です。

失敗時: プラグインクラスがレンダリングされない場合は、プラグインがインストールされ(npm ls @tailwindcss/typography)、plugins配列に追加されているか確認してください。設定変更後は開発サーバーを再起動してください。

バリデーション

  • Tailwindクラスがブラウザで正しくレンダリングされる
  • カスタムテーマ値(色、フォント、スペーシング)が機能する
  • cn()ユーティリティが競合なしにクラスをマージする
  • ダークモードが正しく切り替わる
  • TypeScriptが設定やコンポーネントでエラーを表示しない
  • 本番ビルドで未使用のスタイルが削除される

よくある落とし穴

  • コンテンツパスの欠落: クラスがレンダリングされない場合は、設定のcontent配列がファイルの場所と一致するか確認してください
  • クラスの競合: 競合するユーティリティクラスを防ぐためにtailwind-mergecn()経由)を使用してください
  • カスタム値が機能しない: カスタム値が(デフォルトを置き換える)テーマルートではなくextendの下にあることを確認してください
  • ダークモードが切り替わらない: darkMode設定とdarkクラスが<body>ではなく<html>にあることを確認してください

関連スキル

  • scaffold-nextjs-app - Tailwind設定前のプロジェクトセットアップ
  • deploy-to-vercel - スタイル付きアプリケーションのデプロイ

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/ja/skills/setup-tailwind-typescript
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

llamaguard

Otro

LlamaGuard es el modelo de Meta de 7-8B parámetros para moderar las entradas y salidas de LLM en seis categorías de seguridad como violencia y discurso de odio. Ofrece una precisión del 94-95% y puede implementarse usando vLLM, Hugging Face o Amazon SageMaker. Utiliza esta skill para integrar fácilmente filtrado de contenido y barreras de seguridad en tus aplicaciones de IA.

Ver habilidad

cost-optimization

Otro

Esta Skill de Claude ayuda a los desarrolladores a optimizar los costes en la nube mediante el ajuste de tamaño de recursos, estrategias de etiquetado y análisis de gastos. Proporciona un marco para reducir los gastos en la nube e implementar una gobernanza de costes en AWS, Azure y GCP. Úsala cuando necesites analizar los costes de infraestructura, ajustar el tamaño de los recursos o cumplir con restricciones presupuestarias.

Ver habilidad

quantizing-models-bitsandbytes

Otro

Esta habilidad cuantiza LLMs a precisión de 8 o 4 bits utilizando bitsandbytes, logrando una reducción de memoria del 50-75% con pérdida mínima de precisión. Es ideal para ejecutar modelos más grandes en memoria GPU limitada o para acelerar la inferencia, admitiendo formatos como INT8, NF4 y FP4. La habilidad se integra con HuggingFace Transformers y permite entrenamiento QLoRA y optimizadores de 8 bits.

Ver habilidad

dispatching-parallel-agents

Otro

Esta Skill de Claude despliega múltiples agentes para investigar y solucionar 3 o más problemas independientes de forma concurrente. Está diseñada para escenarios que involucran fallos no relacionados que pueden resolverse sin estado compartido o dependencias. Su capacidad principal es la resolución paralela de problemas, asignando un agente por cada dominio problemático independiente para maximizar la eficiencia.

Ver habilidad