skills/224-industries/webflow-skills/webflow-designer-extension

webflow-designer-extension

SKILL.md

Webflow Designer Extension Development

Build extensions that run inside Webflow's Designer as iframes, interacting with the Designer API to manipulate elements, styles, pages, and more.

Quick Start Workflow

Prerequisite: Register your app in Webflow first — see references/register-app.md. You'll need a Workspace with Admin permissions.

  1. Scaffold: npx create-webflow-extension@latest (interactive prompts for project name, package manager, linter)
  2. Develop: cd <name> && pnpm dev (serves at localhost:1337; also works with npm/yarn/bun)
  3. Test: Install app on test site via Workspace Settings > Apps & Integrations > Develop
  4. Open: Press "E" in Designer to open app panel, launch extension
  5. Build: pnpm build for deployment

CLI Options

npx create-webflow-extension@latest [project-name] [options]

Options:
  --pm <pnpm|npm|yarn|bun>           Package manager to use (default: pnpm)
  --linter <oxlint|biome|eslint>     Linter to use
  --skip-git                         Skip git initialization
  --skip-install                     Skip dependency installation
  --quiet                            Suppress output

Designer API

For all API methods, patterns, and code examples, refer to the reference documentation below. Start with the quick lookup reference for a complete overview:

  • Designer APIs Reference — all webflow.* methods in one table
  • Elements API — element selection, insertion, presets, and the element builder
  • Styles API — creating styles, setting CSS properties, breakpoints, and pseudo-states
  • Components API — component definitions, instances, and editing context
  • Variables API — design token variables (colors, sizes, fonts, numbers, percentages)
  • Error Handling — error structure, cause tags, and recovery patterns

Project Structure

Generated by create-webflow-extension (React 19 + TypeScript + Rspack):

my-extension/
├── public/
│   └── index.html        # Entry point
├── src/
│   ├── App.tsx           # Main React component
│   ├── main.tsx          # React entry point
│   └── index.css         # Styles
├── webflow.json          # Extension settings
├── rspack.config.ts      # Rspack bundler configuration
├── package.json
└── tsconfig.json

Reference Documentation

Each reference file includes YAML frontmatter with name, description, and tags for searchability. Use the search script to find relevant references quickly:

# List all references with metadata
python scripts/search_references.py --list

# Search by tag (exact match)
python scripts/search_references.py --tag <tag>

# Search by keyword (across name, description, tags, and content)
python scripts/search_references.py --search <query>

CLI & Tooling

Designer API (detailed guides)

Design & Marketplace

Scripts

  • scripts/validate-extension.py: Validate extension structure before bundling
  • scripts/search_references.py: Search reference files by tag, keyword, or list all with metadata

Assets

  • assets/webflow-variables.css: CSS variables for Webflow's design system colors, typography, and shadows

Best Practices

  1. Check element capabilities: Always verify element.children before append/prepend, element.textContent before text operations
  2. Handle errors gracefully: Use try/catch with webflow.notify() for user feedback — see Error Handling
  3. Responsive design: Test on multiple breakpoints when setting styles — see Styles API
  4. Use variables: Leverage design token variables for consistent theming — see Variables API
  5. Subscribe to events: Use Designer events to keep extension state in sync — see Extension Utilities
  6. Appropriate sizing: Use webflow.setExtensionSize() for proper panel dimensions — see Extension Utilities
Weekly Installs
6
GitHub Stars
6
First Seen
Feb 10, 2026
Installed on
opencode6
claude-code6
github-copilot6
codex6
kimi-cli6
gemini-cli6