The AI Prompt That Makes It Work

Copy this prompt, feed it to Claude, ChatGPT, or Gemini with your Figma design — and get Webflow-ready HTML every time.

FlowConvert AI Prompt
You are an expert frontend developer specializing in Webflow development and the Client-First style system by Finsweet. Convert the following design/description into clean, production-ready HTML, CSS, and JavaScript optimized for Webflow import via FlowConvert. Follow these rules strictly: ───────────────────────────────────── CLASS & STYLING RULES ───────────────────────────────────── 1. ONE CLASS PER ELEMENT ONLY — absolutely no combo classes, no multiple classes on any single element. Ever. 2. CLIENT-FIRST FIRST — always try to use a Client-First utility class as the single class on an element before writing custom CSS. Examples: padding-global, margin-large, text-color-primary, text-size-large, text-weight-bold, etc. 3. CUSTOM CLASS FALLBACK — if a Client-First utility class cannot fully style the element alone, create ONE custom class using Client-First naming convention: - Component wrapper: component-name (e.g., hero, navbar, card) - Child elements: component_element (e.g., hero_title, navbar_link) Never add a second class to patch gaps — extend the custom class CSS instead. 4. CLASS PRIORITY ORDER for every element: Step 1 → Can a Client-First utility class handle it alone? Use it. Step 2 → Needs custom styling? Use one custom class (component_element). Step 3 → Never add a second class. Solve everything inside that one class. ───────────────────────────────────── CSS RULES ───────────────────────────────────── 5. REM UNITS — use REM for all sizing: font-size, padding, margin, gap, border-radius, width, height. Base: 16px = 1rem. 6. SIMPLE CLASS SELECTORS ONLY — use .classname format. NO tag selectors, NO ID selectors, NO descendant selectors (.parent .child), NO compound selectors (.card.active), NO pseudo-classes (:hover, :nth-child), NO pseudo-elements (::before, ::after). 7. NO CSS VARIABLES — do not use var(--anything), clamp(), or env(). Use direct hardcoded values only. 8. NO EXTERNAL FRAMEWORKS — no Tailwind, no Bootstrap, no utility libraries. Pure vanilla CSS only. 9. NO INLINE STYLES — all styles go in CSS classes, never on elements. 10. Only write CSS for custom classes. Client-First utility classes need no CSS — they are predefined in the system. ───────────────────────────────────── HTML RULES ───────────────────────────────────── 11. SEMANTIC HTML — use proper semantic tags: <section> for top-level sections <nav>, <header>, <main>, <footer>, <article> where appropriate <h1>–<h6> for headings in correct hierarchy 12. FLAT NESTING — keep nesting reasonable. Avoid deeply nested divs. 13. INLINE SVGs where possible. For complex SVGs use <img> tags. 14. Use the button element only in a form 15. For non-form buttons, use links or div ───────────────────────────────────── JAVASCRIPT RULES ───────────────────────────────────── 16. Use addEventListener pattern only — no inline onclick attributes. 17. Use class toggle patterns for all interactivity. ───────────────────────────────────── RESPONSIVE BREAKPOINTS ───────────────────────────────────── 16. Use these exact breakpoints: @media (max-width: 991px) → Tablet @media (max-width: 767px) → Mobile landscape @media (max-width: 478px) → Mobile portrait ───────────────────────────────────── OUTPUT FORMAT ───────────────────────────────────── Return code in three clearly labeled sections: ```html <!-- Your HTML here --> ``` ```css /* Your CSS here */ ``` ```javascript // Your JS here (if needed) ``` ───────────────────────────────────── NOW CONVERT THIS DESIGN: ───────────────────────────────
Convert Your HTML Now

Class & Styling Rules

1️⃣
One Class Per Element
Absolutely no combo classes, no multiple classes on any single element. Ever. Solve everything inside one class.
🎨
Client-First First
Always try a Client-First utility class first: padding-global, text-size-large, text-weight-bold, etc.
🏷️
Client-First Naming
Custom classes use component-name for wrappers and component_element for children (e.g., hero_title, navbar_link).
🔢
Class Priority Order
Step 1: Client-First utility alone? Step 2: Custom class needed? Step 3: Never add a second class — extend the CSS instead.

CSS Rules

📏
REM Units Only
Use rem for all sizing: font-size, padding, margin, gap, border-radius, width, height. Base: 16px = 1rem.
🎯
Simple Selectors Only
Only .classname format. No tag, ID, descendant, compound, pseudo-class, or pseudo-element selectors.
🚫
No CSS Variables
No var(), clamp(), or env(). Use direct hardcoded values only.
🧹
No Frameworks or Inline Styles
No Tailwind, Bootstrap, or utility libraries. Pure vanilla CSS only. All styles go in CSS classes, never on elements.

HTML Rules

🧱
Semantic HTML
Use <section>, <nav>, <header>, <footer>, <article> — they map to Webflow types correctly.
📐
Flat Nesting & Inline SVGs
Keep nesting shallow — avoid deeply nested divs. Use inline SVGs where possible, <img> for complex ones.
🔘
Button Rules
Use <button> only inside forms. For non-form buttons, use <a> links or <div> instead.
📱
Webflow Breakpoints
Use max-width: 991px (Tablet), 767px (Mobile landscape), 478px (Mobile portrait).

JavaScript Rules

addEventListener Only
Use the addEventListener pattern only — no inline onclick attributes on elements.
🔄
Class Toggle Patterns
Use class toggle patterns for all interactivity. Define active/hidden states in CSS and toggle them via JS.
CSS Selector Routing
Selector TypeExampleGoes To
Simple class.heroWebflow Style
Tag selectornav {}Custom Embed
ID selector#header {}Custom Embed
Descendant.parent .childCustom Embed
Compound.card.activeCustom Embed
Pseudo-class:hover, :nth-childCustom Embed
Pseudo-element::before, ::afterCustom Embed