Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

frontend-tailwind-best-practices

コンポーネントのスタイリングやレイアウト構築、CSSクラスの管理など、フロントエンド開発でTailwind CSSを使用する際のパターンとコーディング規約を提供します。Tailwindのクラス記述やデザインの一貫性を保ちたいときに活用してください。

description の原文を見る

Tailwind CSS patterns and conventions for frontend apps. Use when writing component styles, layouts, or working with CSS classes.

SKILL.md 本文

Tailwind CSS ベストプラクティス

フロントエンドアプリケーション向けのスタイリングパターンと規約です。レイアウトユーティリティ、アフォーダンス、カラースキーム、レスポンシブデザイン、className処理を網羅した10のルールが含まれています。

適用する場合

以下の場面で参照してください:

  • Tailwindを使用したコンポーネントスタイリング
  • レイアウト作成(スタック、グリッド、センタリング)
  • レスポンシブデザインの実装
  • カラースキームの操作
  • classNameプロップのマージ

ルール一覧

レイアウトユーティリティ (重要)

layout-stack-utilities - @rules/layout-stack-utilities.md

flexクラスの代わりにカスタムスタックユーティリティを使用します。

// 悪い例
<div className="flex flex-col gap-4">
<div className="flex flex-row gap-4">

// 良い例
<div className="v-stack gap-4">
<div className="h-stack gap-4">

利用可能なユーティリティ:

  • v-stack - 垂直スタック(flexコラム)
  • h-stack - 水平スタック(flexロー)
  • v-stack-reverse - 逆順の垂直スタック
  • h-stack-reverse - 逆順の水平スタック
  • z-stack - 重なるスタック(グリッドベース、子要素を互いに重ねてセンタリング)
  • center - コンテンツを水平・垂直にセンタリング
  • spacer - 利用可能なスペースを埋める柔軟なスペーサー
  • circle - アスペクト比1/1の完全な円形

layout-prefer-gaps - @rules/layout-prefer-gaps.md

子要素のマージンの代わりに親要素にgap-*を使用します。

// 悪い例
<div>
  <Item className="mb-4" />
  <Item className="mb-4" />
</div>

// 良い例
<div className="flex flex-col gap-4">
  <Item />
  <Item />
</div>

layout-responsive-stacks - @rules/layout-responsive-stacks.md

ブレークポイントでレイアウト方向を切り替えます。

// モバイル: 垂直、デスクトップ: 水平
<div className="v-stack lg:h-stack gap-4">
  <main className="grow">...</main>
  <aside className="shrink-0 lg:w-80">...</aside>
</div>

// モバイル: 水平、デスクトップ: 垂直
<div className="h-stack md:v-stack">

カラースキーム (重要)

color-schemes - @rules/color-schemes.md

カスタムdarkバリアントを備えたクラスベースのカラースキームを使用します。

<button className="rounded-full bg-gray-900 px-4 py-2 text-white dark:bg-gray-100 dark:text-gray-900">
  Toggle
</button>

className処理 (重要)

classname-cn-utility - @rules/classname-cn-utility.md

コンポーネント内でclassNameをマージする際には常にcn()を使用します。

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

function Button({ className, variant }: Props) {
  return (
    <button
      className={cn(
        "base-classes",
        {
          "variant-primary": variant === "primary",
          "variant-secondary": variant === "secondary",
        },
        className, // 外部のclassNameは常に最後
      )}
    />
  );
}

classname-prop-types - @rules/classname-prop-types.md

classNameプロップに適切な型を使用します。

import type { ClassName, ClassNameRecord } from "~/lib/cn";

// 単一要素
type Props = {
  className?: ClassName;
};

// 複数要素
type Props = {
  className?: ClassNameRecord<"root" | "label" | "input">;
};

// 使用例
<Input className={{ root: "w-full", label: "font-bold" }} />;

アフォーダンス (高)

affordance-classes - @rules/affordance-classes.md

要素に依存しないビジュアルパターンを定義し、ユーティリティと組み合わせます。

<label className="ui-button" htmlFor="document-upload">
  Choose file
</label>

レスポンシブデザイン (中)

responsive-breakpoints - @rules/responsive-breakpoints.md

Tailwindのデフォルトと共にレスポンシブプレフィックスを使用します。

// 標準ブレークポイント (min-width)
<div className="px-4 md:px-8 lg:px-12">

// 標準ブレークポイントで表示/非表示を切り替え
<div className="hidden md:block">デスクトップのみ</div>
<div className="md:hidden">モバイルのみ</div>

responsive-text - @rules/responsive-text.md

テキストをレスポンシブにスケーリングします。

// レスポンシブなフォントサイズ
<h1 className="text-2xl md:text-3xl lg:text-4xl">

// テキストに合わせたレスポンシブ行の高さ
<p className="text-sm leading-5 md:text-base md:leading-6">

responsive-capabilities - @rules/responsive-capabilities.md

デバイスラベルではなく入力機能(ポインタ/ホバー)に基づいて設計します。

<button className="h-10 w-10 pointer-coarse:h-12 pointer-coarse:w-12">
  <Icon />
</button>

アンチパターン

しないことすること
flex flex-colv-stack
flex flex-rowh-stack
flex items-center justify-centercenter
bg-gray-100bg-neutral-100
bg-[#hex]デザイントークンを使用
cn()なしのclassName="..."cn("...", className)
レスポンシブ用のインラインstyleTailwindプレフィックス

主要ファイル

ファイル用途
tailwind.config.js設定、カスタムユーティリティ、色
app/styles/global.cssカラースキームのCSS変数
app/styles/tailwind.css追加ユーティリティ
app/utils/cn.tsclassNameマージユーティリティ

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
sergiodxa
リポジトリ
sergiodxa/agent-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/sergiodxa/agent-skills / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: sergiodxa · sergiodxa/agent-skills · ライセンス: MIT