
Skill
webflow-mcp:custom-code-management
manage custom code on Webflow sites
Description
Add, review, or remove inline custom scripts on a Webflow site (up to 10,000 chars). Use for analytics, tracking pixels, chat widgets, or any custom JavaScript. Also manages page-level scripts.
SKILL.md
Custom Code Management
Add, review, and manage inline custom scripts on a Webflow site — analytics, tracking pixels, chat widgets, or any custom JavaScript.
Important Note
ALWAYS use Webflow MCP tools for all operations:
- Use Webflow MCP's
webflow_guide_toolto get best practices before any other tool call - Use Webflow MCP's
data_sites_toolwith actionlist_sitesto identify available sites - Use Webflow MCP's
data_scripts_toolwith actionlist_registered_scriptsto list all registered scripts - Use Webflow MCP's
data_scripts_toolwith actionlist_applied_scriptsto list scripts applied to pages - Use Webflow MCP's
data_scripts_toolwith actionadd_inline_site_scriptto register a new inline script - Use Webflow MCP's
data_scripts_toolwith actiondelete_all_site_scriptsto remove ALL site scripts (no selective delete) - Use Webflow MCP's
data_scripts_toolwith actionget_page_scriptto get custom code for a specific page - Use Webflow MCP's
data_scripts_toolwith actionupsert_page_scriptto add or update page-level custom code - Use Webflow MCP's
data_scripts_toolwith actiondelete_all_page_scriptsto remove all custom code from a page - All tool calls must include the required
contextparameter (15-25 words, third-person perspective)
Instructions
Phase 1: Discovery
- Call
webflow_guide_toolfirst — always the first MCP tool call - Get the site: Use
data_sites_toolwith actionlist_sites. If only one site, use it automatically.
Phase 2: Analysis
- List scripts: Call
list_registered_scriptsandlist_applied_scriptsin parallel - Check page-level scripts (if relevant): Use
get_page_scriptfor specific pages - Present findings: Name, version, location (header/footer), registration vs application status
Phase 3: Planning & Confirmation
Before any mutation, present the plan and require explicit confirmation:
- Adding scripts: user must type "add"
- Removing ALL site scripts: user must type "delete all" (warn: no selective delete)
- Page-level changes: user must type "update"
Phase 4: Execution
- Add site script:
add_inline_site_scriptwith displayName, sourceCode, version, location, canCopy - Remove all site scripts:
delete_all_site_scripts - Add/update page script:
upsert_page_script - Remove page scripts:
delete_all_page_scripts
Phase 5: Verification
- Re-list scripts to confirm success
- Report what changed (name, location, version, char count)
- Remind user to publish — suggest using
safe-publishskill
Examples
Example 1: View scripts
User: "What scripts are on my site?"
webflow_guide_tool→data_sites_tool→list_registered_scripts+list_applied_scriptsin parallel- Present summary of all scripts
Example 2: Add Google Tag Manager
User: "Add GTM to my site"
webflow_guide_tool→data_sites_tool→ ask for GTM container ID- Preview script, require "add" →
add_inline_site_script(header, version "1.0.0") - Verify and remind to publish
Example 3: Remove all scripts
User: "Remove all scripts"
webflow_guide_tool→data_sites_tool→ list current scripts- Warn: removes ALL scripts. Require "delete all" →
delete_all_site_scripts - Verify and remind to publish
Example 4: Page-specific tracking
User: "Add conversion tracking to my thank-you page"
webflow_guide_tool→data_sites_tool→get_page_scriptto check existing- Preview, require "update" →
upsert_page_script - Verify and remind to publish
Guidelines
webflow_guide_toolalways first — before any other MCP tool- No
<script>tags — Webflow adds them automatically - Max 10,000 characters per script;
displayName+versionmust be unique - Site-level scripts (
add_inline_site_script) apply to all pages; page-level scripts (upsert_page_script) apply to one page - No selective delete —
delete_all_site_scriptsremoves everything; always list scripts first so user knows what will be lost - Hosted/external scripts not available via MCP — inline only
- Recommend header for analytics (GA, GTM); footer for chat widgets and non-critical scripts
- If
displayName + versionexists, suggest incrementing the version - Always remind users to publish after changes
More skills from the webflow-skills repository
View all 27 skillswebflow-cli:cloud
deploy applications to Webflow Cloud
May 18CLICloudDeploymentFull-stack +1webflow-cli:code-component
create and deploy Webflow Code Components
May 18CLIDeploymentReactUI Components +1webflow-cli:designer-extension
build Webflow Designer Extensions
May 18CLIPlugin DevelopmentReactTypeScript +1webflow-cli:devlink
export Webflow components to React and Next.js
May 18CLIFrontendNext.jsReact +1webflow-cli:troubleshooter
troubleshoot Webflow CLI issues
May 18CLIConfigurationDebuggingWebflowwebflow-code-component:component-audit
audit Webflow Code Component architecture
May 18ArchitectureCode AnalysisReactWebflow
More from Webflow
View publisherwebflow-code-component:component-scaffold
scaffold Webflow Code Component boilerplate
webflow-skills
May 18FrontendReactTemplatesWebflowwebflow-code-component:convert-component
convert React components to Webflow Code Components
webflow-skills
May 18MigrationReactTypeScriptWebflowwebflow-code-component:deploy-guide
deploy Webflow Code Components
webflow-skills
May 18DeploymentFrontendReactWebflowwebflow-code-component:local-dev-setup
set up local Webflow Code Component projects
webflow-skills
May 18ConfigurationLocal DevelopmentReactWebflowwebflow-code-component:pre-deploy-check
validate Webflow Code Components before deployment
webflow-skills
May 18DeploymentQAValidationWebflowwebflow-code-component:troubleshoot-deploy
troubleshoot Webflow Code Component deployments
webflow-skills
May 18DebuggingDeploymentObservabilityWebflow