responsive-size

Installation
SKILL.md

Serve images at the correct display size

A single oversized hero image can add several megabytes to a page load unnecessarily. On mobile devices with 375px screens, serving a 1600px image downloads 4x the data users need. The 'Properly size images' Lighthouse audit consistently identifies this as one of the highest-impact performance opportunities on most websites.

Quick Reference

  • Serving a 1600px image in a 400px container wastes ~16x the necessary bandwidth
  • Use srcset with width descriptors and sizes with actual layout widths
  • The sizes attribute is critical—without it the browser assumes 100vw and picks the largest image
  • Lighthouse 'Properly size images' audit reports estimated savings per oversized image

Check

Audit images in this codebase for oversizing. Use Lighthouse 'Properly size images' audit results as the primary signal. For each in the HTML: 1) Compare the image file's intrinsic width to the element's rendered CSS width (check CSS rules, container constraints). 2) Flag any image where the intrinsic width is more than 2x the rendered width at any common viewport size. 3) Check for srcset usage—images over 200px wide should have srcset variants. 4) Check sizes attribute accuracy—does it reflect the actual CSS layout?

Fix

For each oversized image: 1) Generate multiple size variants: 400w, 800w, 1200w, 1600w (use Sharp or Squoosh). 2) Add srcset listing each variant with its width descriptor. 3) Add a sizes attribute describing the image's display width at each breakpoint (e.g., sizes="(max-width: 600px) 100vw, (max-width: 1200px) 50vw, 400px"). 4) For art direction (different crops), use with media attributes. 5) For the src fallback, use the medium size (800w). Show complete before/after HTML.

Installs
8
GitHub Stars
73.9K
First Seen
Jul 2, 2026
responsive-size — thedaviddias/front-end-checklist