$npx -y skills add webflow/webflow-skills --skill site-auditComprehensive audit of a Webflow site including pages, CMS collections, health scoring, and actionable insights. Use for site analysis, migration planning, or understanding site structure.
| 1 | # Site Audit |
| 2 | |
| 3 | Comprehensive audit of a Webflow site's structure, content health, and quality with detailed analysis and multiple export formats. |
| 4 | |
| 5 | ## Important Note |
| 6 | |
| 7 | **ALWAYS use Webflow MCP tools for all operations:** |
| 8 | - Use Webflow MCP's `data_sites_tool` with action `list_sites` for listing available sites |
| 9 | - Use Webflow MCP's `data_sites_tool` with action `get_site` for detailed site information |
| 10 | - Use Webflow MCP's `data_pages_tool` with action `list_pages` for retrieving all pages |
| 11 | - Use Webflow MCP's `data_cms_tool` with action `get_collection_list` for listing CMS collections |
| 12 | - Use Webflow MCP's `data_cms_tool` with action `get_collection_details` for detailed collection schemas |
| 13 | - Use Webflow MCP's `data_cms_tool` with action `list_collection_items` for counting items |
| 14 | - Use Webflow MCP's `webflow_guide_tool` to get best practices before starting |
| 15 | - DO NOT use any other tools or methods for Webflow operations |
| 16 | - All tool calls must include the required `context` parameter (15-25 words, third-person perspective) |
| 17 | |
| 18 | ## Instructions |
| 19 | |
| 20 | ### Phase 1: Site Selection & Discovery |
| 21 | 1. **Get site**: Identify the target site. If user does not provide site ID, ask for it. |
| 22 | 2. **Fetch site details**: Use Webflow MCP's `data_sites_tool` with action `get_site` to retrieve: |
| 23 | - Site name and ID |
| 24 | - Last published date |
| 25 | - Last updated date |
| 26 | - Timezone |
| 27 | - Locales (primary and secondary) |
| 28 | - Custom domains |
| 29 | 3. **Ask user preferences**: Ask what level of detail they want: |
| 30 | - Quick summary (counts only) |
| 31 | - Standard inventory (pages + collections + counts) |
| 32 | - Detailed inventory (includes all field schemas, item samples, SEO data) |
| 33 | - Full export (everything + export to file format) |
| 34 | |
| 35 | ### Phase 2: Pages Inventory |
| 36 | 4. **List all pages**: Use Webflow MCP's `data_pages_tool` with action `list_pages` to fetch all pages |
| 37 | 5. **Categorize pages**: |
| 38 | - Static pages (no collectionId) |
| 39 | - CMS template pages (has collectionId) |
| 40 | - Archived pages |
| 41 | - Draft pages |
| 42 | 6. **Analyze page structure**: |
| 43 | - Count pages by type |
| 44 | - Identify pages missing SEO metadata |
| 45 | - Detect orphaned pages (no navigation links) |
| 46 | - Check for duplicate slugs |
| 47 | |
| 48 | ### Phase 3: CMS Collections Inventory |
| 49 | 7. **List all collections**: Use Webflow MCP's `data_cms_tool` with action `get_collection_list` |
| 50 | 8. **For each collection**: |
| 51 | - Get detailed schema using Webflow MCP's `data_cms_tool` with action `get_collection_details` |
| 52 | - Count items using Webflow MCP's `data_cms_tool` with action `list_collection_items` |
| 53 | - Analyze field types and requirements |
| 54 | - Identify required vs optional fields |
| 55 | - Detect reference fields and relationships |
| 56 | 9. **Collection analysis**: |
| 57 | - Empty collections (0 items) |
| 58 | - Unused collections (no template page) |
| 59 | - Large collections (100+ items) |
| 60 | - Collections with missing required fields |
| 61 | |
| 62 | ### Phase 4: Analysis & Insights |
| 63 | 10. **Generate insights**: |
| 64 | - Total content count (pages + items) |
| 65 | - Content health score |
| 66 | - SEO readiness |
| 67 | - Recommended improvements |
| 68 | 11. **Identify issues**: |
| 69 | - Missing SEO metadata |
| 70 | - Empty collections |
| 71 | - Orphaned pages |
| 72 | - Draft content ratio |
| 73 | 12. **Show relationships**: |
| 74 | - Which pages use which collections |
| 75 | - Reference field connections |
| 76 | - Content dependencies |
| 77 | |
| 78 | ### Phase 5: Export & Formatting |
| 79 | 13. **Ask export format** (if user wants full export): |
| 80 | - Markdown (readable, great for documentation) |
| 81 | - JSON (machine-readable, for migrations) |
| 82 | - CSV (spreadsheet-friendly, for analysis) |
| 83 | - Text summary (console output only) |
| 84 | 14. **Generate report** in requested format |
| 85 | 15. **Provide actionable insights**: Suggest next steps based on findings |
| 86 | |
| 87 | ## Examples |
| 88 | |
| 89 | **User prompt:** |
| 90 | ``` |
| 91 | Give me a complete inventory of my site. |
| 92 | ``` |
| 93 | |
| 94 | **Step 1: Initial Report (Standard Inventory)** |
| 95 | ``` |
| 96 | 📊 Site Audit: MCP Demo#1 |
| 97 | |
| 98 | **Site Details:** |
| 99 | - Site ID: 6924868ede9d3fbbc3195eb0 |
| 100 | - Last published: January 9, 2026 |
| 101 | - Last updated: January 9, 2026 |
| 102 | - Timezone: Asia/Calcutta |
| 103 | - Primary locale: English (en) |
| 104 | |
| 105 | --- |
| 106 | |
| 107 | **Pages (2 total):** |
| 108 | |
| 109 | Static Pages (1): |
| 110 | ├── Home (/) |
| 111 | |
| 112 | CMS Template Pages (1): |
| 113 | └── Blog Posts Template (/post) |
| 114 | - Collection: Blog Posts |
| 115 | |
| 116 | --- |
| 117 | |
| 118 | **CMS Collections (1):** |
| 119 | |
| 120 | Blog Posts (9 items) |
| 121 | ├── Slug: post |
| 122 | ├── Fields (8): |
| 123 | │ ├── Name (PlainText, required) |
| 124 | │ ├── Slug (PlainText, required) |
| 125 | │ ├── Post Body (RichText) |
| 126 | │ ├── Post Summary (PlainText) |
| 127 | │ ├── Main Image (Image) |
| 128 | │ ├── Thumbnail image (Image) |
| 129 | │ ├── Featured? (Switch) |
| 130 | │ └── Color (Color) |
| 131 | |
| 132 | --- |
| 133 | |
| 134 | **Summary:** |
| 135 | - ✅ 2 pages (1 static, 1 CMS template) |
| 136 | - ✅ 1 CMS collection with 9 published items |
| 137 | - ✅ Site fully published and up-to-date |
| 138 | |
| 139 | Would you like a detailed analysis or export in a specific format? |
| 140 | ``` |
| 141 | |
| 142 | **Step 2: Detailed Analysis (when user requests)** |
| 143 | ``` |
| 144 | 🔍 Detailed Analysis: MCP Demo#1 |
| 145 | |
| 146 | **Conte |