Publish a Webflow site with a plan-confirm-publish workflow. Shows what changed since last publish, runs pre-publish checks, and requires explicit confirmation before going live.
View on GitHubFebruary 4, 2026
Select agents to install to:
npx add-skill https://github.com/webflow/webflow-skills/blob/main/plugins/webflow-skills/skills/safe-publish/SKILL.md -a claude-code --skill safe-publishInstallation paths:
.claude/skills/safe-publish/# Safe Publish Publish a Webflow site with comprehensive preview, validation, and explicit confirmation workflow. ## Important Note **ALWAYS use Webflow MCP tools for all operations:** - Use Webflow MCP's `data_sites_tool` with action `list_sites` for listing available sites - Use Webflow MCP's `data_sites_tool` with action `get_site` for detailed site information - Use Webflow MCP's `data_pages_tool` with action `list_pages` for retrieving all pages - Use Webflow MCP's `data_cms_tool` with action `get_collection_list` for listing CMS collections - Use Webflow MCP's `data_cms_tool` with action `list_collection_items` for checking draft items - Use Webflow MCP's `data_sites_tool` with action `publish_site` for publishing the site - Use Webflow MCP's `webflow_guide_tool` to get best practices before starting - DO NOT use any other tools or methods for Webflow operations - All tool calls must include the required `context` parameter (15-25 words, third-person perspective) ## Instructions ### Phase 1: Site Selection & Status Check 1. **Get site**: Identify the target site. If user does not provide site ID, ask for it. 2. **Fetch site details**: Use Webflow MCP's `data_sites_tool` with action `get_site` to retrieve: - Last published date - Last updated date - Custom domains configured - Locale settings 3. **Check publish status**: Determine if site has unpublished changes: - Compare `lastUpdated` vs `lastPublished` timestamps - If `lastPublished` is null, site has never been published - If `lastUpdated` > `lastPublished`, site has unpublished changes ### Phase 2: Change Detection & Analysis 4. **List all pages**: Use Webflow MCP's `data_pages_tool` with action `list_pages` 5. **Identify modified pages**: - Compare each page's `lastUpdated` with site's `lastPublished` - Flag pages modified after last publish - Categorize by type (static, CMS template, archived, draft) 6. **List all collections**: Use Webflow MCP's `data_cms_tool` with a