Install
openclaw skills install @nucliweb/webperf-mediaIntelligent media optimization with automated workflows for images, videos, and SVGs. Includes decision trees that detect LCP images (triggers format/lazy-loading/priority analysis), identify layout shift risks (missing dimensions), and flag lazy loading issues (above-fold lazy or below-fold eager). Features workflows for complete media audit, LCP image investigation, video performance (poster optimization), and SVG embedded bitmap detection. Cross-skill integration with Core Web Vitals (LCP/CLS impact) and Loading (priority hints, resource preloading). Provides performance budgets and format recommendations based on content type. Use when the user asks about image optimization, LCP is an image/video, layout shifts from media, or media loading strategy. Compatible with Chrome DevTools MCP.
openclaw skills install @nucliweb/webperf-mediaJavaScript snippets for measuring web performance in Chrome DevTools. Execute with mcp__chrome-devtools__evaluate_script, capture output with mcp__chrome-devtools__get_console_message.
scripts/Image-Element-Audit.js — Image Element Auditscripts/SVG-Embedded-Bitmap-Analysis.js — SVG Embedded Bitmap Analysisscripts/Video-Element-Audit.js — Video Element AuditDescriptions and thresholds: references/snippets.md
When the user asks for media optimization or "audit images and videos":
When the user asks "optimize images" or "check image performance":
When the user asks "optimize videos" or "check video performance":
When LCP is an image and needs optimization:
When CLS is caused by images without dimensions:
When the user asks about SVG performance or file sizes are large:
Use this decision tree to automatically run follow-up snippets based on results:
If images missing width/height attributes → Layout shift risk, run:
If images using wrong format (JPEG for graphics, PNG for photos) → Recommend:
If images much larger than display size → Recommend:
If above-the-fold images are lazy-loaded → Run:
If LCP image lacks fetchpriority="high" → Run:
If below-the-fold images are NOT lazy-loaded → Run:
If images have both loading="lazy" AND fetchpriority="high" → Run:
If images missing alt text → Accessibility issue, recommend adding descriptive alt text
If video is LCP candidate → Run:
If video missing poster → Recommend:
If video uses preload="auto" → Bandwidth concern, evaluate:
If autoplay video without muted → Browser will block, recommend:
If video missing multiple formats → Recommend:
If large video files (>5MB) → Recommend:
If bitmap images found in SVGs → Recommend:
If large embedded bitmaps (>100KB) → Critical inefficiency:
If multiple small bitmaps in SVG → Consider:
These triggers recommend using snippets from other skills:
If LCP image detected → Use webperf-core-web-vitals skill:
If video is LCP candidate → Use webperf-core-web-vitals skill:
If images causing layout shifts → Use webperf-core-web-vitals skill:
If lazy loading issues detected → Use webperf-loading skill:
If LCP image needs priority optimization → Use webperf-loading skill:
If images competing with critical resources → Use webperf-loading skill:
Use these thresholds to trigger recommendations:
Image File Sizes:
Image Formats:
Image Dimensions:
Video File Sizes:
Lazy Loading:
Priority Hints:
Issue: LCP is slow and LCP element is an image
Issue: CLS from images
Issue: Page loads too many images
Issue: Images are the wrong format
Issue: Video is LCP
Issue: SVG files are huge
references/snippets.md — Descriptions and thresholds for each scriptreferences/schema.md — Return value schema for interpreting script outputExecute via
mcp__chrome-devtools__evaluate_script→ read withmcp__chrome-devtools__get_console_message.