flowkit-naming について
flowkit-namingは、WebflowプロジェクトにFlowKit CSSの命名規則を適用するスキルです。Webflow Designerツールで既存クラスを監査し、命名を提案したうえで、確認後にクラスやスタイルを適用します。
主な機能
- 01既存クラス名の監査
- 02FlowKit v2の命名提案
- 03コンポーネントとユーティリティクラスの整理
- 04Webflowツールでのスタイル作成
- 05ページ要素へのクラス適用
活用シーン
- 01ページ内の命名の不統一を確認
- 02新しいコンポーネントのクラス名を計画
- 03既存クラスをFlowKitに合わせて改修
MCP 対応
Webflowの操作には、ページや要素の確認、スタイル作成を含め、Webflow MCPツールを使用する必要があります。利用にはWebflow Designerへの接続が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ webflow/ webflow-skills --skill flowkit-namingインストール後、Claude Code で/flowkit-namingを入力して読み込まれたか確認します。
詳細
Flowkit の命名システム
Webflow Designer ツールを使用して、Webflow プロジェクトに FlowKit の CSS 命名規則を適用します。
重要な注意事項
すべての操作には、必ず Webflow MCP ツールを使用してください。
- 開始前にベストプラクティスを確認するには、Webflow MCP の
webflow_guide_toolを使用します - 対象サイトを特定するには、Webflow MCP の
data_sites_toolをアクションlist_sitesで使用します - 現在のページの取得とページの切り替えには、Webflow MCP の
de_page_toolを使用します - 要素の選択と現在のクラスの確認には、Webflow MCP の
element_toolを使用します - FlowKit に準拠したスタイルの作成と更新には、Webflow MCP の
style_toolを使用します - サポートされているスタイルプロパティを理解するには、Webflow MCP の
de_learn_more_about_stylesを使用します - Webflow の操作には、他のツールや方法を使用しないでください
- すべてのツール呼び出しには、必須の
contextパラメーターを含めてください(第三者視点で15~25語) - Designer への接続が必要です:このスキルを使用するには、ユーザーが Webflow Designer に接続している必要があります
手順
フェーズ1:調査とセットアップ
- タスクを特定します:ユーザーが次のどれを行うのかを確認します。
- 新しいコンポーネントクラスを作成する
- 既存のクラス名を監査する
- ページセクション全体を構築する
- FlowKit に準拠していないクラスを FlowKit にリファクタリングする
- Designer に接続します:Webflow Designer が開いていて、接続されていることを確認します
- 現在のページを取得します:Webflow MCP の
de_page_toolを使用して、現在作業中のページを特定します - 対象範囲を確認します:対象とする要素またはセクションを明確にします
フェーズ2:分析(既存の内容を監査する場合)
- すべての要素を取得します:Webflow MCP の
element_toolを使用して、現在のページの要素を取得します - クラスを抽出します:現在適用されているクラス名をすべて特定します
- 問題を分類します:
fk-プレフィックスがない- 大文字・小文字が不適切(大文字または大文字と小文字が混在)
- 区切り文字が不適切(ハイフンの代わりにアンダースコアを使用)
- セマンティックでない命名
- コンポーネント構造に一貫性がない
- 監査レポートを作成します:現在の名前と、FlowKit に準拠した推奨名を示します
フェーズ3:候補の生成
- FlowKit のパターンを適用します:FlowKit v2 の規則に従ってクラス名を生成します
- 種類ごとに構成します:
- コンポーネントのラッパー:
fk-[component] - 子要素:
fk-[component]-[element] - 状態修飾子:
is-[state]を含むコンボクラス - レイアウトユーティリティ:
fk-flex、fk-grid、fk-stack - 余白ユーティリティ:
fk-space-[size]、fk-py-[size]、fk-px-[size] - タイポグラフィユーティリティ:
fk-text-[style]
- コンポーネントのラッパー:
- 候補を検証します:すべての候補が FlowKit の規則に従っていることを確認します
- プレビューを表示します:推奨クラスを含む階層構造を表示します
フェーズ4:適用(ユーザーが確認した場合)
- スタイルを作成します:Webflow MCP の
style_toolを使用して、FlowKit に準拠した新しいクラススタイルを作成します - 要素を更新します:Webflow MCP の
element_toolを使用して、要素にクラスを適用します - バッチで処理します:要素が多い場合は、10~15個ずつのグループに分けて処理します
- 進捗を表示します:更新中の要素を表示します
フェーズ5:検証と報告
- 適用を検証します:クラスが正しく適用されたことを確認します
- レポートを作成します:作成・更新した内容を示します
- ドキュメントを提供します:使用した FlowKit の構造について説明します
- 次のステップを提案します:実装する追加の FlowKit パターンを提案します
FlowKit 命名リファレンス
基本的な命名パターン
| パターン | 目的 | 例 |
|---|---|---|
fk-[component] | コンポーネントのラッパー(基本クラス) | fk-card、fk-nav、fk-hero |
fk-[component]-[element] | コンポーネント内の子要素 | fk-card-title、fk-nav-link |
fk-[component].[modifier] | コンボクラスの修飾子(状態・バリアント) | fk-card.is-featured |
fk-text-[style] | タイポグラフィユーティリティ | fk-text-xl、fk-text-bold |
fk-flex / fk-grid | レイアウトユーティリティ | fk-flex-center、fk-grid-3 |
fk-space-[size] | 余白ユーティリティ | fk-space-md、fk-py-lg |
is-[state] | 状態修飾子(コンボ) | is-active、is-hidden、is-disabled |
レイアウトユーティリティ
fk-section Section wrapper with padding
fk-container Max-width container (centered)
fk-flex Flexbox container
fk-flex-center Centered flex (both axes)
fk-flex-between Space-between flex
fk-flex-around Space-around flex
fk-flex-col Flex column direction
fk-grid Grid container (base)
fk-grid-2 2-column grid
fk-grid-3 3-column grid
fk-grid-4 4-column grid
fk-grid-6 6-column grid
fk-stack Vertical stack (gap between items)
fk-row Horizontal row
fk-wrap Flex wrap enabled
タイポグラフィユーティリティ
fk-text-xs Extra small text (12px)
fk-text-sm Small text (14px)
fk-text-md Medium text (16px - default)
fk-text-lg Large text (18px)
fk-text-xl Extra large text (24px)
fk-text-2xl 2x large text (32px)
fk-text-3xl 3x large text (48px)
fk-text-bold Bold weight (700)
fk-text-semibold Semibold weight (600)
fk-text-medium Medium weight (500)
fk-text-light Light weight (300)
fk-text-center Center aligned
fk-text-left Left aligned
fk-text-right Right aligned
fk-text-uppercase Uppercase transform
fk-text-lowercase Lowercase transform
fk-text-capitalize Capitalize transform
スペーシングユーティリティ
fk-space-xs 4px spacing
fk-space-sm 8px spacing
fk-space-md 16px spacing (default)
fk-space-lg 24px spacing
fk-space-xl 32px spacing
fk-space-2xl 48px spacing
fk-space-3xl 64px spacing
Directional Spacing:
fk-py-[size] Padding vertical (top + bottom)
fk-px-[size] Padding horizontal (left + right)
fk-pt-[size] Padding top
fk-pb-[size] Padding bottom
fk-pl-[size] Padding left
fk-pr-[size] Padding right
fk-my-[size] Margin vertical (top + bottom)
fk-mx-[size] Margin horizontal (left + right)
fk-mt-[size] Margin top
fk-mb-[size] Margin bottom
fk-ml-[size] Margin left
fk-mr-[size] Margin right
カラーユーティリティ
fk-bg-primary Primary background color
fk-bg-secondary Secondary background color
fk-bg-accent Accent background color
fk-bg-light Light background
fk-bg-dark Dark background
fk-text-primary Primary text color
fk-text-secondary Secondary text color
fk-text-muted Muted text color
ボーダーとビジュアルのユーティリティ
fk-rounded Border radius (default)
fk-rounded-sm Small border radius
fk-rounded-lg Large border radius
fk-rounded-full Fully rounded (pill/circle)
fk-border Border (1px solid)
fk-border-top Border top only
fk-border-bottom Border bottom only
fk-shadow Box shadow (default)
fk-shadow-sm Small shadow
fk-shadow-lg Large shadow
状態修飾子(コンボクラス)
is-active Active state (navigation, tabs)
is-hidden Hidden visibility
is-visible Visible visibility
is-disabled Disabled state
is-loading Loading state
is-error Error state
is-success Success state
is-primary Primary variant
is-secondary Secondary variant
is-featured Featured/highlighted variant
is-horizontal Horizontal layout variant
is-vertical Vertical layout variant
例
例 1:ヒーローセクションの作成
ユーザープロンプト:
Build a hero section with FlowKit naming
ステップ 1:分析
🎨 FlowKit Hero Section Structure
I'll create a hero section following FlowKit v2 conventions.
Structure:
fk-section (wrapper with padding)
└── fk-container (max-width container)
└── fk-hero (component wrapper)
├── fk-hero-content + fk-flex + fk-flex-col + fk-flex-center
│ ├── fk-hero-eyebrow + fk-text-sm + fk-text-uppercase + fk-mb-sm
│ ├── fk-hero-title + fk-text-3xl + fk-text-bold + fk-mb-md
│ ├── fk-hero-subtitle + fk-text-lg + fk-text-muted + fk-mb-lg
│ └── fk-hero-actions + fk-flex + fk-space-md
│ ├── fk-button.is-primary
│ └── fk-button.is-secondary
└── fk-hero-image + fk-rounded-lg
Total classes to create: 12 base classes + 2 combo classes
Ready to create these in Webflow Designer? (yes/no)
ステップ 2:ユーザーの確認後
🔄 Creating FlowKit Hero Classes...
Progress: ████████████████████ 100% (14/14 classes)
✅ Classes Created:
**Layout Classes:**
- ✅ fk-section - Section wrapper with padding
- ✅ fk-container - Max-width container
- ✅ fk-hero - Hero component wrapper
**Element Classes:**
- ✅ fk-hero-content - Hero content container
- ✅ fk-hero-eyebrow - Small label above title
- ✅ fk-hero-title - Main hero heading
- ✅ fk-hero-subtitle - Supporting text
- ✅ fk-hero-actions - Button container
- ✅ fk-hero-image - Hero image wrapper
**Utility Classes:**
- ✅ fk-flex, fk-flex-col, fk-flex-center
- ✅ fk-text-sm, fk-text-lg, fk-text-3xl
- ✅ fk-text-uppercase, fk-text-bold, fk-text-muted
- ✅ fk-mb-sm, fk-mb-md, fk-mb-lg
- ✅ fk-space-md, fk-rounded-lg
**Component Classes:**
- ✅ fk-button (with combo classes: is-primary, is-secondary)
---
📋 Usage Guide:
1. Create a Section element → Apply `fk-section`
2. Add Container inside → Apply `fk-container`
3. Add Div inside → Apply `fk-hero`
4. Build content structure following the hierarchy above
5. Use combo classes for button variants: `fk-button.is-primary`
🎉 Your FlowKit hero section structure is ready!
例 2:既存クラスの監査
ユーザープロンプト:
Check these classes: feature-card, FK-Button, fk_hero_title, cardTitle
回答:
📋 FlowKit Audit Report
Checking 4 classes against FlowKit v2 conventions...
---
## Issues Found: 4
### 1. `feature-card` ⚠️
**Issue:** Missing FlowKit prefix
**Reason:** All FlowKit classes must start with `fk-`
**Suggested:** `fk-feature-card` or `fk-card.is-feature`
**Fix:** Rename class to include `fk-` prefix
### 2. `FK-Button` ❌
**Issue:** Incorrect case (uppercase)
**Reason:** FlowKit uses lowercase only
**Suggested:** `fk-button`
**Fix:** Convert to lowercase: `fk-button`
### 3. `fk_hero_title` ❌
**Issue:** Wrong separator (underscore)
**Reason:** FlowKit uses hyphens, not underscores
**Suggested:** `fk-hero-title`
**Fix:** Replace underscores with hyphens
### 4. `cardTitle` ❌
**Issue:** Multiple violations
- Missing `fk-` prefix
- CamelCase instead of kebab-case
**Reason:** FlowKit requires `fk-` prefix and hyphen separation
**Suggested:** `fk-card-title`
**Fix:** Add prefix and convert to kebab-case
---
## FlowKit Naming Rules:
✅ **Correct patterns:**
- `fk-card` (component)
- `fk-card-title` (element)
- `fk-button.is-primary` (with modifier)
- `fk-text-xl` (utility)
❌ **Incorrect patterns:**
- `card` (no prefix)
- `FK-Card` (wrong case)
- `fk_card` (wrong separator)
- `cardTitle` (camelCase)
Would you like me to rename these classes in Webflow Designer? (yes/no)
例 3:カードコンポーネントの構築
ユーザープロンプト:
Create a product card component with FlowKit classes
回答:
🎨 FlowKit Product Card Component
Structure:
fk-card (base component)
├── fk-card-image-wrapper
│ └── fk-card-image + fk-rounded-lg
├── fk-card-badge + fk-text-xs + fk-text-uppercase + fk-bg-accent
├── fk-card-content + fk-space-md
│ ├── fk-card-category + fk-text-sm + fk-text-muted
│ ├── fk-card-title + fk-text-lg + fk-text-bold
│ ├── fk-card-description + fk-text-md
│ └── fk-card-price + fk-text-xl + fk-text-bold + fk-text-primary
└── fk-card-footer + fk-flex + fk-flex-between + fk-pt-md + fk-border-top
├── fk-card-rating + fk-flex + fk-space-xs
└── fk-button.is-primary + fk-text-sm
---
## Variants (Combo Classes):
### Featured Card
`fk-card.is-featured`
- Highlighted border/shadow
- Accent background
- Use for promoted products
### Horizontal Layout
`fk-card.is-horizontal`
- Side-by-side image/content
- Better for list views
- Image on left, content on right
### Compact Size
`fk-card.is-compact`
- Reduced padding
- Smaller text sizes
- Use in tight layouts
---
## Responsive Modifiers:
Desktop (default):
- `fk-grid-3` (3 cards per row)
Tablet:
- Add combo: `fk-grid-3.tablet-2`
Mobile:
- Add combo: `fk-grid-3.tablet-2.mobile-1`
---
Ready to create these classes? (yes/no)
例 4:FlowKit へのリファクタリング
ユーザープロンプト:
Refactor my navigation to use FlowKit naming
ステップ 1:現状の分析
🔍 Analyzing Current Navigation Classes...
Found 8 elements with non-FlowKit classes:
├── navbar → fk-nav
├── navbar-container → fk-nav-container
├── logo-wrapper → fk-nav-logo
├── menu → fk-nav-menu
├── menu-item → fk-nav-link
├── menu-item active → fk-nav-link.is-active
├── button-group → fk-nav-actions
└── btn-primary → fk-button.is-primary
---
## Migration Plan:
**Phase 1: Create FlowKit Classes** (8 classes)
- Create all `fk-nav-*` classes
- Create utility classes: `fk-flex`, `fk-flex-between`, `fk-flex-center`
- Create `fk-button` with `is-primary` modifier
**Phase 2: Update Elements** (8 elements)
- Replace old classes with new FlowKit classes
- Apply combo classes where needed
- Preserve existing styles
**Phase 3: Cleanup** (optional)
- Old classes can be removed after verification
- Keep for now to maintain backwards compatibility
---
Proceed with migration? (yes/no)
ステップ 2:移行後
✅ Navigation Refactored to FlowKit
**Classes Created:** 8
**Elements Updated:** 8
**Time elapsed:** ~3 seconds
---
## Updated Structure:
fk-nav
├── fk-nav-container + fk-flex + fk-flex-between
│ ├── fk-nav-logo
│ ├── fk-nav-menu + fk-flex + fk-flex-center + fk-space-md
│ │ ├── fk-nav-link (x5)
│ │ └── fk-nav-link.is-active (current page)
│ └── fk-nav-actions + fk-flex + fk-space-sm
│ ├── fk-button.is-secondary
│ └── fk-button.is-primary
---
## Before → After:
| Old Class | New FlowKit Class |
|-----------|-------------------|
| navbar | fk-nav ✅ |
| navbar-container | fk-nav-container ✅ |
| logo-wrapper | fk-nav-logo ✅ |
| menu | fk-nav-menu ✅ |
| menu-item | fk-nav-link ✅ |
| menu-item active | fk-nav-link.is-active ✅ |
| button-group | fk-nav-actions ✅ |
| btn-primary | fk-button.is-primary ✅ |
---
🎉 Navigation is now FlowKit compliant!
**Next steps:**
- Test navigation on all breakpoints
- Verify active states work correctly
- Consider adding `fk-nav.is-transparent` for transparent header variant
- Consider adding `fk-nav.is-sticky` for sticky navigation
ガイドライン
フェーズ 1:重要な要件
FlowKit のプレフィックス規則:
- すべてのコンポーネントクラスと要素クラスは、
fk-で始める必要があります - 例外:状態修飾子は
is-プレフィックスを使用します(コンボクラスとして) - 例外:サードパーティ連携用のユーティリティクラスでは、プレフィックスを省略できます
大文字と小文字の区別:
- すべてのクラス名は小文字のみを使用します
- 大文字は一切使用しません
- キャメルケースやパスカルケースは使用しません
区切り文字の規則:
- 単語の区切りにはハイフン(
-)を使用します - アンダースコア(
_)は使用しません - スペースや特殊文字は使用しません
命名構造:
Component: fk-[component]
Element: fk-[component]-[element]
Sub-element: fk-[component]-[element]-[detail]
Utility: fk-[property]-[value]
State modifier: is-[state] (combo class only)
Responsive: .[breakpoint]-[value] (combo class)
フェーズ 2:コンポーネントの命名規則
コンポーネント名:
- 簡潔で意味が伝わる名前にします
- 一般的なウェブコンポーネントの用語を使用します:
card、nav、hero、footer - 過度に具体的な名前は避けます:
fk-product-feature-cardよりもfk-cardを優先します - バリエーションには修飾子を使用します:
fk-card-featuredではなくfk-card.is-featured
要素の階層:
- 親コンポーネント:
fk-card - 直接の子要素:
fk-card-[element](例:fk-card-title) - 深いネスト:3階層を超えないようにします
- 悪い例:
fk-card-content-section-text-wrapper - 良い例:
fk-card-content、fk-card-text
一般的なコンポーネントパターン:
カード:
fk-card
├── fk-card-image
├── fk-card-content
│ ├── fk-card-title
│ └── fk-card-text
└── fk-card-footer
ナビゲーション:
fk-nav
├── fk-nav-logo
├── fk-nav-menu
│ └── fk-nav-link
└── fk-nav-actions
ヒーロー:
fk-hero
├── fk-hero-content
│ ├── fk-hero-title
│ ├── fk-hero-subtitle
│ └── fk-hero-actions
└── fk-hero-media
フォーム:
fk-form
├── fk-form-group
│ ├── fk-form-label
│ └── fk-form-input
└── fk-form-actions
フェーズ 3:ユーティリティクラス
ユーティリティの命名:
- 形式:
fk-[property]-[value] - 例:
fk-text-lg、fk-space-md、fk-grid-3
スペーシングユーティリティ:
- Tシャツサイズを使用します:
xs、sm、md、lg、xl、2xl、3xl - 方向:
py(垂直)、px(水平)、pt(上)、pr(右)、pb(下)、pl(左) - マージンも同様です:
my、mx、mt、mr、mb、ml
タイポグラフィユーティリティ:
- サイズ:
fk-text-[xs|sm|md|lg|xl|2xl|3xl] - 太さ:
fk-text-[light|medium|semibold|bold] - 配置:
fk-text-[left|center|right] - 変換:
fk-text-[uppercase|lowercase|capitalize]
レイアウトユーティリティ:
- Flexbox:
fk-flex、fk-flex-col、fk-flex-center、fk-flex-between - グリッド:
fk-grid、fk-grid-2、fk-grid-3、fk-grid-4、fk-grid-6 - コンテナー:
fk-container、fk-section
フェーズ 4:状態修飾子(コンボクラス)
状態修飾子の規則:
- 常に
is-プレフィックスを付けたコンボクラスとして使用します - ベースクラスに加えて適用します
- 例:
<div class="fk-button is-primary">...</div>
一般的な状態:
is-active Currently active/selected
is-disabled Disabled interaction
is-hidden Hidden visibility
is-visible Visible (override hidden)
is-loading Loading state
is-error Error state
is-success Success state
is-primary Primary variant
is-secondary Secondary variant
is-tertiary Tertiary variant
is-featured Featured/highlighted
is-horizontal Horizontal layout
is-vertical Vertical layout
is-expanded Expanded state (accordions, dropdowns)
is-collapsed Collapsed state
Webflow でのコンボクラスの適用方法:
- 要素を選択します
- ベースクラスを追加します:
fk-button - コンボクラスを追加します:
is-primary - 要素には両方のクラスが適用されます:
fk-button is-primary - コンボクラスにスタイルを設定します:
.fk-button.is-primary { ... }
フェーズ 5:レスポンシブデザイン
レスポンシブ修飾子:
- FlowKit では、レスポンシブな動作にコンボクラスを使用します
- 形式:
.[breakpoint]-[value] - 例:
fk-grid-4.tablet-2.mobile-1
ブレークポイント:
Desktop (default): No modifier needed
Tablet: .tablet-[value]
Mobile: .mobile-[value]
レスポンシブグリッドの例:
Base: fk-grid-4 (4 columns on desktop)
+ Combo: .tablet-2 (2 columns on tablet)
+ Combo: .mobile-1 (1 column on mobile)
Result: <div class="fk-grid-4 tablet-2 mobile-1">
レスポンシブテキストの例:
Base: fk-text-3xl (48px on desktop)
+ Combo: .tablet-2xl (32px on tablet)
+ Combo: .mobile-xl (24px on mobile)
Result: <div class="fk-text-3xl tablet-2xl mobile-xl">
Phase 6: ベストプラクティス
必ず守ること:
- ✅ すべてのコンポーネントと要素に
fk-プレフィックスを使用します - ✅ 単語の区切りにはハイフンを使用します
- ✅ 小文字のみを使用します
- ✅ コンポーネント名は意味が明確で簡潔なものにします
- ✅ 修飾子と状態にはコンボクラスを使用します
- ✅ ユーティリティは自由に組み合わせます(
fk-flex fk-flex-center fk-space-md) - ✅ コンポーネントと要素の階層に従います
- ✅ ブレークポイントにはレスポンシブコンボクラスを使用します
絶対にしないこと:
- ❌ コンポーネントから
fk-プレフィックスを省略します - ❌ アンダースコアやスペースを使用します
- ❌ 大文字やキャメルケースを使用します
- ❌ 過度に具体的なクラス名を作成します
- ❌ 要素を3階層より深くネストします
- ❌ FlowKitをほかの命名システムと混在させます
- ❌ 単独の修飾子クラスを作成します(コンボクラスを使用します)
コンポーネントとユーティリティ:
次の場合はコンポーネントを使用します。
- 再利用可能なUIパターン(カード、ボタン、ナビゲーション)を構築する場合
- 意味的な意味が必要な場合
- サイト全体で複数のインスタンスを使用する場合
- 例:
fk-card、fk-nav、fk-hero
次の場合はユーティリティを使用します。
- 単一目的のスタイル(余白、タイポグラフィ、レイアウト)を適用する場合
- 新しいクラスを作成せずにすばやく調整する場合
- サイト全体で余白やサイズを統一する場合
- 例:
fk-text-lg、fk-space-md、fk-flex-center
ユーティリティの積み重ね: ユーティリティは自由に組み合わせられます。
<div class="fk-flex fk-flex-center fk-space-md fk-py-lg">
Content
</div>
コンポーネントとユーティリティの組み合わせ:
<div class="fk-card fk-shadow-lg fk-rounded-lg">
<div class="fk-card-content fk-space-lg">
<h3 class="fk-card-title fk-text-xl fk-text-bold">Title</h3>
</div>
</div>
Phase 7: よくある間違いと修正方法
間違い1:プレフィックスがない
❌ card, button, nav
✅ fk-card, fk-button, fk-nav
間違い2:大文字・小文字が正しくない
❌ FK-Card, fk-Button, Fk-nav
✅ fk-card, fk-button, fk-nav
間違い3:区切り文字が正しくない
❌ fk_card_title, fk.card.title
✅ fk-card-title
間違い4:キャメルケース/パスカルケース
❌ fkCardTitle, FkCardTitle
✅ fk-card-title
間違い5:修飾子を単独のクラスとして使用
❌ <div class="fk-button-primary">
✅ <div class="fk-button is-primary">
間違い6:ネストが深すぎる
❌ fk-hero-content-wrapper-section-title-text
✅ fk-hero-content, fk-hero-title
間違い7:名前が過度に具体的
❌ fk-product-feature-card-with-image-and-price
✅ fk-card (use combo: is-product)
間違い8:レスポンシブのパターンが正しくない
❌ fk-grid-3-tablet-2 (single class)
✅ fk-grid-3 tablet-2 (two classes)
Phase 8: FlowKitのバージョンに関する注意事項
FlowKit v2(現行):
- 新しい命名規則(ここに記載)
- レスポンシブコンボを備えた強化版グリッドシステム
- ユーティリティコレクションを拡充
- コンポーネントライブラリを改善
- 変数システムを改善
v2の主な変更点:
- すべてのコンポーネントで
fk-プレフィックスを標準化 - 状態修飾子(コンボクラス)用の
is-プレフィックスを導入 - レスポンシブコンボクラス(
.tablet-、.mobile-)を追加 - 余白のスケールを拡張(xsから3xlまで)
- より意味が明確なユーティリティ名
v1からの移行: ユーザーがv1のFlowKitクラスを使用している場合:
fk-プレフィックスがない箇所に追加します- 修飾子を
is-コンボクラスに変換します - レスポンシブクラスをコンボ形式に更新します
- 余白ユーティリティが新しいスケールに対応しているか確認します
Phase 9: パフォーマンスの最適化
クラスの作成:
- まず基本のコンポーネントクラスを作成します
- 次に要素クラスを作成します
- 最後にユーティリティクラスを作成します
style_toolは10~15クラスずつまとめて使用します
要素の更新:
- 要素を10~15個ずつ処理します
- 大規模なバッチでは進捗を表示します
- 要素が50個を超える場合は、バッチサイズを確認するようユーザーに尋ねます
Designerとの接続:
- 開始前に必ずDesignerとの接続を確認します
- 接続が失われた場合は一時停止し、再接続するようユーザーに尋ねます
- バッチ間で進捗を保存します
Phase 10: エラー処理
よくあるエラー:
1. Designerに接続されていない:
❌ Error: Cannot create classes - Designer not connected
Solution:
1. Open Webflow Designer
2. Open the target site
3. Connect to Designer in Claude Code
4. Retry operation
2. クラスがすでに存在する:
⚠️ Warning: Class 'fk-button' already exists
Options:
1. Skip creation (use existing)
2. Update existing class
3. Create with different name
3. クラス名が無効:
❌ Error: Class name 'fk-My Button' is invalid
Issues:
- Contains spaces
- Contains uppercase
Suggested: 'fk-my-button'
4. スタイルプロパティがサポートされていない:
⚠️ Warning: Property 'custom-property' not supported
This may be:
- Custom CSS property
- Webflow doesn't support via Designer API
- Typo in property name
Recommendation: Apply manually in Designer
エッジケース
ケース 1:サードパーティ連携クラス アニメーションやスライダーなどのサードパーティライブラリと連携する場合:
- サードパーティのクラスは分けておきます
- FlowKit のラッパーを追加します:
<div class="fk-slider"><div class="swiper">...</div></div> - サードパーティのクラスに FlowKit の命名規則を無理に適用しないでください
ケース 2:レガシーコードの移行 既存の大規模なサイトを移行する場合:
- まず FlowKit クラスを作成します
- 新しいセクションに適用します
- 古いセクションは段階的にリファクタリングします
- 下位互換性のため、両方のシステムを一時的に併用します
ケース 3:独自の命名要件 クライアントに既存の命名システムがある場合:
- FlowKit のメリットを説明します
- 比較できるように並べて提示します
- ハイブリッド方式を提案します:新しいコンポーネントには FlowKit を使用し、既存のものには従来のものを使い続けます
- または全面的にリファクタリングします(時間はかかりますが、長期的にはより効果的です)
ケース 4:コンポーネントライブラリとの競合 サイトで別のフレームワーク(Bootstrap、Tailwind)を使用している場合:
- FlowKit との併用は可能ですが、推奨されません
- メインとなるシステムを 1 つ選びます
- カスタムコンポーネントには FlowKit を使用します
- 既成コンポーネントには別のフレームワークを使用します
ケース 5:ユーティリティクラスの増えすぎ 1 つの要素にユーティリティクラスが多すぎる場合:
- 代わりにコンポーネントクラスの作成を検討します
- 例:
fk-flex fk-flex-center fk-space-md fk-py-lg fk-px-xl fk-rounded-lg fk-shadowの代わりに - これらのプロパティを組み込んだ
fk-panelを作成します
本番環境向けチェックリスト
FlowKit の実装を完了とする前に、次の項目を確認してください。
セットアップ:
- Webflow Designer に接続済み
- 対象サイトを特定済み
- 現在のページを確認済み
- ユーザーと範囲を定義済み
コンポーネント構造:
- すべてのコンポーネントが
fk-プレフィックスを使用している - コンポーネント階層が論理的である(最大 3 レベル)
- 要素名がセマンティックである
- モディファイアが
is-プレフィックス付きのコンボクラスを使用している
ユーティリティ:
- スペーシングユーティリティが T シャツサイズ(xs-3xl)を使用している
- タイポグラフィユーティリティがすべてのテキストスタイルを網羅している
- レイアウトユーティリティがフレックス/グリッドのニーズに対応している
- カラーユーティリティがブランドに沿っている
レスポンシブ対応:
- 主要なコンポーネント用にレスポンシブコンボクラスが定義されている
- ブレークポイントのモディファイアをテスト済み(タブレット、モバイル)
- グリッドシステムが適切に調整される
状態:
- 状態モディファイアが定義されている(is-active、is-disabled など)
- ホバー/フォーカス状態が正しく機能する
- アクティブ状態が適切にスタイリングされている
ドキュメント:
- コンポーネント構造を文書化済み
- ユーティリティクラスを一覧化済み
- レスポンシブ動作を説明済み
- 状態モディファイアを文書化済み
検証:
- すべてのクラスが命名規則に従っている
- 大文字が含まれていない
- アンダースコアが含まれていない
- すべてに適切なプレフィックスが付いている
パフォーマンス:
- クラスをまとめて作成している
- 大規模な操作では進捗を表示している
- 重複するクラスを作成していない
ユーザーエクスペリエンス:
- 明確なフィードバックを提供している
- 進捗インジケーターを表示している
- 成功を確認するメッセージを表示している
- 次のステップを提案している