Skip to content
cccskills
FreePublished on GitHubEnglish overview

offscreen-lazy

Review image loading settings based on where images appear on a page. Identify offscreen images that should load later, keep important visible images loading promptly, and add image dimensions to reduce layout shifts.

OriginalShow the original description

Use when reviewing image assets, markup, and CDN or build transforms related to Lazy load offscreen images. Check encoded size, rendered size, loading strategy, and above-the-fold impact together. Missing `loading='lazy'` is only a valid finding when you can reasonably tell the image is offscreen or non-critical.

AI rating100/ 100See how to install

Good for

  • Reviewing lazy loading for images below the first screen
  • Checking loading priority for hero images
  • Adding dimensions to lazy-loaded images
  • Reviewing image loading settings in HTML

Overview

What it does

offscreen-lazy checks page images and adjusts loading settings to match their position. It adds loading="lazy" to images outside the initial viewport and removes it from important images visible immediately, such as hero images. For the LCP image—the image used to measure when the main content appears—it sets fetchpriority="high". It also checks width and height on lazy-loaded images. The output includes corrected HTML for each changed image and instructions for checking it in DevTools.

When it helps

Use it on pages with many images to investigate unnecessary downloads during the initial load. It also helps when reviewing image data size, displayed dimensions, and loading order together.

Example requests

  • “Find offscreen images that are missing lazy loading.”
  • “Check the hero image’s loading settings and the specified image widths and heights.”

Notes

If an image’s position cannot be determined from a code snippet, missing loading="lazy" alone is not treated as a defect. Important images visible initially and offscreen images are reported separately. The source specifies native lazy loading in current major browsers, without a JavaScript polyfill.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodThe instructions distinguish initially visible and offscreen images and explicitly define lazy loading and LCP image handling.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodSteps specify loading attributes, dimensions, and fetchpriority changes, with corrected HTML output for each modified image.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodThe scope and DevTools verification are specified, and images with uncertain positions must not be flagged for missing lazy loading.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodThe workflow uses the browser’s native loading attribute and explicitly states that no JavaScript polyfill is needed.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 23, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (2)

  • SKILL.md3.3 KB
  • references/rule.md6.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Lazy load offscreen images

Lazy loading eliminates unnecessary image downloads on initial page load. A page with 20 images below the fold may transfer several megabytes of data that users who don't scroll will never see. Deferring these downloads reduces Time to Interactive, improves LCP for above-fold content, and saves bandwidth—particularly impactful for users on metered mobile connections.

Quick Reference

  • Add loading="lazy" to all <img> elements below the fold
  • Never lazy-load the LCP image (hero, first product image)—use fetchpriority="high" instead
  • Always pair loading="lazy" with width and height attributes to prevent CLS
  • Native loading="lazy" has universal support in all modern browsers—no JavaScript polyfill needed
  • If fold position is unclear from the snippet, do not invent a lazy-loading defect

Check

Scan all <img> elements in this codebase. Identify: 1) Any <img> elements below the fold (not in the first viewport) that are missing loading="lazy". 2) Any <img> elements marked loading="lazy" that appear to be above the fold (hero images, first product images, logos in headers). 3) Any <img> with loading="eager" below the fold. Report the above-fold images that should NOT have lazy loading separately from below-fold images that should have it. If fold position cannot be inferred from the snippet, do not report missing lazy loading as a defect.

Fix

For images that should use lazy loading: 1) Add loading="lazy" to all <img> elements that appear below the fold. 2) Remove loading="lazy" from any hero, logo, or first-visible image—these should load immediately. 3) Ensure all lazy-loaded images have explicit width and height attributes to prevent CLS. 4) For the LCP image specifically, add fetchpriority="high" and remove loading="lazy". Show the corrected HTML for each modified image.

Explain

Explain how native browser lazy loading works. The loading="lazy" attribute tells the browser to defer image download until the image is within a browser-defined distance from the viewport (typically 1250px on a slow connection). This reduces the data transferred on initial load, lowers Time to Interactive, and saves bandwidth for users who never scroll to those images. Browser support is universal in modern browsers. The critical caveat: never lazy-load the LCP image—it must load as fast as possible.

Code Review

Review image assets, markup, and delivery configuration related to Lazy load offscreen images. Flag exact files or components where format choice, sizing, or loading behavior violates the rule, and describe how to confirm the fix in DevTools.


For full implementation details, code examples, and framework-specific guidance, see references/rule.md.

Rule page: https://frontendchecklist.io/rules/images/offscreen-lazy

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

404-page

FreeSummaryAI rating 100

Create and review custom 404 pages that help visitors recover from broken or moved links through search and navigation. Check the rendered page and HTTP response so missing content returns a proper 404 status.

  • Creating a helpful custom 404 page
  • Adding search and navigation for broken links
  • Checking missing pages that return HTTP 200
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

about-page

FreeSummaryAI rating 90

Audit or create a dedicated About page that explains a website’s purpose and identifies its people or organization. Review the rendered output and supporting information, including expertise and contact details, to find gaps.

  • Reviewing a website’s About page
  • Creating a page about the organization and its mission
  • Checking how operator information appears in rendered output
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessibility-testing

FreeSummaryAI rating 80

Review and add automated accessibility checks for components, pages, and continuous integration workflows. Use axe-based tools to detect structural and attribute issues, while identifying checks that still need keyboard or screen reader testing.

  • Review accessibility coverage for shared components
  • Add accessibility checks to page flow tests
  • Run accessibility tests in CI
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessible-authentication

FreeSummaryAI rating 90

Review sign-in, registration, multi-factor authentication, and account recovery for accessibility barriers. Find blocked paste, difficult code entry, and inaccessible backup methods, then suggest authentication paths that support password managers, autofill, or device approval.

  • Reviewing accessibility across the sign-in process
  • Checking verification code paste and autofill
  • Inspecting password reset and account recovery
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessible-notifications

FreeSummaryAI rating 100

Review form errors, success messages, and live updates so screen reader users receive important notifications. Check the HTML delivered to the browser, announcement settings, display duration, and dismissal controls, then identify specific elements that need changes.

  • Reviewing form error announcements
  • Checking success message display duration
  • Auditing live update notifications
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessible-tables

FreeSummaryAI rating 100

Review HTML tables so screen reader users can understand how headers and data relate. Check header markup, table descriptions, and merged cells, then identify specific fixes and ways to verify them.

  • Reviewing tables for screen reader accessibility
  • Checking header relationships in tables with merged cells
  • Reviewing table patterns in a design system
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

See all skills by thedaviddias

Report a problem with this skill