npx skills add ...
npx skills add webflow/webflow-skills --skill flowkit-naming
Apply Flowkit CSS naming system in Webflow. Use when creating classes, auditing existing naming, or building new components following Flowkit conventions. Flowkit is Webflow's official CSS framework with utility-first approach. Runs headlessly against a page ID — no Designer connection required, except for the optional live-canvas conveniences (current page, interactive element selection).
npx skills add webflow/webflow-skills --skill flowkit-naming
Apply FlowKit CSS naming conventions in Webflow projects using Webflow Designer tools.
ALWAYS use Webflow MCP tools for all operations:
webflow_guide_tool to get best practices before startingdata_sites_tool with action list_sites to identify the target sitedata_pages_tool with action list_pages to find the target page by name or slug — headless, no Designer neededdata_element_tool to inspect current classes and apply new ones — headless, pass the page's ID directlydata_style_tool to create and update FlowKit-compliant styles — headlesswebflow_guide_tool to understand supported style propertiesdesigner_tool only if the user wants to work with whatever page is currently open in Designer, or wants to interactively select an element on the canvascontext parameter (15-25 words, third-person perspective)designer_tool conveniences above.data_pages_tool with action list_pages to find the page by name or slug — no Designer connection needed. If the user wants to work with whatever page they currently have open in Designer, use designer_tool with action get_current_page instead.data_element_tool to retrieve elements from the target pagefk- prefixfk-[component]fk-[component]-[element]is-[state]fk-flex, fk-grid, fk-stackfk-space-[size], fk-py-[size], fk-px-[size]fk-text-[style]data_style_tool to create new FlowKit-compliant class stylesdata_element_tool to apply classes to elements| Pattern | Purpose | Example |
|---|---|---|
fk-[component] | Component wrapper (base class) | fk-card, fk-nav, fk-hero |
fk-[component]-[element] | Child element within component | fk-card-title, fk-nav-link |
fk-[component].[modifier] | Combo class modifier (state/variant) | fk-card.is-featured |
fk-text-[style] | Typography utility | fk-text-xl, fk-text-bold |
fk-flex / fk-grid | Layout utilities | fk-flex-center, fk-grid-3 |
fk-space-[size] | Spacing utilities | fk-space-md, fk-py-lg |
is-[state] | State modifiers (combo) | is-active, is-hidden, is-disabled |
User prompt:
Step 1: Analysis
Step 2: After user confirms
User prompt:
Response:
User prompt:
Response:
User prompt:
Step 1: Current Analysis
Step 2: After Migration
FlowKit Prefix Rule:
fk-is- prefix (as combo classes)Case Sensitivity:
Separator Rule:
-) to separate words_)Naming Structure:
Component Names:
card, nav, hero, footerfk-card over fk-product-feature-cardfk-card.is-featured not fk-card-featuredElement Hierarchy:
fk-cardfk-card-[element] (e.g., fk-card-title)fk-card-content-section-text-wrapperfk-card-content, fk-card-textCommon Component Patterns:
Cards:
Navigation:
Hero:
Forms:
Utility Naming:
fk-[property]-[value]fk-text-lg, fk-space-md, fk-grid-3Spacing Utilities:
xs, sm, md, lg, xl, 2xl, 3xlpy (vertical), px (horizontal), pt (top), pr (right), pb (bottom), pl (left)my, mx, mt, mr, mb, mlTypography Utilities:
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]Layout Utilities:
fk-flex, fk-flex-col, fk-flex-center, fk-flex-betweenfk-grid, fk-grid-2, fk-grid-3, fk-grid-4, fk-grid-6fk-container, fk-sectionState Modifier Rules:
is- prefix<div class="fk-button is-primary">...</div>Common States:
Applying Combo Classes in Webflow:
fk-buttonis-primaryfk-button is-primary.fk-button.is-primary { ... }Responsive Modifiers:
.[breakpoint]-[value]fk-grid-4.tablet-2.mobile-1Breakpoints:
Responsive Grid Example:
Responsive Text Example:
Always:
fk- prefix for all components and elementsfk-flex fk-flex-center fk-space-md)Never:
fk- prefix from componentsComponent vs Utility:
Use components when:
fk-card, fk-nav, fk-heroUse utilities when:
fk-text-lg, fk-space-md, fk-flex-centerUtility Stacking: Utilities can be freely combined:
Component + Utility Combo:
Mistake 1: Missing Prefix
Mistake 2: Wrong Case
Mistake 3: Wrong Separator
Mistake 4: camelCase/PascalCase
Mistake 5: Modifier as Standalone Class
Mistake 6: Too Much Nesting
Mistake 7: Overly Specific Names
Mistake 8: Wrong Responsive Pattern
FlowKit v2 (Current):
Key v2 Changes:
fk- prefix across all componentsis- prefix for state modifiers (combo classes).tablet-, .mobile-)Migration from v1: If user has v1 FlowKit classes:
fk- prefix where missingis- combo classesClass Creation:
data_style_tool in batches of 10-15 classesElement Updates:
Designer Connection (only if using the optional designer_tool convenience):
data_element_tool, data_style_tool) never need Designer — this only applies if the user asked to work with the page currently open in Designer, or to interactively select elementsdesigner_tool actionCommon Errors:
1. Designer Not Connected (only relevant when using designer_tool):
2. Class Already Exists:
3. Invalid Class Name:
4. Style Property Not Supported:
Case 1: Third-Party Integration Classes If integrating with third-party libraries (e.g., animations, sliders):
<div class="fk-slider"><div class="swiper">...</div></div>Case 2: Legacy Code Migration When migrating large existing site:
Case 3: Custom Naming Requirements If client has existing naming system:
Case 4: Component Library Conflicts If site uses another framework (Bootstrap, Tailwind):
Case 5: Utility Class Explosion If too many utility classes on single element:
fk-flex fk-flex-center fk-space-md fk-py-lg fk-px-xl fk-rounded-lg fk-shadowfk-panel with those properties built-inBefore considering FlowKit implementation complete:
Setup:
data_pages_tool list_pages, or designer_tool if using the current open page)Component Structure:
fk- prefixis- prefixUtilities:
Responsive:
States:
Documentation:
Validation:
Performance:
User Experience: