accessibility-audit
Run comprehensive accessibility audit (WCAG 2.1) on Webflow pages - checks buttons, forms, links, focus states, headings,…
Compress and convert CMS item image fields to webp or avif in a Webflow collection. Prompts for collection ID, item ID, image fields, quality, and target format, then downloads, converts, re-uploads via presigned S3, and publishes the updated item.
$ npx -y skills add webflow/webflow-skills --skill webflow-compress-cms-image --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/webflow-compress-cms-imageContext preview
The summary Claude sees to decide when to auto-load this skill.
Compress and convert CMS item image fields to webp or avif in a Webflow collection. Prompts for collection ID, item ID, image fields, quality, and target format, then downloads, converts, re-uploads via presigned S3, and publishes the updated item.
name: webflow-mcp:compress-cms-image description: Compress and convert CMS item image fields to webp or avif in a Webflow collection. Prompts for collection ID, item ID, image fields, quality, and target format, then downloads, converts, re-uploads via presigned S3, and publishes the updated item.
Compress and reformat image fields on a Webflow CMS item to `.webp` or `.avif`.
This skill does not support images embedded inside Rich Text fields at this time. Tell the user that limitation before starting and only process CMS fields whose schema type is `Image` or `MultiImage`.
**ALWAYS use Webflow MCP tools for Webflow operations:**
Collect all required inputs in one shot when possible:
1. **Collection ID**: Ask "What is the Collection ID?" 2. **Item ID**: Ask "What is the Item ID?" 3. **Image fields**: Ask "Which image fields should be compressed?"
4. **Target format**: Ask "Target format?"
5. **Quality (1-100)**: Ask "Quality (1-100)?"
If the user chose "Specify field names", follow up for comma-separated field slugs. If the user chose "Custom" quality, follow up for the numeric value. Validate custom quality is an integer from 1 to 100.
1. Call `data_cms_tool` with action `get_collection_details` and the collection ID. 2. Filter fields where `type === "Image"` or `type === "MultiImage"`. 3. Select target fields:
4. Stop and report if no valid image fields remain.
Call `data_cms_tool` with action `list_collection_items` to fetch the target item. Use the item ID to identify the item directly when the tool supports it; otherwise filter or search the returned items.
Extract current `fieldData` for each target field:
Before downloading or uploading anything, show a preview:
Compression Preview Collection: [collection ID] Item: [item ID] Target format: webp Quality: 85 Fields to process: - main-image: hero.jpg -> hero.webp - gallery: 3 images -> webp Skipped: - thumbnail: already webp Type `confirm` to download, convert, upload, update the CMS item, and publish.
Proceed only after the user types `confirm`.
For each image:
1. Download to `/tmp/`:
curl -sL "{url}" -o "/tmp/cms_img_{fieldSlug}_{index}.orig"2. Ensure Pillow is available:
python3 -c "from PIL import Image" 2>/dev/null || pip3 install Pillow -q
For avif, also try:
pip3 install pillow-avif-plugin -q
3. Convert with the user's quality setting:
python3 - <<'EOF'
from PIL import Image
import os
try:
import pillow_avif
except ImportError:
pass
source = "/tmp/cms_img_{fieldSlug}_{index}.orig"
target = "/tmp/cms_img_{fieldSlug}_{index}.{ext}"
img = Image.open(source)
img.save(target, "{FORMAT}", quality={quality})
orig = os.path.getsize(source)
new = os.path.getsize(target)
print(f"Original: {orig:,} bytes -> {FORMAT}: {new:,} bytes ({(1 - new / orig) * 100:.1f}% smaller)")
EOFIf avif conversion fails, report the error and ask whether to fall back to webp or abort.
4. Compute the MD5 hash of the converted file:
md5 -q "/tmp/cms_img_{fieldSlug}_{index}.{ext}"On Linux:
md5sum "/tmp/cms_img_{fieldSlug}_{index}.{ext}" | cut -d' ' -f1For each converted file:
1. Determine `site_id`. If it is not known from the collection or prior context, call `data_sites_tool` with action `list_sites`. If multiple sites are available, ask the user which one owns the collection. 2. Call `data_assets_tool` with action `create_asset`:
3. Capture the response values:
A collection of Agent Skills for working with Webflow sites through the Webflow MCP server. Manage CMS content, audit site health, optimize assets, build in Webflow Designer, create Code Components, run Webflow CLI workflows, and safely publish changes.
Run comprehensive accessibility audit (WCAG 2.1) on Webflow pages - checks buttons, forms, links, focus states, headings,…
Analyze assets on a Webflow site for SEO optimization. Identifies assets missing alt text and assets with non-SEO-friendly names,…
Create or update multiple CMS items in a Webflow collection with validation and diff preview. Use when adding multiple blog…
Create GitHub-source Webflow Cloud apps and monitor, troubleshoot, or manage existing apps through Webflow MCP. Use when creating…
Expert guidance on Webflow CMS architecture and best practices. Use when planning collections, setting up relationships,…
Create a new CMS collection in Webflow with specified fields and relationships. Use when setting up blog posts, products, team…