[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-webflow-webflow-mcpsafe-publish":3,"mdc--qtp2j7-key":34,"related-org-webflow-webflow-mcpsafe-publish":2471,"related-repo-webflow-webflow-mcpsafe-publish":2658},{"slug":4,"name":5,"fn":6,"description":7,"org":8,"tags":12,"stars":21,"repoUrl":22,"updatedAt":23,"license":24,"forks":25,"topics":26,"repo":29,"sourceUrl":32,"mdContent":33},"webflow-mcpsafe-publish","webflow-mcp:safe-publish","publish Webflow sites with pre-publish checks","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.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},"webflow","Webflow","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fwebflow.png",[13,17,18],{"name":14,"slug":15,"type":16},"Deployment","deployment","tag",{"name":10,"slug":9,"type":16},{"name":19,"slug":20,"type":16},"Frontend","frontend",107,"https:\u002F\u002Fgithub.com\u002Fwebflow\u002Fwebflow-skills","2026-04-06T18:57:08.845438",null,17,[27,28],"agent","skills",{"repoUrl":22,"stars":21,"forks":25,"topics":30,"description":31},[27,28],"Official Webflow Agent Skills","https:\u002F\u002Fgithub.com\u002Fwebflow\u002Fwebflow-skills\u002Ftree\u002FHEAD\u002Fplugins\u002Fwebflow-skills\u002Fskills\u002Fsafe-publish","---\nname: webflow-mcp:safe-publish\ndescription: 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.\n---\n\n# Safe Publish\n\nPublish a Webflow site with comprehensive preview, validation, and explicit confirmation workflow.\n\n## Important Note\n\n**ALWAYS use Webflow MCP tools for all operations:**\n- Use Webflow MCP's `data_sites_tool` with action `list_sites` for listing available sites\n- Use Webflow MCP's `data_sites_tool` with action `get_site` for detailed site information\n- Use Webflow MCP's `data_pages_tool` with action `list_pages` for retrieving all pages\n- Use Webflow MCP's `data_cms_tool` with action `get_collection_list` for listing CMS collections\n- Use Webflow MCP's `data_cms_tool` with action `list_collection_items` for checking draft items\n- Use Webflow MCP's `data_sites_tool` with action `publish_site` for publishing the site\n- Use Webflow MCP's `webflow_guide_tool` to get best practices before starting\n- DO NOT use any other tools or methods for Webflow operations\n- All tool calls must include the required `context` parameter (15-25 words, third-person perspective)\n\n## Instructions\n\n### Phase 1: Site Selection & Status Check\n1. **Get site**: Identify the target site. If user does not provide site ID, ask for it.\n2. **Fetch site details**: Use Webflow MCP's `data_sites_tool` with action `get_site` to retrieve:\n   - Last published date\n   - Last updated date\n   - Custom domains configured\n   - Locale settings\n3. **Check publish status**: Determine if site has unpublished changes:\n   - Compare `lastUpdated` vs `lastPublished` timestamps\n   - If `lastPublished` is null, site has never been published\n   - If `lastUpdated` > `lastPublished`, site has unpublished changes\n\n### Phase 2: Change Detection & Analysis\n4. **List all pages**: Use Webflow MCP's `data_pages_tool` with action `list_pages`\n5. **Identify modified pages**:\n   - Compare each page's `lastUpdated` with site's `lastPublished`\n   - Flag pages modified after last publish\n   - Categorize by type (static, CMS template, archived, draft)\n6. **List all collections**: Use Webflow MCP's `data_cms_tool` with action `get_collection_list`\n7. **Check for draft items**:\n   - For each collection, use Webflow MCP's `data_cms_tool` with action `list_collection_items`\n   - Count items where `isDraft: true`\n   - Count items modified since last publish\n8. **Detect issues**:\n   - Draft items that won't be published unless explicitly included\n   - Pages missing SEO metadata\n   - Broken references (if detectable)\n\n### Phase 3: Pre-Publish Validation & Preview\n9. **Run pre-publish checks**:\n   - Verify no broken collection references\n   - Check for pages with missing required fields\n   - Warn about draft items that will remain unpublished\n10. **Generate detailed preview**:\n    - Show all pages to be published\n    - Show all CMS items to be published\n    - Display warnings for any issues found\n    - Show which domains will be updated\n11. **Ask for publish scope**:\n    - Webflow subdomain only\n    - Custom domains only\n    - Both subdomain and custom domains\n\n### Phase 4: Confirmation & Publishing\n12. **Require explicit confirmation**:\n    - User must type \"publish\" to proceed\n    - \"yes\" or \"y\" should NOT trigger publish\n    - Show clear warning about what will go live\n13. **Execute publish**:\n    - Use Webflow MCP's `data_sites_tool` with action `publish_site` with correct parameters\n    - Handle `customDomains` as empty array if no custom domains\n    - Set `publishToWebflowSubdomain` based on user choice\n14. **Capture publish timestamp**:\n    - Fetch site info again after publish\n    - Record exact publish time from `lastPublished` field\n\n### Phase 5: Verification & Reporting\n15. **Verify publish success**:\n    - Check that `lastPublished` timestamp updated\n    - Verify site is accessible at published URL(s)\n    - Report any verification failures clearly\n16. **Generate success report**:\n    - Show publish timestamp\n    - List what went live (pages, items)\n    - Provide published URL(s)\n    - Show verification status\n17. **Handle failures gracefully**:\n    - If publish fails, show clear error message\n    - Suggest remediation steps\n    - Do not retry automatically\n\n## Examples\n\n**User prompt:**\n```\nPublish my site\n```\n\n**Step 1: Site Selection**\n```\n🚀 Safe Publish - Site Selection\n\nAvailable Sites:\n\n1. **MCP Demo#1**\n   - Last published: January 9, 2026 at 20:05:38 UTC\n   - Last updated: January 9, 2026 at 20:49:37 UTC\n   - ⚠️ **Has unpublished changes** (updated 44 minutes after last publish)\n\n2. **MCP Demo#2**\n   - Last updated: January 9, 2026 at 19:32:53 UTC\n   - Status: Not yet published\n\nWhich site would you like to publish? (1-2)\n```\n\n**Step 2: Change Detection & Preview**\n```\n🚀 Publish Preview: MCP Demo#1\n\n**Last published:** January 9, 2026 at 20:05:38 UTC\n**Time since last publish:** ~1 hour 5 minutes\n\n---\n\n## Changes to Publish:\n\n### 📄 Pages Modified: 1\n└── **Home** (\u002F)\n    - SEO title updated to \"Home Page\"\n    - Last modified: 21:10:52 UTC\n\n### 📝 CMS Items: 2 draft items to publish\n\n**Blog Posts (2 drafts):**\n\n1. **\"Why Webflow MCP Will Transform Your Workflow in 2026!\"**\n   - Status: Draft\n   - Created: 20:24:44 UTC\n   - Last modified: 21:11:03 UTC\n   - Featured: Yes\n   - Slug: webflow-mcp-transform-workflow-2026\n\n2. **\"Webflow E-commerce: The Future of Online Shopping in 2026!\"**\n   - Status: Draft\n   - Created: 20:05:24 UTC\n   - Last modified: 21:11:11 UTC\n   - Featured: Yes\n   - Slug: webflow-ecommerce-2026\n\n---\n\n**Pre-Publish Checks:**\n- ✅ No broken references detected\n- ✅ All required fields populated\n- ⚠️ 2 draft items will become published\n\n**Publish Targets:**\n- Webflow subdomain: mcp-demo-1-e88499.webflow.io\n- Custom domains: None configured\n\n**⚠️ Type \"publish\" to make these changes live.**\n```\n\n**Step 3: After user types \"publish\"**\n```\n🔄 Publishing MCP Demo#1...\n\nProgress: ████████████████████ 100%\n\n✅ Published Successfully!\n\n**Site:** MCP Demo#1\n**Published at:** 2026-01-09 21:12:52 UTC (January 9, 2026 at 21:12:52)\n\n---\n\n## What Went Live:\n\n### 📄 Pages (1)\n- ✅ Home (\u002F) - SEO title updated\n\n### 📝 Blog Posts (2)\n- ✅ \"Why Webflow MCP Will Transform Your Workflow in 2026!\"\n- ✅ \"Webflow E-commerce: The Future of Online Shopping in 2026!\"\n\n---\n\n## Verification:\n\n- ✅ **Site accessible:** Yes\n- ✅ **URL:** https:\u002F\u002Fmcp-demo-1-e88499.webflow.io\n- ✅ **Status:** Page loading successfully\n- ✅ **Content delivery:** Webflow CDN responding\n\n---\n\n**🎉 Your site is now live with all changes published!**\n\nAll unpublished changes have been successfully published to the Webflow subdomain. The 2 draft blog posts are now visible on your site.\n```\n\n**Alternative: With Warnings**\n```\n🚀 Publish Preview: Company Site\n\n**Last published:** January 8, 2026 at 14:30:00 UTC\n\n---\n\n## Changes to Publish:\n\n### 📄 Pages Modified: 3\n├── **About** (\u002Fabout)\n│   └── Content updated\n├── **Contact** (\u002Fcontact)\n│   └── Form fields changed\n└── **Home** (\u002F)\n    └── Hero section updated\n\n### 📝 CMS Items\n\n**Blog Posts:**\n- 5 published items modified\n- 2 draft items (will NOT be published automatically)\n\n**Products:**\n- 3 new items created\n- 1 item updated\n\n---\n\n**Pre-Publish Checks:**\n⚠️ **Warnings Found:**\n\n1. **Missing SEO Metadata (2 pages):**\n   - \u002Fabout - No meta description\n   - \u002Fcontact - No meta title or description\n   - 💡 Recommendation: Add SEO metadata before publishing\n\n2. **Draft Items (2):**\n   - \"Upcoming Product Launch\" (Blog Post)\n   - \"Holiday Sale Announcement\" (Blog Post)\n   - ⚠️ These will remain unpublished\n\n3. **Large Change Set:**\n   - 3 pages + 9 CMS items will be updated\n   - Consider reviewing changes carefully\n\n**Publish Targets:**\n- Webflow subdomain: company-site.webflow.io\n- Custom domains: example.com, www.example.com\n\n---\n\n**Would you like to:**\n1. Proceed with publish (type \"publish\")\n2. Cancel and review (type \"cancel\")\n```\n\n## Guidelines\n\n### Phase 1: Critical Requirements\n\n**Site Status Check:**\n- Always fetch complete site details using `data_sites_tool` with action `get_site`\n- Compare `lastUpdated` vs `lastPublished` to detect unpublished changes\n- If timestamps are identical, inform user \"No changes to publish\"\n- If `lastPublished` is null, warn \"First publish - entire site will go live\"\n\n**Timestamp Handling:**\n- Store both ISO format and human-readable format\n- Calculate time elapsed since last publish\n- Show timezone (prefer UTC for clarity)\n\n### Phase 2: Change Detection Rules\n\n**Page Change Detection:**\n- Compare page `lastUpdated` with site `lastPublished`\n- Only flag pages where `lastUpdated > lastPublished`\n- Categorize changes:\n  - Content changes (hard to detect via API)\n  - SEO metadata changes (compare if available)\n  - Structural changes (page created\u002Fdeleted)\n\n**CMS Item Detection:**\n- Check `isDraft` field for all items\n- Compare `lastUpdated` with site `lastPublished`\n- Count items in each state:\n  - Published + not modified\n  - Published + modified\n  - Draft (won't be published)\n  - Archived (won't appear on site)\n\n**Collections to Check:**\n- Query all collections with `data_cms_tool` with action `get_collection_list`\n- For each collection, list items with `data_cms_tool` with action `list_collection_items`\n- Batch queries if site has many collections (10+ collections)\n\n### Phase 3: Pre-Publish Validation\n\n**Required Checks:**\n1. **Broken References:**\n   - Check if referenced items exist\n   - Warn if reference field points to deleted\u002Farchived item\n   - Note: API may not expose this easily - best effort\n\n2. **Missing Required Fields:**\n   - Verify all required CMS fields are populated\n   - Warn if required fields are empty (shouldn't be possible, but check)\n\n3. **SEO Completeness:**\n   - Check pages for missing `seo.title` or `seo.description`\n   - Warn but don't block publish\n   - Provide recommendations for improvement\n\n4. **Draft Item Warning:**\n   - Clearly list all draft items\n   - Explain they will remain unpublished\n   - Offer to cancel if user wants to publish drafts first\n\n**Warning Levels:**\n- 🔴 **Critical**: Would break site (broken refs, missing required fields)\n- ⚠️ **Warning**: Suboptimal but publishable (missing SEO, drafts)\n- 💡 **Suggestion**: Best practices (add meta descriptions, optimize images)\n\n**When to Block Publish:**\n- Only block if critical errors found\n- For warnings and suggestions, allow user to proceed\n- Always show warnings prominently\n\n### Phase 4: Confirmation & Publishing\n\n**Confirmation Requirements:**\n- User MUST type \"publish\" (case-insensitive)\n- Do NOT accept: \"yes\", \"y\", \"ok\", \"go\", \"confirm\"\n- Rationale: Prevents accidental publishes from generic confirmations\n- If user types anything else, ask again or treat as cancel\n\n**Publish API Usage:**\n```javascript\n\u002F\u002F Correct format for data_sites_tool with action publish_site\n{\n  \"site_id\": \"site-id-here\",\n  \"publishToWebflowSubdomain\": true,  \u002F\u002F or false\n  \"customDomains\": []  \u002F\u002F MUST be array, even if empty\n}\n\n\u002F\u002F If custom domains exist:\n{\n  \"site_id\": \"site-id-here\",\n  \"publishToWebflowSubdomain\": false,\n  \"customDomains\": [\"example.com\", \"www.example.com\"]\n}\n```\n\n**Domain Selection:**\n- If no custom domains: Publish to subdomain only\n- If custom domains exist: Ask user which to publish to\n  - Subdomain only\n  - Custom domains only\n  - Both\n- Default to subdomain if user doesn't specify\n\n**Error Handling:**\n- If `customDomains` validation error: Ensure it's an array\n- If `400 Bad Request`: Check request format\n- If `403 Forbidden`: Check site publish permissions\n- If `500 Server Error`: Retry once after 5 seconds, then report failure\n\n### Phase 5: Verification & Reporting\n\n**Post-Publish Verification:**\n1. **Fetch Updated Site Info:**\n   - Call `data_sites_tool` with action `get_site` again\n   - Verify `lastPublished` timestamp updated\n   - If timestamp didn't update, publish may have failed\n\n2. **Site Accessibility Check:**\n   - Use WebFetch to check published URL\n   - Verify site returns 200 OK\n   - Check that content is served (not error page)\n   - Measure response time\n\n3. **Custom Domain Checks:**\n   - If published to custom domains, verify each domain\n   - Some domains may take time to propagate (DNS)\n   - Note: \"Domain may take a few minutes to update\" if slow\n\n**Verification Failure Handling:**\n- If site not accessible: Report clearly\n- Note: Changes ARE published even if verification fails\n- Possible causes:\n  - DNS propagation delay\n  - CDN cache not yet cleared\n  - Temporary Webflow infrastructure issue\n- Suggest: \"Try accessing the site in 2-3 minutes\"\n\n**Success Report Format:**\n```\n✅ Published Successfully!\n\nSite: [Site Name]\nPublished at: [ISO Timestamp] ([Human Readable])\n\nWhat Went Live:\n- X pages modified\n- Y CMS items published\n- Z draft items promoted to published\n\nVerification:\n✅ Site accessible\n✅ URL: [primary URL]\n✅ Response time: [Xms]\n\n[If custom domains]\nCustom Domains:\n✅ example.com - accessible\n⚠️ www.example.com - propagating (may take 2-3 minutes)\n```\n\n### Best Practices\n\n**Always:**\n- ✅ Show comprehensive preview before publishing\n- ✅ Require explicit \"publish\" confirmation\n- ✅ Verify site after publish\n- ✅ Report exact publish timestamp\n- ✅ List all changes going live\n- ✅ Warn about draft items\n\n**Never:**\n- ❌ Publish without explicit user confirmation\n- ❌ Accept generic confirmations like \"yes\"\n- ❌ Hide warnings from user\n- ❌ Retry failed publishes automatically\n- ❌ Proceed if critical errors detected\n\n**Edge Cases:**\n\n**No Changes to Publish:**\n```\nℹ️ No Changes to Publish\n\nLast published: January 9, 2026 at 20:05:38 UTC\nLast updated: January 9, 2026 at 20:05:38 UTC\n\nAll changes are already published. Your site is up to date!\n```\n\n**First Publish (Never Published Before):**\n```\n⚠️ First Publish Warning\n\nThis site has NEVER been published before.\n\nThis will make the ENTIRE site publicly accessible:\n- All pages (2 pages)\n- All CMS items (47 items across 3 collections)\n- All assets\n\nAre you ready to make this site live?\nType \"publish\" to proceed, or \"cancel\" to abort.\n```\n\n**Publish to Staging Subdomain:**\n- If site has custom domains but user chooses subdomain only\n- Useful for testing before publishing to production domain\n- Explain: \"Publishing to subdomain only. Custom domains will continue showing old version.\"\n\n**Partial Publish Not Supported:**\n- Webflow publishes entire site, not individual pages\n- Cannot publish specific pages or collections\n- If user asks to \"publish just the homepage\", explain limitation\n- Alternative: Use staging subdomain for testing\n\n### Performance Optimization\n\n**For Large Sites:**\n- Sites with 100+ pages or 1000+ items may take time to analyze\n- Show progress: \"Analyzing 150 pages...\"\n- Batch API calls when possible\n- Consider skipping detailed diff for very large change sets\n\n**Caching:**\n- Cache site info during workflow (don't refetch unnecessarily)\n- Only refetch after publish to verify\n\n**Timeouts:**\n- Publish API may take 10-30 seconds for large sites\n- Don't timeout too quickly\n- Show: \"Publishing... this may take up to 30 seconds for large sites\"\n\n### Error Messages\n\n**Clear and Actionable:**\n\n❌ **Bad:**\n```\n\"Publish failed\"\n```\n\n✅ **Good:**\n```\n\"Publish Failed: Validation Error\n\nThe Webflow API returned an error:\n- customDomains parameter must be an array\n\nThis is likely a configuration issue. Retrying...\n```\n\n**Common Errors:**\n\n1. **Validation Error (customDomains):**\n   - Fix: Ensure `customDomains: []` is an array\n   - Don't pass null or omit the field\n\n2. **Site Not Found:**\n   - User may have provided wrong site ID\n   - List available sites and ask user to select\n\n3. **Insufficient Permissions:**\n   - Site may require specific publish permissions\n   - Check workspace access settings\n\n4. **Publish Already in Progress:**\n   - Another publish may be running\n   - Wait 30 seconds and try again\n",{"data":35,"body":36},{"name":5,"description":7},{"type":37,"children":38},"root",[39,48,54,61,70,219,225,232,356,362,517,523,613,619,734,740,837,843,851,863,871,880,888,897,905,914,922,931,937,943,951,1003,1011,1029,1035,1043,1097,1105,1164,1172,1212,1218,1226,1342,1350,1389,1397,1415,1420,1428,1451,1459,1759,1767,1802,1810,1860,1865,1873,1978,1986,2027,2035,2044,2050,2058,2091,2099,2127,2135,2143,2152,2160,2169,2177,2195,2203,2226,2232,2240,2263,2271,2284,2292,2310,2316,2324,2334,2343,2353,2362,2370,2465],{"type":40,"tag":41,"props":42,"children":44},"element","h1",{"id":43},"safe-publish",[45],{"type":46,"value":47},"text","Safe Publish",{"type":40,"tag":49,"props":50,"children":51},"p",{},[52],{"type":46,"value":53},"Publish a Webflow site with comprehensive preview, validation, and explicit confirmation workflow.",{"type":40,"tag":55,"props":56,"children":58},"h2",{"id":57},"important-note",[59],{"type":46,"value":60},"Important Note",{"type":40,"tag":49,"props":62,"children":63},{},[64],{"type":40,"tag":65,"props":66,"children":67},"strong",{},[68],{"type":46,"value":69},"ALWAYS use Webflow MCP tools for all operations:",{"type":40,"tag":71,"props":72,"children":73},"ul",{},[74,97,115,134,153,171,189,201,206],{"type":40,"tag":75,"props":76,"children":77},"li",{},[78,80,87,89,95],{"type":46,"value":79},"Use Webflow MCP's ",{"type":40,"tag":81,"props":82,"children":84},"code",{"className":83},[],[85],{"type":46,"value":86},"data_sites_tool",{"type":46,"value":88}," with action ",{"type":40,"tag":81,"props":90,"children":92},{"className":91},[],[93],{"type":46,"value":94},"list_sites",{"type":46,"value":96}," for listing available sites",{"type":40,"tag":75,"props":98,"children":99},{},[100,101,106,107,113],{"type":46,"value":79},{"type":40,"tag":81,"props":102,"children":104},{"className":103},[],[105],{"type":46,"value":86},{"type":46,"value":88},{"type":40,"tag":81,"props":108,"children":110},{"className":109},[],[111],{"type":46,"value":112},"get_site",{"type":46,"value":114}," for detailed site information",{"type":40,"tag":75,"props":116,"children":117},{},[118,119,125,126,132],{"type":46,"value":79},{"type":40,"tag":81,"props":120,"children":122},{"className":121},[],[123],{"type":46,"value":124},"data_pages_tool",{"type":46,"value":88},{"type":40,"tag":81,"props":127,"children":129},{"className":128},[],[130],{"type":46,"value":131},"list_pages",{"type":46,"value":133}," for retrieving all pages",{"type":40,"tag":75,"props":135,"children":136},{},[137,138,144,145,151],{"type":46,"value":79},{"type":40,"tag":81,"props":139,"children":141},{"className":140},[],[142],{"type":46,"value":143},"data_cms_tool",{"type":46,"value":88},{"type":40,"tag":81,"props":146,"children":148},{"className":147},[],[149],{"type":46,"value":150},"get_collection_list",{"type":46,"value":152}," for listing CMS collections",{"type":40,"tag":75,"props":154,"children":155},{},[156,157,162,163,169],{"type":46,"value":79},{"type":40,"tag":81,"props":158,"children":160},{"className":159},[],[161],{"type":46,"value":143},{"type":46,"value":88},{"type":40,"tag":81,"props":164,"children":166},{"className":165},[],[167],{"type":46,"value":168},"list_collection_items",{"type":46,"value":170}," for checking draft items",{"type":40,"tag":75,"props":172,"children":173},{},[174,175,180,181,187],{"type":46,"value":79},{"type":40,"tag":81,"props":176,"children":178},{"className":177},[],[179],{"type":46,"value":86},{"type":46,"value":88},{"type":40,"tag":81,"props":182,"children":184},{"className":183},[],[185],{"type":46,"value":186},"publish_site",{"type":46,"value":188}," for publishing the site",{"type":40,"tag":75,"props":190,"children":191},{},[192,193,199],{"type":46,"value":79},{"type":40,"tag":81,"props":194,"children":196},{"className":195},[],[197],{"type":46,"value":198},"webflow_guide_tool",{"type":46,"value":200}," to get best practices before starting",{"type":40,"tag":75,"props":202,"children":203},{},[204],{"type":46,"value":205},"DO NOT use any other tools or methods for Webflow operations",{"type":40,"tag":75,"props":207,"children":208},{},[209,211,217],{"type":46,"value":210},"All tool calls must include the required ",{"type":40,"tag":81,"props":212,"children":214},{"className":213},[],[215],{"type":46,"value":216},"context",{"type":46,"value":218}," parameter (15-25 words, third-person perspective)",{"type":40,"tag":55,"props":220,"children":222},{"id":221},"instructions",[223],{"type":46,"value":224},"Instructions",{"type":40,"tag":226,"props":227,"children":229},"h3",{"id":228},"phase-1-site-selection-status-check",[230],{"type":46,"value":231},"Phase 1: Site Selection & Status Check",{"type":40,"tag":233,"props":234,"children":235},"ol",{},[236,246,292],{"type":40,"tag":75,"props":237,"children":238},{},[239,244],{"type":40,"tag":65,"props":240,"children":241},{},[242],{"type":46,"value":243},"Get site",{"type":46,"value":245},": Identify the target site. If user does not provide site ID, ask for it.",{"type":40,"tag":75,"props":247,"children":248},{},[249,254,256,261,262,267,269],{"type":40,"tag":65,"props":250,"children":251},{},[252],{"type":46,"value":253},"Fetch site details",{"type":46,"value":255},": Use Webflow MCP's ",{"type":40,"tag":81,"props":257,"children":259},{"className":258},[],[260],{"type":46,"value":86},{"type":46,"value":88},{"type":40,"tag":81,"props":263,"children":265},{"className":264},[],[266],{"type":46,"value":112},{"type":46,"value":268}," to retrieve:\n",{"type":40,"tag":71,"props":270,"children":271},{},[272,277,282,287],{"type":40,"tag":75,"props":273,"children":274},{},[275],{"type":46,"value":276},"Last published date",{"type":40,"tag":75,"props":278,"children":279},{},[280],{"type":46,"value":281},"Last updated date",{"type":40,"tag":75,"props":283,"children":284},{},[285],{"type":46,"value":286},"Custom domains configured",{"type":40,"tag":75,"props":288,"children":289},{},[290],{"type":46,"value":291},"Locale settings",{"type":40,"tag":75,"props":293,"children":294},{},[295,300,302],{"type":40,"tag":65,"props":296,"children":297},{},[298],{"type":46,"value":299},"Check publish status",{"type":46,"value":301},": Determine if site has unpublished changes:\n",{"type":40,"tag":71,"props":303,"children":304},{},[305,326,338],{"type":40,"tag":75,"props":306,"children":307},{},[308,310,316,318,324],{"type":46,"value":309},"Compare ",{"type":40,"tag":81,"props":311,"children":313},{"className":312},[],[314],{"type":46,"value":315},"lastUpdated",{"type":46,"value":317}," vs ",{"type":40,"tag":81,"props":319,"children":321},{"className":320},[],[322],{"type":46,"value":323},"lastPublished",{"type":46,"value":325}," timestamps",{"type":40,"tag":75,"props":327,"children":328},{},[329,331,336],{"type":46,"value":330},"If ",{"type":40,"tag":81,"props":332,"children":334},{"className":333},[],[335],{"type":46,"value":323},{"type":46,"value":337}," is null, site has never been published",{"type":40,"tag":75,"props":339,"children":340},{},[341,342,347,349,354],{"type":46,"value":330},{"type":40,"tag":81,"props":343,"children":345},{"className":344},[],[346],{"type":46,"value":315},{"type":46,"value":348}," > ",{"type":40,"tag":81,"props":350,"children":352},{"className":351},[],[353],{"type":46,"value":323},{"type":46,"value":355},", site has unpublished changes",{"type":40,"tag":226,"props":357,"children":359},{"id":358},"phase-2-change-detection-analysis",[360],{"type":46,"value":361},"Phase 2: Change Detection & Analysis",{"type":40,"tag":233,"props":363,"children":365},{"start":364},4,[366,386,426,446,490],{"type":40,"tag":75,"props":367,"children":368},{},[369,374,375,380,381],{"type":40,"tag":65,"props":370,"children":371},{},[372],{"type":46,"value":373},"List all pages",{"type":46,"value":255},{"type":40,"tag":81,"props":376,"children":378},{"className":377},[],[379],{"type":46,"value":124},{"type":46,"value":88},{"type":40,"tag":81,"props":382,"children":384},{"className":383},[],[385],{"type":46,"value":131},{"type":40,"tag":75,"props":387,"children":388},{},[389,394,396],{"type":40,"tag":65,"props":390,"children":391},{},[392],{"type":46,"value":393},"Identify modified pages",{"type":46,"value":395},":\n",{"type":40,"tag":71,"props":397,"children":398},{},[399,416,421],{"type":40,"tag":75,"props":400,"children":401},{},[402,404,409,411],{"type":46,"value":403},"Compare each page's ",{"type":40,"tag":81,"props":405,"children":407},{"className":406},[],[408],{"type":46,"value":315},{"type":46,"value":410}," with site's ",{"type":40,"tag":81,"props":412,"children":414},{"className":413},[],[415],{"type":46,"value":323},{"type":40,"tag":75,"props":417,"children":418},{},[419],{"type":46,"value":420},"Flag pages modified after last publish",{"type":40,"tag":75,"props":422,"children":423},{},[424],{"type":46,"value":425},"Categorize by type (static, CMS template, archived, draft)",{"type":40,"tag":75,"props":427,"children":428},{},[429,434,435,440,441],{"type":40,"tag":65,"props":430,"children":431},{},[432],{"type":46,"value":433},"List all collections",{"type":46,"value":255},{"type":40,"tag":81,"props":436,"children":438},{"className":437},[],[439],{"type":46,"value":143},{"type":46,"value":88},{"type":40,"tag":81,"props":442,"children":444},{"className":443},[],[445],{"type":46,"value":150},{"type":40,"tag":75,"props":447,"children":448},{},[449,454,455],{"type":40,"tag":65,"props":450,"children":451},{},[452],{"type":46,"value":453},"Check for draft items",{"type":46,"value":395},{"type":40,"tag":71,"props":456,"children":457},{},[458,474,485],{"type":40,"tag":75,"props":459,"children":460},{},[461,463,468,469],{"type":46,"value":462},"For each collection, use Webflow MCP's ",{"type":40,"tag":81,"props":464,"children":466},{"className":465},[],[467],{"type":46,"value":143},{"type":46,"value":88},{"type":40,"tag":81,"props":470,"children":472},{"className":471},[],[473],{"type":46,"value":168},{"type":40,"tag":75,"props":475,"children":476},{},[477,479],{"type":46,"value":478},"Count items where ",{"type":40,"tag":81,"props":480,"children":482},{"className":481},[],[483],{"type":46,"value":484},"isDraft: true",{"type":40,"tag":75,"props":486,"children":487},{},[488],{"type":46,"value":489},"Count items modified since last publish",{"type":40,"tag":75,"props":491,"children":492},{},[493,498,499],{"type":40,"tag":65,"props":494,"children":495},{},[496],{"type":46,"value":497},"Detect issues",{"type":46,"value":395},{"type":40,"tag":71,"props":500,"children":501},{},[502,507,512],{"type":40,"tag":75,"props":503,"children":504},{},[505],{"type":46,"value":506},"Draft items that won't be published unless explicitly included",{"type":40,"tag":75,"props":508,"children":509},{},[510],{"type":46,"value":511},"Pages missing SEO metadata",{"type":40,"tag":75,"props":513,"children":514},{},[515],{"type":46,"value":516},"Broken references (if detectable)",{"type":40,"tag":226,"props":518,"children":520},{"id":519},"phase-3-pre-publish-validation-preview",[521],{"type":46,"value":522},"Phase 3: Pre-Publish Validation & Preview",{"type":40,"tag":233,"props":524,"children":526},{"start":525},9,[527,554,586],{"type":40,"tag":75,"props":528,"children":529},{},[530,535,536],{"type":40,"tag":65,"props":531,"children":532},{},[533],{"type":46,"value":534},"Run pre-publish checks",{"type":46,"value":395},{"type":40,"tag":71,"props":537,"children":538},{},[539,544,549],{"type":40,"tag":75,"props":540,"children":541},{},[542],{"type":46,"value":543},"Verify no broken collection references",{"type":40,"tag":75,"props":545,"children":546},{},[547],{"type":46,"value":548},"Check for pages with missing required fields",{"type":40,"tag":75,"props":550,"children":551},{},[552],{"type":46,"value":553},"Warn about draft items that will remain unpublished",{"type":40,"tag":75,"props":555,"children":556},{},[557,562,563],{"type":40,"tag":65,"props":558,"children":559},{},[560],{"type":46,"value":561},"Generate detailed preview",{"type":46,"value":395},{"type":40,"tag":71,"props":564,"children":565},{},[566,571,576,581],{"type":40,"tag":75,"props":567,"children":568},{},[569],{"type":46,"value":570},"Show all pages to be published",{"type":40,"tag":75,"props":572,"children":573},{},[574],{"type":46,"value":575},"Show all CMS items to be published",{"type":40,"tag":75,"props":577,"children":578},{},[579],{"type":46,"value":580},"Display warnings for any issues found",{"type":40,"tag":75,"props":582,"children":583},{},[584],{"type":46,"value":585},"Show which domains will be updated",{"type":40,"tag":75,"props":587,"children":588},{},[589,594,595],{"type":40,"tag":65,"props":590,"children":591},{},[592],{"type":46,"value":593},"Ask for publish scope",{"type":46,"value":395},{"type":40,"tag":71,"props":596,"children":597},{},[598,603,608],{"type":40,"tag":75,"props":599,"children":600},{},[601],{"type":46,"value":602},"Webflow subdomain only",{"type":40,"tag":75,"props":604,"children":605},{},[606],{"type":46,"value":607},"Custom domains only",{"type":40,"tag":75,"props":609,"children":610},{},[611],{"type":46,"value":612},"Both subdomain and custom domains",{"type":40,"tag":226,"props":614,"children":616},{"id":615},"phase-4-confirmation-publishing",[617],{"type":46,"value":618},"Phase 4: Confirmation & Publishing",{"type":40,"tag":233,"props":620,"children":622},{"start":621},12,[623,650,705],{"type":40,"tag":75,"props":624,"children":625},{},[626,631,632],{"type":40,"tag":65,"props":627,"children":628},{},[629],{"type":46,"value":630},"Require explicit confirmation",{"type":46,"value":395},{"type":40,"tag":71,"props":633,"children":634},{},[635,640,645],{"type":40,"tag":75,"props":636,"children":637},{},[638],{"type":46,"value":639},"User must type \"publish\" to proceed",{"type":40,"tag":75,"props":641,"children":642},{},[643],{"type":46,"value":644},"\"yes\" or \"y\" should NOT trigger publish",{"type":40,"tag":75,"props":646,"children":647},{},[648],{"type":46,"value":649},"Show clear warning about what will go live",{"type":40,"tag":75,"props":651,"children":652},{},[653,658,659],{"type":40,"tag":65,"props":654,"children":655},{},[656],{"type":46,"value":657},"Execute publish",{"type":46,"value":395},{"type":40,"tag":71,"props":660,"children":661},{},[662,679,692],{"type":40,"tag":75,"props":663,"children":664},{},[665,666,671,672,677],{"type":46,"value":79},{"type":40,"tag":81,"props":667,"children":669},{"className":668},[],[670],{"type":46,"value":86},{"type":46,"value":88},{"type":40,"tag":81,"props":673,"children":675},{"className":674},[],[676],{"type":46,"value":186},{"type":46,"value":678}," with correct parameters",{"type":40,"tag":75,"props":680,"children":681},{},[682,684,690],{"type":46,"value":683},"Handle ",{"type":40,"tag":81,"props":685,"children":687},{"className":686},[],[688],{"type":46,"value":689},"customDomains",{"type":46,"value":691}," as empty array if no custom domains",{"type":40,"tag":75,"props":693,"children":694},{},[695,697,703],{"type":46,"value":696},"Set ",{"type":40,"tag":81,"props":698,"children":700},{"className":699},[],[701],{"type":46,"value":702},"publishToWebflowSubdomain",{"type":46,"value":704}," based on user choice",{"type":40,"tag":75,"props":706,"children":707},{},[708,713,714],{"type":40,"tag":65,"props":709,"children":710},{},[711],{"type":46,"value":712},"Capture publish timestamp",{"type":46,"value":395},{"type":40,"tag":71,"props":715,"children":716},{},[717,722],{"type":40,"tag":75,"props":718,"children":719},{},[720],{"type":46,"value":721},"Fetch site info again after publish",{"type":40,"tag":75,"props":723,"children":724},{},[725,727,732],{"type":46,"value":726},"Record exact publish time from ",{"type":40,"tag":81,"props":728,"children":730},{"className":729},[],[731],{"type":46,"value":323},{"type":46,"value":733}," field",{"type":40,"tag":226,"props":735,"children":737},{"id":736},"phase-5-verification-reporting",[738],{"type":46,"value":739},"Phase 5: Verification & Reporting",{"type":40,"tag":233,"props":741,"children":743},{"start":742},15,[744,778,810],{"type":40,"tag":75,"props":745,"children":746},{},[747,752,753],{"type":40,"tag":65,"props":748,"children":749},{},[750],{"type":46,"value":751},"Verify publish success",{"type":46,"value":395},{"type":40,"tag":71,"props":754,"children":755},{},[756,768,773],{"type":40,"tag":75,"props":757,"children":758},{},[759,761,766],{"type":46,"value":760},"Check that ",{"type":40,"tag":81,"props":762,"children":764},{"className":763},[],[765],{"type":46,"value":323},{"type":46,"value":767}," timestamp updated",{"type":40,"tag":75,"props":769,"children":770},{},[771],{"type":46,"value":772},"Verify site is accessible at published URL(s)",{"type":40,"tag":75,"props":774,"children":775},{},[776],{"type":46,"value":777},"Report any verification failures clearly",{"type":40,"tag":75,"props":779,"children":780},{},[781,786,787],{"type":40,"tag":65,"props":782,"children":783},{},[784],{"type":46,"value":785},"Generate success report",{"type":46,"value":395},{"type":40,"tag":71,"props":788,"children":789},{},[790,795,800,805],{"type":40,"tag":75,"props":791,"children":792},{},[793],{"type":46,"value":794},"Show publish timestamp",{"type":40,"tag":75,"props":796,"children":797},{},[798],{"type":46,"value":799},"List what went live (pages, items)",{"type":40,"tag":75,"props":801,"children":802},{},[803],{"type":46,"value":804},"Provide published URL(s)",{"type":40,"tag":75,"props":806,"children":807},{},[808],{"type":46,"value":809},"Show verification status",{"type":40,"tag":75,"props":811,"children":812},{},[813,818,819],{"type":40,"tag":65,"props":814,"children":815},{},[816],{"type":46,"value":817},"Handle failures gracefully",{"type":46,"value":395},{"type":40,"tag":71,"props":820,"children":821},{},[822,827,832],{"type":40,"tag":75,"props":823,"children":824},{},[825],{"type":46,"value":826},"If publish fails, show clear error message",{"type":40,"tag":75,"props":828,"children":829},{},[830],{"type":46,"value":831},"Suggest remediation steps",{"type":40,"tag":75,"props":833,"children":834},{},[835],{"type":46,"value":836},"Do not retry automatically",{"type":40,"tag":55,"props":838,"children":840},{"id":839},"examples",[841],{"type":46,"value":842},"Examples",{"type":40,"tag":49,"props":844,"children":845},{},[846],{"type":40,"tag":65,"props":847,"children":848},{},[849],{"type":46,"value":850},"User prompt:",{"type":40,"tag":852,"props":853,"children":857},"pre",{"className":854,"code":856,"language":46},[855],"language-text","Publish my site\n",[858],{"type":40,"tag":81,"props":859,"children":861},{"__ignoreMap":860},"",[862],{"type":46,"value":856},{"type":40,"tag":49,"props":864,"children":865},{},[866],{"type":40,"tag":65,"props":867,"children":868},{},[869],{"type":46,"value":870},"Step 1: Site Selection",{"type":40,"tag":852,"props":872,"children":875},{"className":873,"code":874,"language":46},[855],"🚀 Safe Publish - Site Selection\n\nAvailable Sites:\n\n1. **MCP Demo#1**\n   - Last published: January 9, 2026 at 20:05:38 UTC\n   - Last updated: January 9, 2026 at 20:49:37 UTC\n   - ⚠️ **Has unpublished changes** (updated 44 minutes after last publish)\n\n2. **MCP Demo#2**\n   - Last updated: January 9, 2026 at 19:32:53 UTC\n   - Status: Not yet published\n\nWhich site would you like to publish? (1-2)\n",[876],{"type":40,"tag":81,"props":877,"children":878},{"__ignoreMap":860},[879],{"type":46,"value":874},{"type":40,"tag":49,"props":881,"children":882},{},[883],{"type":40,"tag":65,"props":884,"children":885},{},[886],{"type":46,"value":887},"Step 2: Change Detection & Preview",{"type":40,"tag":852,"props":889,"children":892},{"className":890,"code":891,"language":46},[855],"🚀 Publish Preview: MCP Demo#1\n\n**Last published:** January 9, 2026 at 20:05:38 UTC\n**Time since last publish:** ~1 hour 5 minutes\n\n---\n\n## Changes to Publish:\n\n### 📄 Pages Modified: 1\n└── **Home** (\u002F)\n    - SEO title updated to \"Home Page\"\n    - Last modified: 21:10:52 UTC\n\n### 📝 CMS Items: 2 draft items to publish\n\n**Blog Posts (2 drafts):**\n\n1. **\"Why Webflow MCP Will Transform Your Workflow in 2026!\"**\n   - Status: Draft\n   - Created: 20:24:44 UTC\n   - Last modified: 21:11:03 UTC\n   - Featured: Yes\n   - Slug: webflow-mcp-transform-workflow-2026\n\n2. **\"Webflow E-commerce: The Future of Online Shopping in 2026!\"**\n   - Status: Draft\n   - Created: 20:05:24 UTC\n   - Last modified: 21:11:11 UTC\n   - Featured: Yes\n   - Slug: webflow-ecommerce-2026\n\n---\n\n**Pre-Publish Checks:**\n- ✅ No broken references detected\n- ✅ All required fields populated\n- ⚠️ 2 draft items will become published\n\n**Publish Targets:**\n- Webflow subdomain: mcp-demo-1-e88499.webflow.io\n- Custom domains: None configured\n\n**⚠️ Type \"publish\" to make these changes live.**\n",[893],{"type":40,"tag":81,"props":894,"children":895},{"__ignoreMap":860},[896],{"type":46,"value":891},{"type":40,"tag":49,"props":898,"children":899},{},[900],{"type":40,"tag":65,"props":901,"children":902},{},[903],{"type":46,"value":904},"Step 3: After user types \"publish\"",{"type":40,"tag":852,"props":906,"children":909},{"className":907,"code":908,"language":46},[855],"🔄 Publishing MCP Demo#1...\n\nProgress: ████████████████████ 100%\n\n✅ Published Successfully!\n\n**Site:** MCP Demo#1\n**Published at:** 2026-01-09 21:12:52 UTC (January 9, 2026 at 21:12:52)\n\n---\n\n## What Went Live:\n\n### 📄 Pages (1)\n- ✅ Home (\u002F) - SEO title updated\n\n### 📝 Blog Posts (2)\n- ✅ \"Why Webflow MCP Will Transform Your Workflow in 2026!\"\n- ✅ \"Webflow E-commerce: The Future of Online Shopping in 2026!\"\n\n---\n\n## Verification:\n\n- ✅ **Site accessible:** Yes\n- ✅ **URL:** https:\u002F\u002Fmcp-demo-1-e88499.webflow.io\n- ✅ **Status:** Page loading successfully\n- ✅ **Content delivery:** Webflow CDN responding\n\n---\n\n**🎉 Your site is now live with all changes published!**\n\nAll unpublished changes have been successfully published to the Webflow subdomain. The 2 draft blog posts are now visible on your site.\n",[910],{"type":40,"tag":81,"props":911,"children":912},{"__ignoreMap":860},[913],{"type":46,"value":908},{"type":40,"tag":49,"props":915,"children":916},{},[917],{"type":40,"tag":65,"props":918,"children":919},{},[920],{"type":46,"value":921},"Alternative: With Warnings",{"type":40,"tag":852,"props":923,"children":926},{"className":924,"code":925,"language":46},[855],"🚀 Publish Preview: Company Site\n\n**Last published:** January 8, 2026 at 14:30:00 UTC\n\n---\n\n## Changes to Publish:\n\n### 📄 Pages Modified: 3\n├── **About** (\u002Fabout)\n│   └── Content updated\n├── **Contact** (\u002Fcontact)\n│   └── Form fields changed\n└── **Home** (\u002F)\n    └── Hero section updated\n\n### 📝 CMS Items\n\n**Blog Posts:**\n- 5 published items modified\n- 2 draft items (will NOT be published automatically)\n\n**Products:**\n- 3 new items created\n- 1 item updated\n\n---\n\n**Pre-Publish Checks:**\n⚠️ **Warnings Found:**\n\n1. **Missing SEO Metadata (2 pages):**\n   - \u002Fabout - No meta description\n   - \u002Fcontact - No meta title or description\n   - 💡 Recommendation: Add SEO metadata before publishing\n\n2. **Draft Items (2):**\n   - \"Upcoming Product Launch\" (Blog Post)\n   - \"Holiday Sale Announcement\" (Blog Post)\n   - ⚠️ These will remain unpublished\n\n3. **Large Change Set:**\n   - 3 pages + 9 CMS items will be updated\n   - Consider reviewing changes carefully\n\n**Publish Targets:**\n- Webflow subdomain: company-site.webflow.io\n- Custom domains: example.com, www.example.com\n\n---\n\n**Would you like to:**\n1. Proceed with publish (type \"publish\")\n2. Cancel and review (type \"cancel\")\n",[927],{"type":40,"tag":81,"props":928,"children":929},{"__ignoreMap":860},[930],{"type":46,"value":925},{"type":40,"tag":55,"props":932,"children":934},{"id":933},"guidelines",[935],{"type":46,"value":936},"Guidelines",{"type":40,"tag":226,"props":938,"children":940},{"id":939},"phase-1-critical-requirements",[941],{"type":46,"value":942},"Phase 1: Critical Requirements",{"type":40,"tag":49,"props":944,"children":945},{},[946],{"type":40,"tag":65,"props":947,"children":948},{},[949],{"type":46,"value":950},"Site Status Check:",{"type":40,"tag":71,"props":952,"children":953},{},[954,970,987,992],{"type":40,"tag":75,"props":955,"children":956},{},[957,959,964,965],{"type":46,"value":958},"Always fetch complete site details using ",{"type":40,"tag":81,"props":960,"children":962},{"className":961},[],[963],{"type":46,"value":86},{"type":46,"value":88},{"type":40,"tag":81,"props":966,"children":968},{"className":967},[],[969],{"type":46,"value":112},{"type":40,"tag":75,"props":971,"children":972},{},[973,974,979,980,985],{"type":46,"value":309},{"type":40,"tag":81,"props":975,"children":977},{"className":976},[],[978],{"type":46,"value":315},{"type":46,"value":317},{"type":40,"tag":81,"props":981,"children":983},{"className":982},[],[984],{"type":46,"value":323},{"type":46,"value":986}," to detect unpublished changes",{"type":40,"tag":75,"props":988,"children":989},{},[990],{"type":46,"value":991},"If timestamps are identical, inform user \"No changes to publish\"",{"type":40,"tag":75,"props":993,"children":994},{},[995,996,1001],{"type":46,"value":330},{"type":40,"tag":81,"props":997,"children":999},{"className":998},[],[1000],{"type":46,"value":323},{"type":46,"value":1002}," is null, warn \"First publish - entire site will go live\"",{"type":40,"tag":49,"props":1004,"children":1005},{},[1006],{"type":40,"tag":65,"props":1007,"children":1008},{},[1009],{"type":46,"value":1010},"Timestamp Handling:",{"type":40,"tag":71,"props":1012,"children":1013},{},[1014,1019,1024],{"type":40,"tag":75,"props":1015,"children":1016},{},[1017],{"type":46,"value":1018},"Store both ISO format and human-readable format",{"type":40,"tag":75,"props":1020,"children":1021},{},[1022],{"type":46,"value":1023},"Calculate time elapsed since last publish",{"type":40,"tag":75,"props":1025,"children":1026},{},[1027],{"type":46,"value":1028},"Show timezone (prefer UTC for clarity)",{"type":40,"tag":226,"props":1030,"children":1032},{"id":1031},"phase-2-change-detection-rules",[1033],{"type":46,"value":1034},"Phase 2: Change Detection Rules",{"type":40,"tag":49,"props":1036,"children":1037},{},[1038],{"type":40,"tag":65,"props":1039,"children":1040},{},[1041],{"type":46,"value":1042},"Page Change Detection:",{"type":40,"tag":71,"props":1044,"children":1045},{},[1046,1063,1074],{"type":40,"tag":75,"props":1047,"children":1048},{},[1049,1051,1056,1058],{"type":46,"value":1050},"Compare page ",{"type":40,"tag":81,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":46,"value":315},{"type":46,"value":1057}," with site ",{"type":40,"tag":81,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":46,"value":323},{"type":40,"tag":75,"props":1064,"children":1065},{},[1066,1068],{"type":46,"value":1067},"Only flag pages where ",{"type":40,"tag":81,"props":1069,"children":1071},{"className":1070},[],[1072],{"type":46,"value":1073},"lastUpdated > lastPublished",{"type":40,"tag":75,"props":1075,"children":1076},{},[1077,1079],{"type":46,"value":1078},"Categorize changes:\n",{"type":40,"tag":71,"props":1080,"children":1081},{},[1082,1087,1092],{"type":40,"tag":75,"props":1083,"children":1084},{},[1085],{"type":46,"value":1086},"Content changes (hard to detect via API)",{"type":40,"tag":75,"props":1088,"children":1089},{},[1090],{"type":46,"value":1091},"SEO metadata changes (compare if available)",{"type":40,"tag":75,"props":1093,"children":1094},{},[1095],{"type":46,"value":1096},"Structural changes (page created\u002Fdeleted)",{"type":40,"tag":49,"props":1098,"children":1099},{},[1100],{"type":40,"tag":65,"props":1101,"children":1102},{},[1103],{"type":46,"value":1104},"CMS Item Detection:",{"type":40,"tag":71,"props":1106,"children":1107},{},[1108,1121,1136],{"type":40,"tag":75,"props":1109,"children":1110},{},[1111,1113,1119],{"type":46,"value":1112},"Check ",{"type":40,"tag":81,"props":1114,"children":1116},{"className":1115},[],[1117],{"type":46,"value":1118},"isDraft",{"type":46,"value":1120}," field for all items",{"type":40,"tag":75,"props":1122,"children":1123},{},[1124,1125,1130,1131],{"type":46,"value":309},{"type":40,"tag":81,"props":1126,"children":1128},{"className":1127},[],[1129],{"type":46,"value":315},{"type":46,"value":1057},{"type":40,"tag":81,"props":1132,"children":1134},{"className":1133},[],[1135],{"type":46,"value":323},{"type":40,"tag":75,"props":1137,"children":1138},{},[1139,1141],{"type":46,"value":1140},"Count items in each state:\n",{"type":40,"tag":71,"props":1142,"children":1143},{},[1144,1149,1154,1159],{"type":40,"tag":75,"props":1145,"children":1146},{},[1147],{"type":46,"value":1148},"Published + not modified",{"type":40,"tag":75,"props":1150,"children":1151},{},[1152],{"type":46,"value":1153},"Published + modified",{"type":40,"tag":75,"props":1155,"children":1156},{},[1157],{"type":46,"value":1158},"Draft (won't be published)",{"type":40,"tag":75,"props":1160,"children":1161},{},[1162],{"type":46,"value":1163},"Archived (won't appear on site)",{"type":40,"tag":49,"props":1165,"children":1166},{},[1167],{"type":40,"tag":65,"props":1168,"children":1169},{},[1170],{"type":46,"value":1171},"Collections to Check:",{"type":40,"tag":71,"props":1173,"children":1174},{},[1175,1191,1207],{"type":40,"tag":75,"props":1176,"children":1177},{},[1178,1180,1185,1186],{"type":46,"value":1179},"Query all collections with ",{"type":40,"tag":81,"props":1181,"children":1183},{"className":1182},[],[1184],{"type":46,"value":143},{"type":46,"value":88},{"type":40,"tag":81,"props":1187,"children":1189},{"className":1188},[],[1190],{"type":46,"value":150},{"type":40,"tag":75,"props":1192,"children":1193},{},[1194,1196,1201,1202],{"type":46,"value":1195},"For each collection, list items with ",{"type":40,"tag":81,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":46,"value":143},{"type":46,"value":88},{"type":40,"tag":81,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":46,"value":168},{"type":40,"tag":75,"props":1208,"children":1209},{},[1210],{"type":46,"value":1211},"Batch queries if site has many collections (10+ collections)",{"type":40,"tag":226,"props":1213,"children":1215},{"id":1214},"phase-3-pre-publish-validation",[1216],{"type":46,"value":1217},"Phase 3: Pre-Publish Validation",{"type":40,"tag":49,"props":1219,"children":1220},{},[1221],{"type":40,"tag":65,"props":1222,"children":1223},{},[1224],{"type":46,"value":1225},"Required Checks:",{"type":40,"tag":233,"props":1227,"children":1228},{},[1229,1255,1276,1316],{"type":40,"tag":75,"props":1230,"children":1231},{},[1232,1237],{"type":40,"tag":65,"props":1233,"children":1234},{},[1235],{"type":46,"value":1236},"Broken References:",{"type":40,"tag":71,"props":1238,"children":1239},{},[1240,1245,1250],{"type":40,"tag":75,"props":1241,"children":1242},{},[1243],{"type":46,"value":1244},"Check if referenced items exist",{"type":40,"tag":75,"props":1246,"children":1247},{},[1248],{"type":46,"value":1249},"Warn if reference field points to deleted\u002Farchived item",{"type":40,"tag":75,"props":1251,"children":1252},{},[1253],{"type":46,"value":1254},"Note: API may not expose this easily - best effort",{"type":40,"tag":75,"props":1256,"children":1257},{},[1258,1263],{"type":40,"tag":65,"props":1259,"children":1260},{},[1261],{"type":46,"value":1262},"Missing Required Fields:",{"type":40,"tag":71,"props":1264,"children":1265},{},[1266,1271],{"type":40,"tag":75,"props":1267,"children":1268},{},[1269],{"type":46,"value":1270},"Verify all required CMS fields are populated",{"type":40,"tag":75,"props":1272,"children":1273},{},[1274],{"type":46,"value":1275},"Warn if required fields are empty (shouldn't be possible, but check)",{"type":40,"tag":75,"props":1277,"children":1278},{},[1279,1284],{"type":40,"tag":65,"props":1280,"children":1281},{},[1282],{"type":46,"value":1283},"SEO Completeness:",{"type":40,"tag":71,"props":1285,"children":1286},{},[1287,1306,1311],{"type":40,"tag":75,"props":1288,"children":1289},{},[1290,1292,1298,1300],{"type":46,"value":1291},"Check pages for missing ",{"type":40,"tag":81,"props":1293,"children":1295},{"className":1294},[],[1296],{"type":46,"value":1297},"seo.title",{"type":46,"value":1299}," or ",{"type":40,"tag":81,"props":1301,"children":1303},{"className":1302},[],[1304],{"type":46,"value":1305},"seo.description",{"type":40,"tag":75,"props":1307,"children":1308},{},[1309],{"type":46,"value":1310},"Warn but don't block publish",{"type":40,"tag":75,"props":1312,"children":1313},{},[1314],{"type":46,"value":1315},"Provide recommendations for improvement",{"type":40,"tag":75,"props":1317,"children":1318},{},[1319,1324],{"type":40,"tag":65,"props":1320,"children":1321},{},[1322],{"type":46,"value":1323},"Draft Item Warning:",{"type":40,"tag":71,"props":1325,"children":1326},{},[1327,1332,1337],{"type":40,"tag":75,"props":1328,"children":1329},{},[1330],{"type":46,"value":1331},"Clearly list all draft items",{"type":40,"tag":75,"props":1333,"children":1334},{},[1335],{"type":46,"value":1336},"Explain they will remain unpublished",{"type":40,"tag":75,"props":1338,"children":1339},{},[1340],{"type":46,"value":1341},"Offer to cancel if user wants to publish drafts first",{"type":40,"tag":49,"props":1343,"children":1344},{},[1345],{"type":40,"tag":65,"props":1346,"children":1347},{},[1348],{"type":46,"value":1349},"Warning Levels:",{"type":40,"tag":71,"props":1351,"children":1352},{},[1353,1365,1377],{"type":40,"tag":75,"props":1354,"children":1355},{},[1356,1358,1363],{"type":46,"value":1357},"🔴 ",{"type":40,"tag":65,"props":1359,"children":1360},{},[1361],{"type":46,"value":1362},"Critical",{"type":46,"value":1364},": Would break site (broken refs, missing required fields)",{"type":40,"tag":75,"props":1366,"children":1367},{},[1368,1370,1375],{"type":46,"value":1369},"⚠️ ",{"type":40,"tag":65,"props":1371,"children":1372},{},[1373],{"type":46,"value":1374},"Warning",{"type":46,"value":1376},": Suboptimal but publishable (missing SEO, drafts)",{"type":40,"tag":75,"props":1378,"children":1379},{},[1380,1382,1387],{"type":46,"value":1381},"💡 ",{"type":40,"tag":65,"props":1383,"children":1384},{},[1385],{"type":46,"value":1386},"Suggestion",{"type":46,"value":1388},": Best practices (add meta descriptions, optimize images)",{"type":40,"tag":49,"props":1390,"children":1391},{},[1392],{"type":40,"tag":65,"props":1393,"children":1394},{},[1395],{"type":46,"value":1396},"When to Block Publish:",{"type":40,"tag":71,"props":1398,"children":1399},{},[1400,1405,1410],{"type":40,"tag":75,"props":1401,"children":1402},{},[1403],{"type":46,"value":1404},"Only block if critical errors found",{"type":40,"tag":75,"props":1406,"children":1407},{},[1408],{"type":46,"value":1409},"For warnings and suggestions, allow user to proceed",{"type":40,"tag":75,"props":1411,"children":1412},{},[1413],{"type":46,"value":1414},"Always show warnings prominently",{"type":40,"tag":226,"props":1416,"children":1418},{"id":1417},"phase-4-confirmation-publishing-1",[1419],{"type":46,"value":618},{"type":40,"tag":49,"props":1421,"children":1422},{},[1423],{"type":40,"tag":65,"props":1424,"children":1425},{},[1426],{"type":46,"value":1427},"Confirmation Requirements:",{"type":40,"tag":71,"props":1429,"children":1430},{},[1431,1436,1441,1446],{"type":40,"tag":75,"props":1432,"children":1433},{},[1434],{"type":46,"value":1435},"User MUST type \"publish\" (case-insensitive)",{"type":40,"tag":75,"props":1437,"children":1438},{},[1439],{"type":46,"value":1440},"Do NOT accept: \"yes\", \"y\", \"ok\", \"go\", \"confirm\"",{"type":40,"tag":75,"props":1442,"children":1443},{},[1444],{"type":46,"value":1445},"Rationale: Prevents accidental publishes from generic confirmations",{"type":40,"tag":75,"props":1447,"children":1448},{},[1449],{"type":46,"value":1450},"If user types anything else, ask again or treat as cancel",{"type":40,"tag":49,"props":1452,"children":1453},{},[1454],{"type":40,"tag":65,"props":1455,"children":1456},{},[1457],{"type":46,"value":1458},"Publish API Usage:",{"type":40,"tag":852,"props":1460,"children":1464},{"className":1461,"code":1462,"language":1463,"meta":860,"style":860},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Correct format for data_sites_tool with action publish_site\n{\n  \"site_id\": \"site-id-here\",\n  \"publishToWebflowSubdomain\": true,  \u002F\u002F or false\n  \"customDomains\": []  \u002F\u002F MUST be array, even if empty\n}\n\n\u002F\u002F If custom domains exist:\n{\n  \"site_id\": \"site-id-here\",\n  \"publishToWebflowSubdomain\": false,\n  \"customDomains\": [\"example.com\", \"www.example.com\"]\n}\n","javascript",[1465],{"type":40,"tag":81,"props":1466,"children":1467},{"__ignoreMap":860},[1468,1480,1490,1534,1569,1595,1604,1614,1623,1630,1666,1695,1751],{"type":40,"tag":1469,"props":1470,"children":1473},"span",{"class":1471,"line":1472},"line",1,[1474],{"type":40,"tag":1469,"props":1475,"children":1477},{"style":1476},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1478],{"type":46,"value":1479},"\u002F\u002F Correct format for data_sites_tool with action publish_site\n",{"type":40,"tag":1469,"props":1481,"children":1483},{"class":1471,"line":1482},2,[1484],{"type":40,"tag":1469,"props":1485,"children":1487},{"style":1486},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1488],{"type":46,"value":1489},"{\n",{"type":40,"tag":1469,"props":1491,"children":1493},{"class":1471,"line":1492},3,[1494,1499,1505,1510,1516,1520,1525,1529],{"type":40,"tag":1469,"props":1495,"children":1496},{"style":1486},[1497],{"type":46,"value":1498},"  \"",{"type":40,"tag":1469,"props":1500,"children":1502},{"style":1501},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1503],{"type":46,"value":1504},"site_id",{"type":40,"tag":1469,"props":1506,"children":1507},{"style":1486},[1508],{"type":46,"value":1509},"\"",{"type":40,"tag":1469,"props":1511,"children":1513},{"style":1512},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1514],{"type":46,"value":1515},": ",{"type":40,"tag":1469,"props":1517,"children":1518},{"style":1486},[1519],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1521,"children":1522},{"style":1501},[1523],{"type":46,"value":1524},"site-id-here",{"type":40,"tag":1469,"props":1526,"children":1527},{"style":1486},[1528],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1530,"children":1531},{"style":1486},[1532],{"type":46,"value":1533},",\n",{"type":40,"tag":1469,"props":1535,"children":1536},{"class":1471,"line":364},[1537,1541,1545,1549,1553,1559,1564],{"type":40,"tag":1469,"props":1538,"children":1539},{"style":1486},[1540],{"type":46,"value":1498},{"type":40,"tag":1469,"props":1542,"children":1543},{"style":1501},[1544],{"type":46,"value":702},{"type":40,"tag":1469,"props":1546,"children":1547},{"style":1486},[1548],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1550,"children":1551},{"style":1512},[1552],{"type":46,"value":1515},{"type":40,"tag":1469,"props":1554,"children":1556},{"style":1555},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1557],{"type":46,"value":1558},"true",{"type":40,"tag":1469,"props":1560,"children":1561},{"style":1486},[1562],{"type":46,"value":1563},",",{"type":40,"tag":1469,"props":1565,"children":1566},{"style":1476},[1567],{"type":46,"value":1568},"  \u002F\u002F or false\n",{"type":40,"tag":1469,"props":1570,"children":1572},{"class":1471,"line":1571},5,[1573,1577,1581,1585,1590],{"type":40,"tag":1469,"props":1574,"children":1575},{"style":1486},[1576],{"type":46,"value":1498},{"type":40,"tag":1469,"props":1578,"children":1579},{"style":1501},[1580],{"type":46,"value":689},{"type":40,"tag":1469,"props":1582,"children":1583},{"style":1486},[1584],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1586,"children":1587},{"style":1512},[1588],{"type":46,"value":1589},": []  ",{"type":40,"tag":1469,"props":1591,"children":1592},{"style":1476},[1593],{"type":46,"value":1594},"\u002F\u002F MUST be array, even if empty\n",{"type":40,"tag":1469,"props":1596,"children":1598},{"class":1471,"line":1597},6,[1599],{"type":40,"tag":1469,"props":1600,"children":1601},{"style":1486},[1602],{"type":46,"value":1603},"}\n",{"type":40,"tag":1469,"props":1605,"children":1607},{"class":1471,"line":1606},7,[1608],{"type":40,"tag":1469,"props":1609,"children":1611},{"emptyLinePlaceholder":1610},true,[1612],{"type":46,"value":1613},"\n",{"type":40,"tag":1469,"props":1615,"children":1617},{"class":1471,"line":1616},8,[1618],{"type":40,"tag":1469,"props":1619,"children":1620},{"style":1476},[1621],{"type":46,"value":1622},"\u002F\u002F If custom domains exist:\n",{"type":40,"tag":1469,"props":1624,"children":1625},{"class":1471,"line":525},[1626],{"type":40,"tag":1469,"props":1627,"children":1628},{"style":1486},[1629],{"type":46,"value":1489},{"type":40,"tag":1469,"props":1631,"children":1633},{"class":1471,"line":1632},10,[1634,1638,1642,1646,1650,1654,1658,1662],{"type":40,"tag":1469,"props":1635,"children":1636},{"style":1486},[1637],{"type":46,"value":1498},{"type":40,"tag":1469,"props":1639,"children":1640},{"style":1501},[1641],{"type":46,"value":1504},{"type":40,"tag":1469,"props":1643,"children":1644},{"style":1486},[1645],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1647,"children":1648},{"style":1512},[1649],{"type":46,"value":1515},{"type":40,"tag":1469,"props":1651,"children":1652},{"style":1486},[1653],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1655,"children":1656},{"style":1501},[1657],{"type":46,"value":1524},{"type":40,"tag":1469,"props":1659,"children":1660},{"style":1486},[1661],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1663,"children":1664},{"style":1486},[1665],{"type":46,"value":1533},{"type":40,"tag":1469,"props":1667,"children":1669},{"class":1471,"line":1668},11,[1670,1674,1678,1682,1686,1691],{"type":40,"tag":1469,"props":1671,"children":1672},{"style":1486},[1673],{"type":46,"value":1498},{"type":40,"tag":1469,"props":1675,"children":1676},{"style":1501},[1677],{"type":46,"value":702},{"type":40,"tag":1469,"props":1679,"children":1680},{"style":1486},[1681],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1683,"children":1684},{"style":1512},[1685],{"type":46,"value":1515},{"type":40,"tag":1469,"props":1687,"children":1688},{"style":1555},[1689],{"type":46,"value":1690},"false",{"type":40,"tag":1469,"props":1692,"children":1693},{"style":1486},[1694],{"type":46,"value":1533},{"type":40,"tag":1469,"props":1696,"children":1697},{"class":1471,"line":621},[1698,1702,1706,1710,1715,1719,1724,1728,1732,1737,1742,1746],{"type":40,"tag":1469,"props":1699,"children":1700},{"style":1486},[1701],{"type":46,"value":1498},{"type":40,"tag":1469,"props":1703,"children":1704},{"style":1501},[1705],{"type":46,"value":689},{"type":40,"tag":1469,"props":1707,"children":1708},{"style":1486},[1709],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1711,"children":1712},{"style":1512},[1713],{"type":46,"value":1714},": [",{"type":40,"tag":1469,"props":1716,"children":1717},{"style":1486},[1718],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1720,"children":1721},{"style":1501},[1722],{"type":46,"value":1723},"example.com",{"type":40,"tag":1469,"props":1725,"children":1726},{"style":1486},[1727],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1729,"children":1730},{"style":1486},[1731],{"type":46,"value":1563},{"type":40,"tag":1469,"props":1733,"children":1734},{"style":1486},[1735],{"type":46,"value":1736}," \"",{"type":40,"tag":1469,"props":1738,"children":1739},{"style":1501},[1740],{"type":46,"value":1741},"www.example.com",{"type":40,"tag":1469,"props":1743,"children":1744},{"style":1486},[1745],{"type":46,"value":1509},{"type":40,"tag":1469,"props":1747,"children":1748},{"style":1512},[1749],{"type":46,"value":1750},"]\n",{"type":40,"tag":1469,"props":1752,"children":1754},{"class":1471,"line":1753},13,[1755],{"type":40,"tag":1469,"props":1756,"children":1757},{"style":1486},[1758],{"type":46,"value":1603},{"type":40,"tag":49,"props":1760,"children":1761},{},[1762],{"type":40,"tag":65,"props":1763,"children":1764},{},[1765],{"type":46,"value":1766},"Domain Selection:",{"type":40,"tag":71,"props":1768,"children":1769},{},[1770,1775,1797],{"type":40,"tag":75,"props":1771,"children":1772},{},[1773],{"type":46,"value":1774},"If no custom domains: Publish to subdomain only",{"type":40,"tag":75,"props":1776,"children":1777},{},[1778,1780],{"type":46,"value":1779},"If custom domains exist: Ask user which to publish to\n",{"type":40,"tag":71,"props":1781,"children":1782},{},[1783,1788,1792],{"type":40,"tag":75,"props":1784,"children":1785},{},[1786],{"type":46,"value":1787},"Subdomain only",{"type":40,"tag":75,"props":1789,"children":1790},{},[1791],{"type":46,"value":607},{"type":40,"tag":75,"props":1793,"children":1794},{},[1795],{"type":46,"value":1796},"Both",{"type":40,"tag":75,"props":1798,"children":1799},{},[1800],{"type":46,"value":1801},"Default to subdomain if user doesn't specify",{"type":40,"tag":49,"props":1803,"children":1804},{},[1805],{"type":40,"tag":65,"props":1806,"children":1807},{},[1808],{"type":46,"value":1809},"Error Handling:",{"type":40,"tag":71,"props":1811,"children":1812},{},[1813,1824,1836,1848],{"type":40,"tag":75,"props":1814,"children":1815},{},[1816,1817,1822],{"type":46,"value":330},{"type":40,"tag":81,"props":1818,"children":1820},{"className":1819},[],[1821],{"type":46,"value":689},{"type":46,"value":1823}," validation error: Ensure it's an array",{"type":40,"tag":75,"props":1825,"children":1826},{},[1827,1828,1834],{"type":46,"value":330},{"type":40,"tag":81,"props":1829,"children":1831},{"className":1830},[],[1832],{"type":46,"value":1833},"400 Bad Request",{"type":46,"value":1835},": Check request format",{"type":40,"tag":75,"props":1837,"children":1838},{},[1839,1840,1846],{"type":46,"value":330},{"type":40,"tag":81,"props":1841,"children":1843},{"className":1842},[],[1844],{"type":46,"value":1845},"403 Forbidden",{"type":46,"value":1847},": Check site publish permissions",{"type":40,"tag":75,"props":1849,"children":1850},{},[1851,1852,1858],{"type":46,"value":330},{"type":40,"tag":81,"props":1853,"children":1855},{"className":1854},[],[1856],{"type":46,"value":1857},"500 Server Error",{"type":46,"value":1859},": Retry once after 5 seconds, then report failure",{"type":40,"tag":226,"props":1861,"children":1863},{"id":1862},"phase-5-verification-reporting-1",[1864],{"type":46,"value":739},{"type":40,"tag":49,"props":1866,"children":1867},{},[1868],{"type":40,"tag":65,"props":1869,"children":1870},{},[1871],{"type":46,"value":1872},"Post-Publish Verification:",{"type":40,"tag":233,"props":1874,"children":1875},{},[1876,1921,1952],{"type":40,"tag":75,"props":1877,"children":1878},{},[1879,1884],{"type":40,"tag":65,"props":1880,"children":1881},{},[1882],{"type":46,"value":1883},"Fetch Updated Site Info:",{"type":40,"tag":71,"props":1885,"children":1886},{},[1887,1905,1916],{"type":40,"tag":75,"props":1888,"children":1889},{},[1890,1892,1897,1898,1903],{"type":46,"value":1891},"Call ",{"type":40,"tag":81,"props":1893,"children":1895},{"className":1894},[],[1896],{"type":46,"value":86},{"type":46,"value":88},{"type":40,"tag":81,"props":1899,"children":1901},{"className":1900},[],[1902],{"type":46,"value":112},{"type":46,"value":1904}," again",{"type":40,"tag":75,"props":1906,"children":1907},{},[1908,1910,1915],{"type":46,"value":1909},"Verify ",{"type":40,"tag":81,"props":1911,"children":1913},{"className":1912},[],[1914],{"type":46,"value":323},{"type":46,"value":767},{"type":40,"tag":75,"props":1917,"children":1918},{},[1919],{"type":46,"value":1920},"If timestamp didn't update, publish may have failed",{"type":40,"tag":75,"props":1922,"children":1923},{},[1924,1929],{"type":40,"tag":65,"props":1925,"children":1926},{},[1927],{"type":46,"value":1928},"Site Accessibility Check:",{"type":40,"tag":71,"props":1930,"children":1931},{},[1932,1937,1942,1947],{"type":40,"tag":75,"props":1933,"children":1934},{},[1935],{"type":46,"value":1936},"Use WebFetch to check published URL",{"type":40,"tag":75,"props":1938,"children":1939},{},[1940],{"type":46,"value":1941},"Verify site returns 200 OK",{"type":40,"tag":75,"props":1943,"children":1944},{},[1945],{"type":46,"value":1946},"Check that content is served (not error page)",{"type":40,"tag":75,"props":1948,"children":1949},{},[1950],{"type":46,"value":1951},"Measure response time",{"type":40,"tag":75,"props":1953,"children":1954},{},[1955,1960],{"type":40,"tag":65,"props":1956,"children":1957},{},[1958],{"type":46,"value":1959},"Custom Domain Checks:",{"type":40,"tag":71,"props":1961,"children":1962},{},[1963,1968,1973],{"type":40,"tag":75,"props":1964,"children":1965},{},[1966],{"type":46,"value":1967},"If published to custom domains, verify each domain",{"type":40,"tag":75,"props":1969,"children":1970},{},[1971],{"type":46,"value":1972},"Some domains may take time to propagate (DNS)",{"type":40,"tag":75,"props":1974,"children":1975},{},[1976],{"type":46,"value":1977},"Note: \"Domain may take a few minutes to update\" if slow",{"type":40,"tag":49,"props":1979,"children":1980},{},[1981],{"type":40,"tag":65,"props":1982,"children":1983},{},[1984],{"type":46,"value":1985},"Verification Failure Handling:",{"type":40,"tag":71,"props":1987,"children":1988},{},[1989,1994,1999,2022],{"type":40,"tag":75,"props":1990,"children":1991},{},[1992],{"type":46,"value":1993},"If site not accessible: Report clearly",{"type":40,"tag":75,"props":1995,"children":1996},{},[1997],{"type":46,"value":1998},"Note: Changes ARE published even if verification fails",{"type":40,"tag":75,"props":2000,"children":2001},{},[2002,2004],{"type":46,"value":2003},"Possible causes:\n",{"type":40,"tag":71,"props":2005,"children":2006},{},[2007,2012,2017],{"type":40,"tag":75,"props":2008,"children":2009},{},[2010],{"type":46,"value":2011},"DNS propagation delay",{"type":40,"tag":75,"props":2013,"children":2014},{},[2015],{"type":46,"value":2016},"CDN cache not yet cleared",{"type":40,"tag":75,"props":2018,"children":2019},{},[2020],{"type":46,"value":2021},"Temporary Webflow infrastructure issue",{"type":40,"tag":75,"props":2023,"children":2024},{},[2025],{"type":46,"value":2026},"Suggest: \"Try accessing the site in 2-3 minutes\"",{"type":40,"tag":49,"props":2028,"children":2029},{},[2030],{"type":40,"tag":65,"props":2031,"children":2032},{},[2033],{"type":46,"value":2034},"Success Report Format:",{"type":40,"tag":852,"props":2036,"children":2039},{"className":2037,"code":2038,"language":46},[855],"✅ Published Successfully!\n\nSite: [Site Name]\nPublished at: [ISO Timestamp] ([Human Readable])\n\nWhat Went Live:\n- X pages modified\n- Y CMS items published\n- Z draft items promoted to published\n\nVerification:\n✅ Site accessible\n✅ URL: [primary URL]\n✅ Response time: [Xms]\n\n[If custom domains]\nCustom Domains:\n✅ example.com - accessible\n⚠️ www.example.com - propagating (may take 2-3 minutes)\n",[2040],{"type":40,"tag":81,"props":2041,"children":2042},{"__ignoreMap":860},[2043],{"type":46,"value":2038},{"type":40,"tag":226,"props":2045,"children":2047},{"id":2046},"best-practices",[2048],{"type":46,"value":2049},"Best Practices",{"type":40,"tag":49,"props":2051,"children":2052},{},[2053],{"type":40,"tag":65,"props":2054,"children":2055},{},[2056],{"type":46,"value":2057},"Always:",{"type":40,"tag":71,"props":2059,"children":2060},{},[2061,2066,2071,2076,2081,2086],{"type":40,"tag":75,"props":2062,"children":2063},{},[2064],{"type":46,"value":2065},"✅ Show comprehensive preview before publishing",{"type":40,"tag":75,"props":2067,"children":2068},{},[2069],{"type":46,"value":2070},"✅ Require explicit \"publish\" confirmation",{"type":40,"tag":75,"props":2072,"children":2073},{},[2074],{"type":46,"value":2075},"✅ Verify site after publish",{"type":40,"tag":75,"props":2077,"children":2078},{},[2079],{"type":46,"value":2080},"✅ Report exact publish timestamp",{"type":40,"tag":75,"props":2082,"children":2083},{},[2084],{"type":46,"value":2085},"✅ List all changes going live",{"type":40,"tag":75,"props":2087,"children":2088},{},[2089],{"type":46,"value":2090},"✅ Warn about draft items",{"type":40,"tag":49,"props":2092,"children":2093},{},[2094],{"type":40,"tag":65,"props":2095,"children":2096},{},[2097],{"type":46,"value":2098},"Never:",{"type":40,"tag":71,"props":2100,"children":2101},{},[2102,2107,2112,2117,2122],{"type":40,"tag":75,"props":2103,"children":2104},{},[2105],{"type":46,"value":2106},"❌ Publish without explicit user confirmation",{"type":40,"tag":75,"props":2108,"children":2109},{},[2110],{"type":46,"value":2111},"❌ Accept generic confirmations like \"yes\"",{"type":40,"tag":75,"props":2113,"children":2114},{},[2115],{"type":46,"value":2116},"❌ Hide warnings from user",{"type":40,"tag":75,"props":2118,"children":2119},{},[2120],{"type":46,"value":2121},"❌ Retry failed publishes automatically",{"type":40,"tag":75,"props":2123,"children":2124},{},[2125],{"type":46,"value":2126},"❌ Proceed if critical errors detected",{"type":40,"tag":49,"props":2128,"children":2129},{},[2130],{"type":40,"tag":65,"props":2131,"children":2132},{},[2133],{"type":46,"value":2134},"Edge Cases:",{"type":40,"tag":49,"props":2136,"children":2137},{},[2138],{"type":40,"tag":65,"props":2139,"children":2140},{},[2141],{"type":46,"value":2142},"No Changes to Publish:",{"type":40,"tag":852,"props":2144,"children":2147},{"className":2145,"code":2146,"language":46},[855],"ℹ️ No Changes to Publish\n\nLast published: January 9, 2026 at 20:05:38 UTC\nLast updated: January 9, 2026 at 20:05:38 UTC\n\nAll changes are already published. Your site is up to date!\n",[2148],{"type":40,"tag":81,"props":2149,"children":2150},{"__ignoreMap":860},[2151],{"type":46,"value":2146},{"type":40,"tag":49,"props":2153,"children":2154},{},[2155],{"type":40,"tag":65,"props":2156,"children":2157},{},[2158],{"type":46,"value":2159},"First Publish (Never Published Before):",{"type":40,"tag":852,"props":2161,"children":2164},{"className":2162,"code":2163,"language":46},[855],"⚠️ First Publish Warning\n\nThis site has NEVER been published before.\n\nThis will make the ENTIRE site publicly accessible:\n- All pages (2 pages)\n- All CMS items (47 items across 3 collections)\n- All assets\n\nAre you ready to make this site live?\nType \"publish\" to proceed, or \"cancel\" to abort.\n",[2165],{"type":40,"tag":81,"props":2166,"children":2167},{"__ignoreMap":860},[2168],{"type":46,"value":2163},{"type":40,"tag":49,"props":2170,"children":2171},{},[2172],{"type":40,"tag":65,"props":2173,"children":2174},{},[2175],{"type":46,"value":2176},"Publish to Staging Subdomain:",{"type":40,"tag":71,"props":2178,"children":2179},{},[2180,2185,2190],{"type":40,"tag":75,"props":2181,"children":2182},{},[2183],{"type":46,"value":2184},"If site has custom domains but user chooses subdomain only",{"type":40,"tag":75,"props":2186,"children":2187},{},[2188],{"type":46,"value":2189},"Useful for testing before publishing to production domain",{"type":40,"tag":75,"props":2191,"children":2192},{},[2193],{"type":46,"value":2194},"Explain: \"Publishing to subdomain only. Custom domains will continue showing old version.\"",{"type":40,"tag":49,"props":2196,"children":2197},{},[2198],{"type":40,"tag":65,"props":2199,"children":2200},{},[2201],{"type":46,"value":2202},"Partial Publish Not Supported:",{"type":40,"tag":71,"props":2204,"children":2205},{},[2206,2211,2216,2221],{"type":40,"tag":75,"props":2207,"children":2208},{},[2209],{"type":46,"value":2210},"Webflow publishes entire site, not individual pages",{"type":40,"tag":75,"props":2212,"children":2213},{},[2214],{"type":46,"value":2215},"Cannot publish specific pages or collections",{"type":40,"tag":75,"props":2217,"children":2218},{},[2219],{"type":46,"value":2220},"If user asks to \"publish just the homepage\", explain limitation",{"type":40,"tag":75,"props":2222,"children":2223},{},[2224],{"type":46,"value":2225},"Alternative: Use staging subdomain for testing",{"type":40,"tag":226,"props":2227,"children":2229},{"id":2228},"performance-optimization",[2230],{"type":46,"value":2231},"Performance Optimization",{"type":40,"tag":49,"props":2233,"children":2234},{},[2235],{"type":40,"tag":65,"props":2236,"children":2237},{},[2238],{"type":46,"value":2239},"For Large Sites:",{"type":40,"tag":71,"props":2241,"children":2242},{},[2243,2248,2253,2258],{"type":40,"tag":75,"props":2244,"children":2245},{},[2246],{"type":46,"value":2247},"Sites with 100+ pages or 1000+ items may take time to analyze",{"type":40,"tag":75,"props":2249,"children":2250},{},[2251],{"type":46,"value":2252},"Show progress: \"Analyzing 150 pages...\"",{"type":40,"tag":75,"props":2254,"children":2255},{},[2256],{"type":46,"value":2257},"Batch API calls when possible",{"type":40,"tag":75,"props":2259,"children":2260},{},[2261],{"type":46,"value":2262},"Consider skipping detailed diff for very large change sets",{"type":40,"tag":49,"props":2264,"children":2265},{},[2266],{"type":40,"tag":65,"props":2267,"children":2268},{},[2269],{"type":46,"value":2270},"Caching:",{"type":40,"tag":71,"props":2272,"children":2273},{},[2274,2279],{"type":40,"tag":75,"props":2275,"children":2276},{},[2277],{"type":46,"value":2278},"Cache site info during workflow (don't refetch unnecessarily)",{"type":40,"tag":75,"props":2280,"children":2281},{},[2282],{"type":46,"value":2283},"Only refetch after publish to verify",{"type":40,"tag":49,"props":2285,"children":2286},{},[2287],{"type":40,"tag":65,"props":2288,"children":2289},{},[2290],{"type":46,"value":2291},"Timeouts:",{"type":40,"tag":71,"props":2293,"children":2294},{},[2295,2300,2305],{"type":40,"tag":75,"props":2296,"children":2297},{},[2298],{"type":46,"value":2299},"Publish API may take 10-30 seconds for large sites",{"type":40,"tag":75,"props":2301,"children":2302},{},[2303],{"type":46,"value":2304},"Don't timeout too quickly",{"type":40,"tag":75,"props":2306,"children":2307},{},[2308],{"type":46,"value":2309},"Show: \"Publishing... this may take up to 30 seconds for large sites\"",{"type":40,"tag":226,"props":2311,"children":2313},{"id":2312},"error-messages",[2314],{"type":46,"value":2315},"Error Messages",{"type":40,"tag":49,"props":2317,"children":2318},{},[2319],{"type":40,"tag":65,"props":2320,"children":2321},{},[2322],{"type":46,"value":2323},"Clear and Actionable:",{"type":40,"tag":49,"props":2325,"children":2326},{},[2327,2329],{"type":46,"value":2328},"❌ ",{"type":40,"tag":65,"props":2330,"children":2331},{},[2332],{"type":46,"value":2333},"Bad:",{"type":40,"tag":852,"props":2335,"children":2338},{"className":2336,"code":2337,"language":46},[855],"\"Publish failed\"\n",[2339],{"type":40,"tag":81,"props":2340,"children":2341},{"__ignoreMap":860},[2342],{"type":46,"value":2337},{"type":40,"tag":49,"props":2344,"children":2345},{},[2346,2348],{"type":46,"value":2347},"✅ ",{"type":40,"tag":65,"props":2349,"children":2350},{},[2351],{"type":46,"value":2352},"Good:",{"type":40,"tag":852,"props":2354,"children":2357},{"className":2355,"code":2356,"language":46},[855],"\"Publish Failed: Validation Error\n\nThe Webflow API returned an error:\n- customDomains parameter must be an array\n\nThis is likely a configuration issue. Retrying...\n",[2358],{"type":40,"tag":81,"props":2359,"children":2360},{"__ignoreMap":860},[2361],{"type":46,"value":2356},{"type":40,"tag":49,"props":2363,"children":2364},{},[2365],{"type":40,"tag":65,"props":2366,"children":2367},{},[2368],{"type":46,"value":2369},"Common Errors:",{"type":40,"tag":233,"props":2371,"children":2372},{},[2373,2402,2423,2444],{"type":40,"tag":75,"props":2374,"children":2375},{},[2376,2381],{"type":40,"tag":65,"props":2377,"children":2378},{},[2379],{"type":46,"value":2380},"Validation Error (customDomains):",{"type":40,"tag":71,"props":2382,"children":2383},{},[2384,2397],{"type":40,"tag":75,"props":2385,"children":2386},{},[2387,2389,2395],{"type":46,"value":2388},"Fix: Ensure ",{"type":40,"tag":81,"props":2390,"children":2392},{"className":2391},[],[2393],{"type":46,"value":2394},"customDomains: []",{"type":46,"value":2396}," is an array",{"type":40,"tag":75,"props":2398,"children":2399},{},[2400],{"type":46,"value":2401},"Don't pass null or omit the field",{"type":40,"tag":75,"props":2403,"children":2404},{},[2405,2410],{"type":40,"tag":65,"props":2406,"children":2407},{},[2408],{"type":46,"value":2409},"Site Not Found:",{"type":40,"tag":71,"props":2411,"children":2412},{},[2413,2418],{"type":40,"tag":75,"props":2414,"children":2415},{},[2416],{"type":46,"value":2417},"User may have provided wrong site ID",{"type":40,"tag":75,"props":2419,"children":2420},{},[2421],{"type":46,"value":2422},"List available sites and ask user to select",{"type":40,"tag":75,"props":2424,"children":2425},{},[2426,2431],{"type":40,"tag":65,"props":2427,"children":2428},{},[2429],{"type":46,"value":2430},"Insufficient Permissions:",{"type":40,"tag":71,"props":2432,"children":2433},{},[2434,2439],{"type":40,"tag":75,"props":2435,"children":2436},{},[2437],{"type":46,"value":2438},"Site may require specific publish permissions",{"type":40,"tag":75,"props":2440,"children":2441},{},[2442],{"type":46,"value":2443},"Check workspace access settings",{"type":40,"tag":75,"props":2445,"children":2446},{},[2447,2452],{"type":40,"tag":65,"props":2448,"children":2449},{},[2450],{"type":46,"value":2451},"Publish Already in Progress:",{"type":40,"tag":71,"props":2453,"children":2454},{},[2455,2460],{"type":40,"tag":75,"props":2456,"children":2457},{},[2458],{"type":46,"value":2459},"Another publish may be running",{"type":40,"tag":75,"props":2461,"children":2462},{},[2463],{"type":46,"value":2464},"Wait 30 seconds and try again",{"type":40,"tag":2466,"props":2467,"children":2468},"style",{},[2469],{"type":46,"value":2470},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2472,"total":2657},[2473,2492,2509,2526,2541,2557,2573,2587,2601,2613,2627,2643],{"slug":2474,"name":2475,"fn":2476,"description":2477,"org":2478,"tags":2479,"stars":21,"repoUrl":22,"updatedAt":2491},"webflow-clicloud","webflow-cli:cloud","deploy applications to Webflow Cloud","Initialize, build, and deploy full-stack Webflow applications to Webflow Cloud hosting. Supports site-attached deploys (linked to an existing Webflow site) and project app deploys (independent project, no existing site required). Use when creating new projects, deploying existing ones, or setting up CI\u002FCD pipelines for Webflow Cloud.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2480,2483,2486,2487,2490],{"name":2481,"slug":2482,"type":16},"CLI","cli",{"name":2484,"slug":2485,"type":16},"Cloud","cloud",{"name":14,"slug":15,"type":16},{"name":2488,"slug":2489,"type":16},"Full-stack","full-stack",{"name":10,"slug":9,"type":16},"2026-05-18T06:47:47.514609",{"slug":2493,"name":2494,"fn":2495,"description":2496,"org":2497,"tags":2498,"stars":21,"repoUrl":22,"updatedAt":2508},"webflow-clicode-component","webflow-cli:code-component","create and deploy Webflow Code Components","Create and deploy reusable React components for Webflow Designer. Configure existing React projects with webflow.json, build and bundle code, validate output, and deploy to workspace using library share. Use when building custom components for designers.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2499,2500,2501,2504,2507],{"name":2481,"slug":2482,"type":16},{"name":14,"slug":15,"type":16},{"name":2502,"slug":2503,"type":16},"React","react",{"name":2505,"slug":2506,"type":16},"UI Components","ui-components",{"name":10,"slug":9,"type":16},"2026-05-18T06:47:41.421071",{"slug":2510,"name":2511,"fn":2512,"description":2513,"org":2514,"tags":2515,"stars":21,"repoUrl":22,"updatedAt":2525},"webflow-clidesigner-extension","webflow-cli:designer-extension","build Webflow Designer Extensions","Build Designer Extensions for custom Webflow Designer functionality. Lists available templates, initializes extension projects from templates (default\u002Freact\u002Ftypescript-alt), bundles extensions for upload, and serves locally for development.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2516,2517,2520,2521,2524],{"name":2481,"slug":2482,"type":16},{"name":2518,"slug":2519,"type":16},"Plugin Development","plugin-development",{"name":2502,"slug":2503,"type":16},{"name":2522,"slug":2523,"type":16},"TypeScript","typescript",{"name":10,"slug":9,"type":16},"2026-05-18T06:47:43.853573",{"slug":2527,"name":2528,"fn":2529,"description":2530,"org":2531,"tags":2532,"stars":21,"repoUrl":22,"updatedAt":2540},"webflow-clidevlink","webflow-cli:devlink","export Webflow components to React and Next.js","Export Webflow Designer components to React\u002FNext.js code for external projects. Configure devlink settings in webflow.json, sync design updates with devlink sync, validate generated code, show diffs, and provide integration examples. Use when building with Webflow designs in React\u002FNext.js.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2533,2534,2535,2538,2539],{"name":2481,"slug":2482,"type":16},{"name":19,"slug":20,"type":16},{"name":2536,"slug":2537,"type":16},"Next.js","next-js",{"name":2502,"slug":2503,"type":16},{"name":10,"slug":9,"type":16},"2026-05-18T06:47:40.182468",{"slug":2542,"name":2543,"fn":2544,"description":2545,"org":2546,"tags":2547,"stars":21,"repoUrl":22,"updatedAt":2556},"webflow-clitroubleshooter","webflow-cli:troubleshooter","troubleshoot Webflow CLI issues","Diagnose and fix Webflow CLI issues including installation problems, authentication failures, build errors, and bundle problems. Uses CLI diagnostic flags (--version, --help, --verbose, --debug-bundler) for troubleshooting.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2548,2549,2552,2555],{"name":2481,"slug":2482,"type":16},{"name":2550,"slug":2551,"type":16},"Configuration","configuration",{"name":2553,"slug":2554,"type":16},"Debugging","debugging",{"name":10,"slug":9,"type":16},"2026-05-18T06:47:48.831648",{"slug":2558,"name":2559,"fn":2560,"description":2561,"org":2562,"tags":2563,"stars":21,"repoUrl":22,"updatedAt":2572},"webflow-code-componentcomponent-audit","webflow-code-component:component-audit","audit Webflow Code Component architecture","Audit Webflow Code Components for architecture decisions - prop exposure, state management, slot opportunities, and Shadow DOM compatibility. Focused on Webflow-specific patterns, not generic React best practices.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2564,2567,2570,2571],{"name":2565,"slug":2566,"type":16},"Architecture","architecture",{"name":2568,"slug":2569,"type":16},"Code Analysis","code-analysis",{"name":2502,"slug":2503,"type":16},{"name":10,"slug":9,"type":16},"2026-05-18T06:47:46.277768",{"slug":2574,"name":2575,"fn":2576,"description":2577,"org":2578,"tags":2579,"stars":21,"repoUrl":22,"updatedAt":2586},"webflow-code-componentcomponent-scaffold","webflow-code-component:component-scaffold","scaffold Webflow Code Component boilerplate","Generate new Webflow Code Component boilerplate with React component, definition file, and optional styling. Automatically checks prerequisites and can set up missing config\u002Fdependencies.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2580,2581,2582,2585],{"name":19,"slug":20,"type":16},{"name":2502,"slug":2503,"type":16},{"name":2583,"slug":2584,"type":16},"Templates","templates",{"name":10,"slug":9,"type":16},"2026-05-18T06:47:42.638042",{"slug":2588,"name":2589,"fn":2590,"description":2591,"org":2592,"tags":2593,"stars":21,"repoUrl":22,"updatedAt":2600},"webflow-code-componentconvert-component","webflow-code-component:convert-component","convert React components to Webflow Code Components","Convert an existing React component into a Webflow Code Component. Analyzes TypeScript props, maps to Webflow prop types, generates the .webflow.tsx definition file, and identifies required modifications.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2594,2597,2598,2599],{"name":2595,"slug":2596,"type":16},"Migration","migration",{"name":2502,"slug":2503,"type":16},{"name":2522,"slug":2523,"type":16},{"name":10,"slug":9,"type":16},"2026-05-18T06:47:52.523608",{"slug":2602,"name":2603,"fn":2604,"description":2605,"org":2606,"tags":2607,"stars":21,"repoUrl":22,"updatedAt":2612},"webflow-code-componentdeploy-guide","webflow-code-component:deploy-guide","deploy Webflow Code Components","Step-by-step guide for deploying Webflow Code Components to a workspace. Covers authentication, pre-flight checks, deployment execution, and verification.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2608,2609,2610,2611],{"name":14,"slug":15,"type":16},{"name":19,"slug":20,"type":16},{"name":2502,"slug":2503,"type":16},{"name":10,"slug":9,"type":16},"2026-05-18T06:47:38.947875",{"slug":2614,"name":2615,"fn":2616,"description":2617,"org":2618,"tags":2619,"stars":21,"repoUrl":22,"updatedAt":2626},"webflow-code-componentlocal-dev-setup","webflow-code-component:local-dev-setup","set up local Webflow Code Component projects","Initialize a new Webflow Code Components project from scratch. Creates project structure, installs dependencies, configures webflow.json, and sets up development environment.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2620,2621,2624,2625],{"name":2550,"slug":2551,"type":16},{"name":2622,"slug":2623,"type":16},"Local Development","local-development",{"name":2502,"slug":2503,"type":16},{"name":10,"slug":9,"type":16},"2026-05-18T06:47:50.062783",{"slug":2628,"name":2629,"fn":2630,"description":2631,"org":2632,"tags":2633,"stars":21,"repoUrl":22,"updatedAt":2642},"webflow-code-componentpre-deploy-check","webflow-code-component:pre-deploy-check","validate Webflow Code Components before deployment","Pre-deployment validation for Webflow Code Components. Checks bundle size, dependencies, prop configurations, SSR compatibility, styling setup, and common issues before running webflow library share.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2634,2635,2638,2641],{"name":14,"slug":15,"type":16},{"name":2636,"slug":2637,"type":16},"QA","qa",{"name":2639,"slug":2640,"type":16},"Validation","validation",{"name":10,"slug":9,"type":16},"2026-05-18T06:47:51.300653",{"slug":2644,"name":2645,"fn":2646,"description":2647,"org":2648,"tags":2649,"stars":21,"repoUrl":22,"updatedAt":2656},"webflow-code-componenttroubleshoot-deploy","webflow-code-component:troubleshoot-deploy","troubleshoot Webflow Code Component deployments","Debug deployment failures for Webflow Code Components. Analyzes error messages, identifies root causes, and provides specific fixes for common issues.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2650,2651,2652,2655],{"name":2553,"slug":2554,"type":16},{"name":14,"slug":15,"type":16},{"name":2653,"slug":2654,"type":16},"Observability","observability",{"name":10,"slug":9,"type":16},"2026-05-18T06:47:45.057571",28,{"items":2659,"total":2657},[2660,2668,2676,2684,2692,2699,2706],{"slug":2474,"name":2475,"fn":2476,"description":2477,"org":2661,"tags":2662,"stars":21,"repoUrl":22,"updatedAt":2491},{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2663,2664,2665,2666,2667],{"name":2481,"slug":2482,"type":16},{"name":2484,"slug":2485,"type":16},{"name":14,"slug":15,"type":16},{"name":2488,"slug":2489,"type":16},{"name":10,"slug":9,"type":16},{"slug":2493,"name":2494,"fn":2495,"description":2496,"org":2669,"tags":2670,"stars":21,"repoUrl":22,"updatedAt":2508},{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2671,2672,2673,2674,2675],{"name":2481,"slug":2482,"type":16},{"name":14,"slug":15,"type":16},{"name":2502,"slug":2503,"type":16},{"name":2505,"slug":2506,"type":16},{"name":10,"slug":9,"type":16},{"slug":2510,"name":2511,"fn":2512,"description":2513,"org":2677,"tags":2678,"stars":21,"repoUrl":22,"updatedAt":2525},{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2679,2680,2681,2682,2683],{"name":2481,"slug":2482,"type":16},{"name":2518,"slug":2519,"type":16},{"name":2502,"slug":2503,"type":16},{"name":2522,"slug":2523,"type":16},{"name":10,"slug":9,"type":16},{"slug":2527,"name":2528,"fn":2529,"description":2530,"org":2685,"tags":2686,"stars":21,"repoUrl":22,"updatedAt":2540},{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2687,2688,2689,2690,2691],{"name":2481,"slug":2482,"type":16},{"name":19,"slug":20,"type":16},{"name":2536,"slug":2537,"type":16},{"name":2502,"slug":2503,"type":16},{"name":10,"slug":9,"type":16},{"slug":2542,"name":2543,"fn":2544,"description":2545,"org":2693,"tags":2694,"stars":21,"repoUrl":22,"updatedAt":2556},{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2695,2696,2697,2698],{"name":2481,"slug":2482,"type":16},{"name":2550,"slug":2551,"type":16},{"name":2553,"slug":2554,"type":16},{"name":10,"slug":9,"type":16},{"slug":2558,"name":2559,"fn":2560,"description":2561,"org":2700,"tags":2701,"stars":21,"repoUrl":22,"updatedAt":2572},{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2702,2703,2704,2705],{"name":2565,"slug":2566,"type":16},{"name":2568,"slug":2569,"type":16},{"name":2502,"slug":2503,"type":16},{"name":10,"slug":9,"type":16},{"slug":2574,"name":2575,"fn":2576,"description":2577,"org":2707,"tags":2708,"stars":21,"repoUrl":22,"updatedAt":2586},{"slug":9,"name":10,"logoUrl":11,"githubOrg":9},[2709,2710,2711,2712],{"name":19,"slug":20,"type":16},{"name":2502,"slug":2503,"type":16},{"name":2583,"slug":2584,"type":16},{"name":10,"slug":9,"type":16}]