Install
$ agentstack add skill-monmush-webflow-development-webflow-development ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Webflow Development
Build pixel-perfect websites in the Webflow Designer using MCP tools and browser automation.
Prerequisites
- Webflow MCP Bridge Chrome extension connected (provides
mcp__webflow__*tools) - Claude in Chrome extension for browser automation (navigation, clicks, JS injection)
- Webflow Designer open in Chrome with the target site loaded
Core Workflow
- Discover — Use
element_toolto explore the current page structure and find elements by style name - Build — Use
element_builderto create new elements (DivBlock, Heading, Paragraph, LinkBlock, Image, etc.) - Style — Use
style_toolto apply CSS properties at each breakpoint - Content — Use
set_text(viaelement_tool) to set text content on Heading/Paragraph elements - Components — Use
element_builderwithcomponentparam to insert component instances - Code Embeds — Use browser automation to add Code Embed elements for SVGs, custom CSS, or complex patterns
- QA — Use
element_snapshot_toolto capture screenshots, resize browser for responsive checks - Publish — Use
data_sites_toolto publish the site
Tool Quick Reference
| Tool | Purpose | |------|---------| | element_tool | Select/find elements, get element tree, set text, move/delete elements | | element_builder | Create new elements (type, parent, position, component instances) | | style_tool | Read/write CSS properties on style classes at specific breakpoints | | element_snapshot_tool | Capture visual screenshots of elements or pages | | variable_tool | Manage design variables (colors, fonts, spacing) | | data_pages_tool | List/manage pages | | data_sites_tool | Publish site, get site info | | de_page_tool | Page-level settings (title, slug, SEO) | | de_component_tool | Manage components (create, rename, list instances) | | style_tool with get_styles | List all existing style classes on the site | | webflow_guide_tool | Ask Webflow-specific questions (documentation reference) |
Breakpoint System (Critical)
Webflow uses a desktop-first cascade. Styles set on main inherit downward unless overridden.
| Breakpoint | Name | Width | Cascade | |-----------|------|-------|---------| | main | Desktop | ≥992px | Default — all screens inherit | | medium | Tablet | ≤991px | Overrides main | | small | Mobile landscape | ≤767px | Overrides medium | | tiny | Mobile portrait | ≤478px | Overrides small | | xl | Wide | ≥1440px | Extends main upward |
When transferring from a local mobile-first codebase, see [references/breakpoints-and-styles.md](references/breakpoints-and-styles.md) for the mapping table.
Setting Styles at Breakpoints
style_tool → set_styles:
styleName: "my-element"
breakpoint: "main" # or "medium", "small", "tiny", "xl"
pseudo: "noPseudo" # REQUIRED when updating existing properties on main
properties:
font-size: "18px"
color: "#1A2332"
Known Gotchas (Must-Know)
pseudo: "noPseudo"is required when updating existing properties onmainbreakpoint. Without it, the value silently fails to change.overflowis a shorthand — useoverflow-xandoverflow-yseparately.TextBlocktype creates a DivBlock that does NOT supportset_text. UseHeadingorParagraphtypes for text elements.element_builderwithcomponent: ""(empty string) causes timeouts. Always pass a valid component ID or omit the parameter.- Large element trees —
element_toolwithget_elementson complex pages can return 100K+ characters. Filter by style name or save to file and parse with jq/Python. - Designer in preview mode — URLs with
workflow=sitePreviewblock style edits. Navigate to the designer URL without this parameter. - MCP connection drops — If you get "Unable to connect to Webflow Designer", navigate to the designer URL with the
?app=parameter to reconnect the MCP Bridge. - Inline styles override CSS — Some Webflow interactions (e.g., animations) leave stuck inline styles like
transform: translate3d(...). Override with!importantin a Code Embed.
For the complete gotchas reference with solutions, see [references/gotchas.md](references/gotchas.md).
Section Container Pattern
Every page section should include container constraints to prevent content from touching viewport edges:
- main:
max-width: 1200px,margin-left: auto,margin-right: auto - medium:
padding-left: 40px,padding-right: 40px - small:
padding-left: 20px,padding-right: 20px
Workflow: Transferring a Local Project to Webflow
When the user has a local web project (React, Vue, HTML/CSS, etc.) and wants to replicate it in Webflow:
- Read the local component (TSX/HTML + CSS) to understand structure, styles, and content
- Map CSS variables to pixel values at each breakpoint (resolve
var(--x)to actual values) - Map local breakpoints to Webflow breakpoints (see breakpoint mapping reference)
- Build the element tree in Webflow using
element_builder - Apply styles using
style_toolwith resolved pixel values at each Webflow breakpoint - Set text content using
element_tool→set_text - Handle SVGs/custom code via Code Embed (see [references/code-embeds-and-svgs.md](references/code-embeds-and-svgs.md))
- QA — screenshot and compare with local dev site
For the full detailed guide, see [references/local-to-webflow.md](references/local-to-webflow.md).
Workflow: Building from Scratch (Figma or No Design)
- Establish design tokens — Create Webflow variables for colors, fonts, spacing via
variable_tool - Build page structure — Create sections, containers, grids via
element_builder - Style top-down — Start with
mainbreakpoint, then override formedium,small,tiny - Componentize repeating patterns — Use
de_component_tool→transform_element_to_component - Add interactions/animations — Use Code Embeds for CSS animations, or Webflow's native interactions
- Responsive QA — Check each breakpoint, screenshot at 1440px, 992px, 768px, 480px, 375px
Workflow: Creating Reusable Components
- Build and style the element as a regular element first
- Select the root element via
element_tool - Use
de_component_tool→transform_element_to_componentwith a name - Insert instances on other pages via
element_builderwithcomponent: "" - Override text content on instances via
element_tool→set_text
Using Design Variables
Prefer Webflow variables over hardcoded values for consistency:
variable_tool → set_variable:
collection_id: ""
variable_id: ""
value: "#FF4733"
Reference variables in styles:
style_tool → set_styles:
properties:
color: "var(--variable-id)"
Discover existing variables with variable_tool → get_variables.
Reference Files
- [references/breakpoints-and-styles.md](references/breakpoints-and-styles.md) — Breakpoint mapping table, typography scale patterns, style_tool examples
- [references/local-to-webflow.md](references/local-to-webflow.md) — Detailed guide for transferring local web projects to Webflow
- [references/code-embeds-and-svgs.md](references/code-embeds-and-svgs.md) — Code Embed insertion, SVG conversion (JSX→HTML), CodeMirror injection, custom CSS patterns
- [references/gotchas.md](references/gotchas.md) — Complete list of known issues, error messages, and workarounds
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: monmush
- Source: monmush/webflow-development
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.