Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Figma To Tailwind

ASecurity

Figma MCPで取得したデザイン変数をTailwind CSS標準クラスに変換する。Figma MCPのコード生成後やデザイン実装時に自動起動。

76 stars
0 votes
0 copies
1 views
Added 2/8/2026
developmenttypescriptfrontend

Works with

mcp

Security Analysis

A100/100

Scanned 2/12/2026

Install to Claude Code

$npx -y skills add majiayu000/claude-skill-registry --skill figma-to-tailwind --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Figma To Tailwind?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Figma To Tailwind
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-figma-to-tailwind/badge)](https://www.skillsdirectory.com/skills/majiayu000-figma-to-tailwind)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: figma-to-tailwind
description: Figma MCPで取得したデザイン変数をTailwind CSS標準クラスに変換する。Figma MCPのコード生成後やデザイン実装時に自動起動。
---

# Figma Variables → Tailwind CSS 変換スキル

このスキルは、Figma MCPで取得したデザイン変数(Variables)を、Tailwind CSS標準クラスに自動変換するためのガイドです。

## いつ使用するか

以下の状況で、このスキルを自動的に適用してください:

1. **Figma MCPでデザインを取得した後**
   - `mcp__figma-mcp__get_design_context`や`mcp__figma-mcp__get_variable_defs`を実行した直後
   - Figma MCPが生成したコードに`var(--spacing-*)`や`var(--width-*)`などの変数が含まれている場合

2. **デザイン実装中**
   - コンポーネントのスタイリング時
   - レイアウト調整時
   - Figma変数を使用しているコードを発見した場合

3. **コードレビュー時**
   - `px-[var(--spacing-4)]`のようなFigma変数の直接使用を発見した場合
   - インラインスタイルで`style={{ fontSize: 'var(--h4-font-size)' }}`のような記述を発見した場合

## 変換手順

### ステップ1: マッピングファイルを確認

`frontend/lib/figma-tailwind-map.ts`を参照して、Figma変数がTailwind標準クラスに変換可能か確認します。

```typescript
import {
  spacingMap,
  widthMap,
  heightMap,
  borderRadiusMap,
  typographyMap,
  figmaVarToTailwindClass,
  isStandardTailwindClass
} from '@/lib/figma-tailwind-map'
```

### ステップ2: 変換ルールの適用

#### スペーシング(spacing)

```typescript
// ❌ Figma MCPが生成したコード
<div className="px-[var(--spacing-4,16px)] py-[var(--spacing-2,8px)] gap-[var(--spacing-3,12px)]">

// ✅ Tailwind標準クラスに変換
<div className="px-4 py-2 gap-3">
```

**変換マッピング:**
- `spacing/1` → `1` (4px)
- `spacing/2` → `2` (8px)
- `spacing/3` → `3` (12px)
- `spacing/4` → `4` (16px)
- `spacing/1-5` → `1.5` (6px) ※カスタム
- `spacing/2-5` → `2.5` (10px) ※カスタム

#### サイズ(width/height)

```typescript
// ❌ Figma MCPが生成したコード
<div className="w-[var(--width-w-4,16px)] h-[var(--height-h-5,20px)]">

// ✅ Tailwind標準クラスに変換
<div className="w-4 h-5">
```

#### ボーダー半径(border-radius)

```typescript
// ❌ Figma MCPが生成したコード
<div className="rounded-[var(--border-radius-rounded-md,8px)]">

// ✅ Tailwind標準クラスに変換
<div className="rounded-md">
```

#### タイポグラフィ(typography)

```typescript
// ❌ Figma MCPが生成したコード(インラインスタイル)
<h1 style={{
  fontFamily: 'var(--h4-font-family)',
  fontSize: 'var(--h4-font-size)',
  fontWeight: 'var(--h4-font-weight)',
  lineHeight: 'var(--h4-line-height)',
}}>

// ✅ Tailwind標準クラスに変換
<h1 className="text-h4">

// または Tailwind標準で代用可能な場合
<p className="text-sm">  // body2と同等 (14px/20px)
<p className="text-base">  // body1と同等 (16px/24px)
```

**実装済みのカスタムクラス:**(tailwind.config.tsで定義済み)

- `text-h4`: 24px/32px/bold
- `text-h5`: 20px/28px/bold
- `text-title`: 18px/28px/bold
- `text-body1`: 16px/24px/normal
- `text-body2`: 14px/20px/normal
- `text-body3`: 12px/16px/normal

**注意**: 新規デザイン変換時は必ずFigma MCPのHEX/px値を確認し、既存クラスと比較すること。名前の類似性だけで判断しない。

### ステップ3: カラーの扱い

カラーは**Figma MCPから届くHEX値を確認**して、適切に変換します。

```typescript
// ❌ Figma独自変数の直接使用は禁止
<div className="bg-[var(--base-primary)]">
<div className="text-[var(--base-foreground)]">

// ✅ 正しい実装
// 1. まずFigmaのHEX値と既存のshadcn/ui変数を比較
//    --base-primary: #00a0e9 = --primary: #00a0e9 → 同じ色!
<div className="bg-primary text-primary-foreground">

// 2. shadcn/uiにない独自色の場合はtailwind.config.tsに追加
//    --base-dark-primary: #006cab → shadcn/uiにない
//    → tailwind.config.tsに 'dark-primary': '#006cab' を追加
<div className="text-dark-primary">
```

**重要な原則:**
- **名前の類似性だけで判断しない** - 必ずHEX値を確認する
- Figma MCPからはHEX形式で届くので、既存のshadcn/ui変数(HSL形式)と比較
- 同じ色なら既存の変数を使用(例: `bg-primary`)
- 異なる色ならtailwind.config.tsにカスタム定義を追加

### ステップ4: 標準にない値の対応

マッピングにない値を発見した場合:

1. **tailwind.config.tsに追加**
   ```typescript
   theme: {
     extend: {
       spacing: {
         '13': '52px',  // 新しいカスタム値
       }
     }
   }
   ```

2. **figma-tailwind-map.tsに追加**
   ```typescript
   export const spacingMap: Record<string, number | string> = {
     // ... 既存のマッピング
     'spacing/13': 13,  // 新しいマッピング
   }
   ```

3. **実装で使用**
   ```typescript
   <div className="px-13">
   ```

## 禁止事項

### ❌ Figma変数の直接使用

```typescript
// 禁止
<div className="px-[var(--spacing-4)]">
<div className="gap-[var(--spacing-2,8px)]">
<div style={{ width: 'var(--width-w-4)' }}>
```

### ❌ カスタムユーティリティクラス

```css
/* globals.cssに以下を追加するのは禁止 */
.w-spacing-2 {
  width: var(--spacing-2);
}

.header-base {
  height: var(--height-h-16);
}
```

### ❌ インラインスタイルの乱用

```typescript
// 特別な理由がない限り禁止
<div style={{
  fontSize: 'var(--h4-font-size)',
  padding: 'var(--spacing-4)'
}}>
```

## 実装例

### Before(Figma MCPが生成)

```tsx
export default function Main() {
  return (
    <div className="bg-[var(--base/background-gray,#f6f8f9)] border-[var(--base/border,#edeef1)] border-b-0 border-l-[var(--border-width/border,1px)]">
      <div className="bg-[var(--base/background,#ffffff)] h-[64px] px-[var(--spacing/4,16px)] py-0">
        <div className="gap-[var(--spacing/2,8px)]">
          <div className="rounded-[var(--border-radius/rounded-md,8px)] size-[28px]">
            <Icon className="size-[16px]" />
          </div>
          <div className="gap-[var(--spacing/3,12px)]">
            <div style={{
              fontFamily: 'var(--h5-font-family)',
              fontSize: 'var(--h5-font-size)',
              fontWeight: 'var(--h5-font-weight)',
              lineHeight: 'var(--h5-line-height)',
            }}>
              サポート
            </div>
          </div>
        </div>
      </div>
    </div>
  )
}
```

### After(Tailwind標準クラスに変換)

```tsx
export default function Main() {
  return (
    <div className="bg-muted border border-l border-b-0">
      <div className="bg-background h-16 px-4 py-0">
        <div className="gap-2">
          <div className="rounded-md size-7">
            <Icon className="size-4" />
          </div>
          <div className="gap-3">
            <div className="text-h5">
              サポート
            </div>
          </div>
        </div>
      </div>
    </div>
  )
}
```

## チェックリスト

変換時に以下を確認してください:

- [ ] `var(--spacing-*)`を`px-*`, `py-*`, `gap-*`等に変換
- [ ] `var(--width-*)`を`w-*`に変換
- [ ] `var(--height-*)`を`h-*`に変換
- [ ] `var(--border-radius-*)`を`rounded-*`に変換
- [ ] インラインスタイルのフォント指定を`text-*`クラスに変換
- [ ] カラーはCSS変数のまま保持
- [ ] 標準にない値は`tailwind.config.ts`に追加
- [ ] カスタムユーティリティクラスを作成していない

## 参照ドキュメント

- **変換マッピング**: `frontend/lib/figma-tailwind-map.ts`
- **Tailwind設定**: `frontend/tailwind.config.ts`
- **開発ガイド**: `documents/development/coding-rules/frontend-rules.md` セクション12

## 注意事項

- このスキルは**Figma MCPのコード生成後に自動的に適用**されるべきです
- 変換後のコードは必ずLintとBuildチェックを行ってください
- 疑問がある場合は、必ず`figma-tailwind-map.ts`を参照してください
- カラー定義は例外として、常にCSS変数を使用してください

Attribution

majiayu000majiayu000
View sourceMore from majiayu000 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284722 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →