#23 by GitHub stars

thedaviddias/Front-End-Checklist

🗂 The essential checklist for modern web development, for humans and AI agents

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

packages/cli/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

plugins/front-end-checklist/skills/frontend-checklist-global/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/404-page/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/about-page/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/accessibility-testing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/accessible-authentication/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/accessible-notifications/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/accessible-tables/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/accessible-tooltips/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/accesskeys/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/accordion-accessibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/affiliate-disclosure/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/ai-content/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/all-noindex-pages/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/alt-text/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/anchor-smooth-scroll/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/anchor-text/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/animated-content/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/animation-performance/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-allowed-attr/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-command-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-deprecated-role/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-dialog-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-hidden-body/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-hidden-focus/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-input-field-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-labels/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-live-regions/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-meter-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-progressbar-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-required-attr/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-required-children/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-required-parent/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-roles/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-text/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-toggle-field-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-tooltip-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-treeitem-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-valid-attr/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/aria-valid-attr-value/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/article/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/article-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/audio-descriptions/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/author-byline/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/author-expertise/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/author-info/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/autofocus-avoidance/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/autoplay-media/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/avif-format/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/avoid-eval/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/back-forward-cache/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/blocked-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/breadcrumb/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/breadcrumb-navigation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/broken-external-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/broken-html/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/broken-images/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/broken-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/browser-caching/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/browser-required/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/button-name/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/canonical-chain/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/canonical-header/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/canonical-url/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/carousel-accessibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/cascade-layers/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/cdn/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/charset/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/citations/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/clean-up-comments/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/code-splitting/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/color-contrast/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/color-oklch/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/compression/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/consent-mode/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/consistent-help/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/console-cleanup/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/const-let/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/contact-page/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/container-queries/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/content-dates/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/content-security-policy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/content-without-css/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/contract-testing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/cookie-consent/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/critical-images/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/critical-request-chains/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/cross-browser-testing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/cross-origin-isolation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/cross-origin-security/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-at-property/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-containment/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-critical/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-custom-properties/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-file-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-grid/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-minification/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-non-blocking/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-order/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/css-print/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/cumulative-layout-shift/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/currency-formatting/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/custom-element-accessibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/dark-mode-css/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/data-minimisation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/dead-end-pages/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/debounce-throttle/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/decorative-elements/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/defer-async/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/definition-list/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/dependency-audit/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/dimensions/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/direction-attribute/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/disclaimers/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/dlitem/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/doctype/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/dom-performance/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/dom-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/draggable-accessibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/duplicate-description/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/duplicate-id-active/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/duplicate-id-aria/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/duplicate-js/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/e2e-testing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/editorial-policy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/element-hiding/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/embedded-or-inline-css/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/empty-heading/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/empty-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/error-handling/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/error-images/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/error-monitoring/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/es-modules/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/event-delegation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/external-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/faq/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/favicon/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/favicons/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/fetchpriority-attribute/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/figure-figcaption/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/file-upload-accessibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/filename-quality/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/find-npm-packages/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/first-contentful-paint/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/flashing-content/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/flexbox-patterns/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/focus-management/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/focus-not-obscured/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/focus-order/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/focus-styles/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/font-loading/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/font-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/form-captcha/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/form-field-multiple-labels/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/form-https/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/form-labels/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/form-validation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/frame-title/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/freshness/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/frontend-checklist-global/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/geo-meta/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/gtm-present/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/h1/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/has-selector/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/heading-hierarchy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/heading-order/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/horizontal-scroll/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/hreflang/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/hsts/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/html-resource-hints/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/html-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/html-xml-lang-mismatch/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/html5-semantic-elements/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/http-requests/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/http-to-https/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/http2/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/https/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/https-downgrade/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/hyphens/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/identical-links-same-purpose/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/image-cdn/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/image-compression/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/image-file-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/image-optimization/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/image-redundant-alt/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/immutable-patterns/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/import-on-interaction/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/import-on-visibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/improve-rule/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/inclusive-language/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/indexability/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/indexability-conflicts/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/input-image-alt/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/input-types/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/integration-testing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/interaction-to-next-paint/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/internal-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/interstitials/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/invalid-links/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/javascript-inline/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/javascript-linter/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/javascript-minification/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/js-file-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/js-libraries/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/js-redirects/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/json-ld-valid/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/json-safety/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/keyboard-navigation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/keyword-stuffing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/label-content-name-mismatch/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/landmark-one-main/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/landmark-regions/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/lang-attribute/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/largest-contentful-paint/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/lazy-above-fold/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/lazy-loading/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/leaked-secrets/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/legacy-js/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/length/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/link-checker/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/link-in-text-block/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/link-text/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/list-structure/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/list-virtualization/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/listitem/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/llm-parsability/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/llms-txt/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/loading-indicators/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/local-business/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/locale-images/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/logical-properties/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/lowercase/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/memory-leaks/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/meta-description/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/meta-in-body/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/meta-refresh/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/meta-title/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/mime-type/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/mixed-content/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/mobile-testing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/mock-best-practices/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/modal-accessibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/modern-array-methods/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/modern-format/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/mutation-testing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/naming-conventions/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/nap-consistency/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/navigation-landmark/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/new-tab/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/no-explicit-any/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/no-unchecked-indexed-access/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/nofollow-internal/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/noindex-in-sitemap/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/noscript-tag/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/nosnippet/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/object-alt/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/offline-fallback/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/offscreen-lazy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/og-image-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/og-tags/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/og-url-match/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/optimized/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/organization/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/orientation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/orphan-pages/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/page-load-time/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/page-weight/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/pagination/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/pagination-accessibility/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/parallax-effects/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/parameters/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/password-field-security/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/paste-inputs/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/pdf-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/performance-budget/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/performance-resource-hints/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/permissions-policy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/physical-address/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/picture-element/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/plain-language/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/pluralization/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/preconnect/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/privacy-policy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/product/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/progressive-jpeg/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/pwa-installability/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/quality/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/reading-level/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/redirect-chain/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/redirect-chains/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/reduced-motion/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/redundant-entry/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/referrer-policy/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/render-blocking/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/reset-css/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/resource-hints/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/responsive-images/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/responsive-size/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/responsive-units/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

skills/retina-display/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

e8d14d049010 → e8d14d049010

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → e8d14d049010

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e8d14d049010e2ce25afcd5e8609dfcbbe63e47e

git clone --filter=blob:none --no-checkout https://github.com/thedaviddias/Front-End-Checklist.git .hotskills/thedaviddias-front-end-checklist && git -C .hotskills/thedaviddias-front-end-checklist checkout --detach e8d14d049010e2ce25afcd5e8609dfcbbe63e47e # Copy each selected skill directory from .hotskills/thedaviddias-front-end-checklist into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/thedaviddias/Front-End-Checklist.git .hotskills/thedaviddias-front-end-checklist && git -C .hotskills/thedaviddias-front-end-checklist checkout --detach e8d14d049010e2ce25afcd5e8609dfcbbe63e47e # Copy each selected skill directory from .hotskills/thedaviddias-front-end-checklist into .agents/skills/<skill-name>/
74.7kGitHub stars
51stars in 7 days
393skills in this repository
0commits in 30 days

Heat

4.1
  • Star growth, last 7 daysAhead of 36% of tracked repositories
  • Star growth, last 24 hoursAhead of 69% of tracked repositories
  • Rank movement, last 7 daysAhead of 78% of tracked repositories
  • Commits, last 30 daysAhead of 0% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 7, 202674,667

Individual skills in this repository

How it works

frontendchecklist

When your agent uses it

Review frontend code and live pages against the Front-End Checklist (380+ rules for accessibility, performance, SEO, security, HTML, CSS, JavaScript, images, i18n, privacy, testing) using the `frontendchecklist` CLI. Use when writing, reviewing, or shipping HTML/CSS/JS/JSX/TSX/Vue/Svelte/Astro code, before a commit or PR, or when asked to audit a public URL.

What it loads into context

Frontmatter

100 tokens

Always available to the agent

SKILL.md

694 tokens

When the skill is activated

Reference documents

614 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to use it
  2. Commands
  3. Reading results
  4. Workflow

Scripts executed separately

  • package.json
  • scripts/build.ts
  • src/args.ts
  • src/commands/audit.ts
  • src/commands/lookup.ts
  • src/commands/review.ts
  • src/content.ts
  • src/index.ts
  • src/output.ts
  • src/spec.ts
  • tests/cli.test.mjs

Files

  • ../../.claude-plugin/marketplace.jsonasset623 bytes
  • .gitignoreasset6 bytes
  • README.mddoc2,448 bytes
  • SKILL.mdcore2,767 bytes
  • package.jsonruns1,509 bytes
  • scripts/build.tsruns1,990 bytes
  • src/args.tsruns5,655 bytes
  • src/commands/audit.tsruns2,898 bytes
  • src/commands/lookup.tsruns5,083 bytes
  • src/commands/review.tsruns3,944 bytes
  • src/content.tsruns1,523 bytes
  • src/index.tsruns2,984 bytes
  • src/output.tsruns3,416 bytes
  • src/spec.tsruns5,213 bytes
  • tests/cli.test.mjsruns4,706 bytes
  • tsconfig.jsonasset202 bytes
  • ../../plugins/front-end-checklist/.claude-plugin/plugin.jsonasset854 bytes
Read SKILL.md

# Front-End Checklist CLI

`frontendchecklist` checks frontend code against the Front-End Checklist rules. It works offline,
prints JSON when its output is piped (which is how you will usually call it), and uses exit codes
you can branch on.

Run it with `npx -y @frontendchecklist/cli <command>` if `frontendchecklist` is not installed.

## When to use it

- After writing or editing frontend files: `frontendchecklist review <paths>`.
- Before committing: `git diff --cached | frontendchecklist review -`.
- When the user asks to audit a deployed page: `frontendchecklist audit https://...`.
- When you need the authoritative guidance for a topic: `frontendchecklist search <topic>`, then
View the complete source on GitHub

Skills included

  • frontendchecklist
  • frontend-checklist-global
  • 404-page
  • about-page
  • accessibility-testing
  • accessible-authentication
  • accessible-notifications
  • accessible-tables
  • accessible-tooltips
  • accesskeys
  • accordion-accessibility
  • affiliate-disclosure
  • ai-content
  • all-noindex-pages
  • alt-text
  • anchor-smooth-scroll
  • anchor-text
  • animated-content
  • animation-performance
  • aria-allowed-attr
  • aria-command-name
  • aria-deprecated-role
  • aria-dialog-name
  • aria-hidden-body
  • aria-hidden-focus
  • aria-input-field-name
  • aria-labels
  • aria-live-regions
  • aria-meter-name
  • aria-progressbar-name
  • aria-required-attr
  • aria-required-children
  • aria-required-parent
  • aria-roles
  • aria-text
  • aria-toggle-field-name
  • aria-tooltip-name
  • aria-treeitem-name
  • aria-valid-attr
  • aria-valid-attr-value
  • article
  • article-links
  • audio-descriptions
  • author-byline
  • author-expertise
  • author-info
  • autofocus-avoidance
  • autoplay-media
  • avif-format
  • avoid-eval
  • back-forward-cache
  • blocked-links
  • breadcrumb
  • breadcrumb-navigation
  • broken-external-links
  • broken-html
  • broken-images
  • broken-links
  • browser-caching
  • browser-required
  • button-name
  • canonical-chain
  • canonical-header
  • canonical-url
  • carousel-accessibility
  • cascade-layers
  • cdn
  • charset
  • citations
  • clean-up-comments
  • code-splitting
  • color-contrast
  • color-oklch
  • compression
  • consent-mode
  • consistent-help
  • console-cleanup
  • const-let
  • contact-page
  • container-queries
  • content-dates
  • content-security-policy
  • content-without-css
  • contract-testing
  • cookie-consent
  • critical-images
  • critical-request-chains
  • cross-browser-testing
  • cross-origin-isolation
  • cross-origin-security
  • css-at-property
  • css-containment
  • css-critical
  • css-custom-properties
  • css-file-size
  • css-grid
  • css-minification
  • css-non-blocking
  • css-order
  • css-print
  • cumulative-layout-shift
  • currency-formatting
  • custom-element-accessibility
  • dark-mode-css
  • data-minimisation
  • dead-end-pages
  • debounce-throttle
  • decorative-elements
  • defer-async
  • definition-list
  • dependency-audit
  • dimensions
  • direction-attribute
  • disclaimers
  • dlitem
  • doctype
  • dom-performance
  • dom-size
  • draggable-accessibility
  • duplicate-description
  • duplicate-id-active
  • duplicate-id-aria
  • duplicate-js
  • e2e-testing
  • editorial-policy
  • element-hiding
  • embedded-or-inline-css
  • empty-heading
  • empty-links
  • error-handling
  • error-images
  • error-monitoring
  • es-modules
  • event-delegation
  • external-links
  • faq
  • favicon
  • favicons
  • fetchpriority-attribute
  • figure-figcaption
  • file-upload-accessibility
  • filename-quality
  • find-npm-packages
  • first-contentful-paint
  • flashing-content
  • flexbox-patterns
  • focus-management
  • focus-not-obscured
  • focus-order
  • focus-styles
  • font-loading
  • font-size
  • form-captcha
  • form-field-multiple-labels
  • form-https
  • form-labels
  • form-validation
  • frame-title
  • freshness
  • frontend-checklist-global
  • geo-meta
  • gtm-present
  • h1
  • has-selector
  • heading-hierarchy
  • heading-order
  • horizontal-scroll
  • hreflang
  • hsts
  • html-resource-hints
  • html-size
  • html-xml-lang-mismatch
  • html5-semantic-elements
  • http-requests
  • http-to-https
  • http2
  • https
  • https-downgrade
  • hyphens
  • identical-links-same-purpose
  • image-cdn
  • image-compression
  • image-file-size
  • image-optimization
  • image-redundant-alt
  • immutable-patterns
  • import-on-interaction
  • import-on-visibility
  • improve-rule
  • inclusive-language
  • indexability
  • indexability-conflicts
  • input-image-alt
  • input-types
  • integration-testing
  • interaction-to-next-paint
  • internal-links
  • interstitials
  • invalid-links
  • javascript-inline
  • javascript-linter
  • javascript-minification
  • js-file-size
  • js-libraries
  • js-redirects
  • json-ld-valid
  • json-safety
  • keyboard-navigation
  • keyword-stuffing
  • label-content-name-mismatch
  • landmark-one-main
  • landmark-regions
  • lang-attribute
  • largest-contentful-paint
  • lazy-above-fold
  • lazy-loading
  • leaked-secrets
  • legacy-js
  • length
  • link-checker
  • link-in-text-block
  • link-text
  • list-structure
  • list-virtualization
  • listitem
  • llm-parsability
  • llms-txt
  • loading-indicators
  • local-business
  • locale-images
  • logical-properties
  • lowercase
  • memory-leaks
  • meta-description
  • meta-in-body
  • meta-refresh
  • meta-title
  • mime-type
  • mixed-content
  • mobile-testing
  • mock-best-practices
  • modal-accessibility
  • modern-array-methods
  • modern-format
  • mutation-testing
  • naming-conventions
  • nap-consistency
  • navigation-landmark
  • new-tab
  • no-explicit-any
  • no-unchecked-indexed-access
  • nofollow-internal
  • noindex-in-sitemap
  • noscript-tag
  • nosnippet
  • object-alt
  • offline-fallback
  • offscreen-lazy
  • og-image-size
  • og-tags
  • og-url-match
  • optimized
  • organization
  • orientation
  • orphan-pages
  • page-load-time
  • page-weight
  • pagination
  • pagination-accessibility
  • parallax-effects
  • parameters
  • password-field-security
  • paste-inputs
  • pdf-size
  • performance-budget
  • performance-resource-hints
  • permissions-policy
  • physical-address
  • picture-element
  • plain-language
  • pluralization
  • preconnect
  • privacy-policy
  • product
  • progressive-jpeg
  • pwa-installability
  • quality
  • reading-level
  • redirect-chain
  • redirect-chains
  • reduced-motion
  • redundant-entry
  • referrer-policy
  • render-blocking
  • reset-css
  • resource-hints
  • responsive-images
  • responsive-size
  • responsive-units
  • retina-display

Showing 300 of 393 skills. See GitHub for the complete repository.

Repository facts

License
MIT
Created
Oct 16, 2017
Last pushed
Oct 31, 2026
Forks
6,784
Open issues
5
Project activity
Active

Rank over the last 12 weeks

Now #23 · best #17 · down 3 in 30 days

  1. #19 from Sep 30 to Oct 2
  2. #20 from Oct 3 to Oct 12
  3. #21 on Oct 13
  4. #22 from Oct 14 to Oct 24
  5. #24 on Oct 25
  6. #23 since Oct 28
3 earlier periods
  1. #16 on Aug 2
  2. #17 from Aug 8 to Sep 1
  3. #18 from Sep 2 to Sep 29

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 116 notes
  • skills/404-page/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/about-page/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/accessible-notifications/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/accessible-tooltips/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/accordion-accessibility/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/affiliate-disclosure/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-content/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/all-noindex-pages/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/anchor-text/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/aria-treeitem-name/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/article/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/article-links/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/author-byline/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/author-expertise/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/author-info/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/avoid-eval/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/blocked-links/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/breadcrumb/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/breadcrumb-navigation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/broken-external-links/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 3,611 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "David Dias",     "url": "https://thedaviddias.com"
  • Network accessline 4
    "name": "David Dias",     "url": "https://thedaviddias.com"   },
  • Network accessline 5
    "url": "https://thedaviddias.com"
  • Network accessline 14
    "description": "Review frontend code and live pages against 386 quality-gated rules for accessibility, performance, SEO, security, and HTML/CSS/JS best practices.",       "category": "development",       "homepage": "https://frontendcheckli
  • Network accessline 15
    "category": "development",       "homepage": "https://frontendchecklist.io/mcp"     }
  • Network accessline 16
    "homepage": "https://frontendchecklist.io/mcp"

packages/cli/README.md

  • Network accessline 3
    The [Front-End Checklist](https://frontendchecklist.io) from the command line: review local code,
  • Network accessline 15
    frontendchecklist review src/ index.html          # files and directories (node_modules, dist skipped) git diff --cached | frontendchecklist review -    # stdin frontendchecklist audit https://example.com       # public https pages only
  • Network accessline 16
    git diff --cached | frontendchecklist review -    # stdin frontendchecklist audit https://example.com       # public https pages only frontendchecklist search "image formats" -n 5
  • Network accessline 17
    frontendchecklist audit https://example.com       # public https pages only
  • Network accessline 48
    Prefer MCP? The same rules and tools are available at `https://mcp.frontendchecklist.io`
  • Network accessline 49
    (see [frontendchecklist.io/en/mcp](https://frontendchecklist.io/en/mcp)).
  • Network accessline 54
    pnpm --filter @frontendchecklist/cli build    # dist/index.js + dist/content.json snapshot node packages/cli/dist/index.js review src/ pnpm audit:url https://example.com            # build + audit shortcut
  • Network accessline 55
    node packages/cli/dist/index.js review src/ pnpm audit:url https://example.com            # build + audit shortcut pnpm --filter @frontendchecklist/cli test
  • Network accessline 56
    pnpm audit:url https://example.com            # build + audit shortcut

packages/cli/SKILL.md

  • Network accessline 16
    - After writing or editing frontend files: `frontendchecklist review <paths>`. - Before committing: `git diff --cached | frontendchecklist review -`. - When the user asks to audit a deployed page: `frontendchecklist audit https://...`.
  • Network accessline 17
    - Before committing: `git diff --cached | frontendchecklist review -`. - When the user asks to audit a deployed page: `frontendchecklist audit https://...`. - When you need the authoritative guidance for a topic: `frontendchecklist search <
  • Network accessline 18
    - When the user asks to audit a deployed page: `frontendchecklist audit https://...`.

packages/cli/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 14
    "ai-agents"   ],   "homepage": "https://frontendchecklist.io",
  • Network accessline 15
    ],   "homepage": "https://frontendchecklist.io",   "repository": {
  • Network accessline 16
    "homepage": "https://frontendchecklist.io",
  • Network accessline 17
    "repository": {     "type": "git",     "url": "git+https://github.com/thedaviddias/Front-End-Checklist.git",
  • Network accessline 18
    "type": "git",     "url": "git+https://github.com/thedaviddias/Front-End-Checklist.git",     "directory": "packages/cli"
  • Network accessline 19
    "url": "git+https://github.com/thedaviddias/Front-End-Checklist.git",

packages/cli/scripts/build.ts

  • Executable scriptline 1
    Executable file

packages/cli/src/args.ts

  • Executable scriptline 1
    Executable file

packages/cli/src/commands/audit.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 15
    const baseUrl = process.env.FRONTENDCHECKLIST_BASE_URL ?? SITE_URL   try {     const response = await fetch(`${baseUrl}/api/audits`, {
  • Network accessline 16
    try {     const response = await fetch(`${baseUrl}/api/audits`, {       method: 'POST',
  • Network accessline 17
    const response = await fetch(`${baseUrl}/api/audits`, {
  • Network accessline 40
    const url = options.positionals[0]   if (!url)     throw new UsageError('audit needs a URL, e.g. `frontendchecklist audit https://example.com`')
  • Network accessline 42
    throw new UsageError('audit needs a URL, e.g. `frontendchecklist audit https://example.com`')

packages/cli/src/commands/lookup.ts

  • Executable scriptline 1
    Executable file

packages/cli/src/commands/review.ts

  • Executable scriptline 1
    Executable file

packages/cli/src/content.ts

  • Executable scriptline 1
    Executable file

packages/cli/src/index.ts

  • Executable scriptline 1
    Executable file

packages/cli/src/output.ts

  • Executable scriptline 1
    Executable file

packages/cli/src/spec.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 29
    summary:       'Fetch a public https page and review its HTML. Private/localhost addresses are refused.',     examples: ['frontendchecklist audit https://example.com --fail-on critical']
  • Network accessline 30
    'Fetch a public https page and review its HTML. Private/localhost addresses are refused.',     examples: ['frontendchecklist audit https://example.com --fail-on critical']   },
  • Network accessline 31
    examples: ['frontendchecklist audit https://example.com --fail-on critical']

packages/cli/tests/cli.test.mjs

  • Executable scriptline 1
    Executable file

plugins/front-end-checklist/.claude-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "David Dias",     "url": "https://thedaviddias.com"
  • Network accessline 6
    "name": "David Dias",     "url": "https://thedaviddias.com"   },
  • Network accessline 7
    "url": "https://thedaviddias.com"
  • Network accessline 8
    },   "homepage": "https://frontendchecklist.io/mcp",   "privacyPolicyUrl": "https://frontendchecklist.io/privacy",
  • Network accessline 9
    "homepage": "https://frontendchecklist.io/mcp",
  • Network accessline 10
    "privacyPolicyUrl": "https://frontendchecklist.io/privacy",
  • Network accessline 11
    "termsOfServiceUrl": "https://frontendchecklist.io/terms",
  • Network accessline 12
    "supportUrl": "https://github.com/thedaviddias/Front-End-Checklist/issues",
  • Network accessline 13
    "documentationUrl": "https://frontendchecklist.io/mcp",
  • Network accessline 14
    "repository": "https://github.com/thedaviddias/Front-End-Checklist",

plugins/front-end-checklist/skills/frontend-checklist-global/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/mcp
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/mcp ---
  • Network accessline 10
    url: https://frontendchecklist.io/mcp
  • Network accessline 193
    MCP docs: https://frontendchecklist.io/mcp

plugins/front-end-checklist/skills/frontend-checklist-global/references/categories.md

  • Network accessline 131
    Rules browser: https://frontendchecklist.io/rules
  • Network accessline 132
    Full reference: https://frontendchecklist.io/llms-full.txt

skills/404-page/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/404-page
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/404-page ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/404-page
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/html/404-page

skills/404-page/references/rule.md

  • Network accessline 211
    useEffect(() => {     // Send to error tracking service     fetch('/api/track-404', {
  • Network accessline 212
    // Send to error tracking service     fetch('/api/track-404', {       method: 'POST',
  • Network accessline 213
    fetch('/api/track-404', {

skills/about-page/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/about-page
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/about-page ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/about-page
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/about-page

skills/accessibility-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/accessibility-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/accessibility-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/accessibility-testing
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/accessibility-testing

skills/accessible-authentication/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/accessible-authentication
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/accessible-authentication ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/accessible-authentication
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/accessible-authentication

skills/accessible-notifications/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/accessible-notifications
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/accessible-notifications ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/accessible-notifications
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/accessible-notifications

skills/accessible-tables/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/accessible-tables
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/accessible-tables ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/accessible-tables
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/accessibility/accessible-tables

skills/accessible-tooltips/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/accessible-tooltips
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/accessible-tooltips ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/accessible-tooltips
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/accessible-tooltips

skills/accesskeys/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/accesskeys
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/accesskeys ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/accesskeys
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/accesskeys

skills/accordion-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/accordion-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/accordion-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/accordion-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/accordion-accessibility

skills/affiliate-disclosure/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/affiliate-disclosure
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/affiliate-disclosure ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/affiliate-disclosure
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/affiliate-disclosure

skills/ai-content/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/ai-content
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/ai-content ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/ai-content
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/ai-content

skills/ai-content/references/rule.md

  • Network accessline 7
    --- While AI tools can assist in the writing process, the final output still has to satisfy [Google's Search Essentials](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) and deliver the depth expected from [high-qua
  • Network accessline 8
    While AI tools can assist in the writing process, the final output still has to satisfy [Google's Search Essentials](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) and deliver the depth expected from [high-quality
  • Network accessline 30
    - **Quality Standards**: Google's guidance on [creating helpful, reliable, people-first content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) targets low-value automation that does not add original insigh

skills/all-noindex-pages/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/all-noindex-pages
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/all-noindex-pages ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/all-noindex-pages
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/all-noindex-pages

skills/alt-text/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/alt-text
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/alt-text ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/alt-text
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/alt-text

skills/alt-text/references/rule.md

  • Network accessline 10
    Use the [W3C alt decision tree](https://www.w3.org/WAI/tutorials/images/decision-tree/) to determine the correct alt value for any image type.
  • Network accessline 57
    <!-- ❌ Bad: Describes appearance, not destination --> <a href="https://twitter.com/example">
  • Network accessline 58
    <a href="https://twitter.com/example">
  • Network accessline 62
    <!-- ✅ Good: Describes the link destination --> <a href="https://twitter.com/example">
  • Network accessline 63
    <a href="https://twitter.com/example">

skills/anchor-smooth-scroll/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/anchor-smooth-scroll
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/anchor-smooth-scroll ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/anchor-smooth-scroll
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/anchor-smooth-scroll

skills/anchor-text/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/anchor-text
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/anchor-text ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/anchor-text
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/anchor-text

skills/animated-content/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/animated-content
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/animated-content ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/animated-content
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/animated-content

skills/animated-content/references/rule.md

  • Network accessline 45
    Favor [browser-native video delivery guidance from web.dev](https://web.dev/learn/performance) when deciding whether an animation should stay a GIF at all, because the biggest wins usually come from eliminating heavy animated assets rather 
  • Network accessline 57
    - [FFmpeg](https://ffmpeg.org/): Command-line tool for converting GIFs to video.
  • Network accessline 58
    - [Cloudinary/Imgix](https://cloudinary.com/): Automated media optimization services.
  • Network accessline 59
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse): Checks for large GIFs and suggests video alternatives.

skills/animation-performance/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/animation-performance
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/animation-performance ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/animation-performance
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/animation-performance

skills/aria-allowed-attr/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-allowed-attr
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-allowed-attr ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-allowed-attr
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-allowed-attr

skills/aria-command-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-command-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-command-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-command-name
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-command-name

skills/aria-deprecated-role/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-deprecated-role
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-deprecated-role ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-deprecated-role
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-deprecated-role

skills/aria-dialog-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-dialog-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-dialog-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-dialog-name
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-dialog-name

skills/aria-hidden-body/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-hidden-body
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-hidden-body ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-hidden-body
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-hidden-body

skills/aria-hidden-focus/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-hidden-focus
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-hidden-focus ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-hidden-focus
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-hidden-focus

skills/aria-hidden-focus/references/rule.md

  • Network accessline 7
    --- When an element is marked with `aria-hidden="true"`, it is removed from the accessibility tree, but it is **not** removed from the keyboard tab order. [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) makes that distinction explicit, 
  • Network accessline 8
    When an element is marked with `aria-hidden="true"`, it is removed from the accessibility tree, but it is **not** removed from the keyboard tab order. [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) makes that distinction explicit, whic

skills/aria-input-field-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-input-field-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-input-field-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-input-field-name
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-input-field-name

skills/aria-input-field-name/references/rule.md

  • Network accessline 7
    --- Form inputs must be clearly labeled so that users of assistive technology know what information they are expected to provide. [WCAG 2.1 SC 4.1.2](https://www.w3.org/TR/WCAG21/#name-role-value) and the accessible-name computation model b
  • Network accessline 8
    Form inputs must be clearly labeled so that users of assistive technology know what information they are expected to provide. [WCAG 2.1 SC 4.1.2](https://www.w3.org/TR/WCAG21/#name-role-value) and the accessible-name computation model both 

skills/aria-labels/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-labels
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-labels ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-labels
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-labels

skills/aria-labels/references/rule.md

  • Network accessline 7
    --- Every interactive element on a page must communicate its purpose to assistive technologies. [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) treats accessible naming as foundational for buttons, links, and widgets, which is why this 
  • Network accessline 8
    Every interactive element on a page must communicate its purpose to assistive technologies. [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) treats accessible naming as foundational for buttons, links, and widgets, which is why this rule

skills/aria-live-regions/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-live-regions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-live-regions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-live-regions
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-live-regions

skills/aria-meter-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-meter-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-meter-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-meter-name
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-meter-name

skills/aria-progressbar-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-progressbar-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-progressbar-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-progressbar-name
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-progressbar-name

skills/aria-required-attr/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-required-attr
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-required-attr ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-required-attr
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-required-attr

skills/aria-required-children/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-required-children
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-required-children ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-required-children
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-required-children

skills/aria-required-children/references/rule.md

  • Network accessline 7
    --- Complex ARIA widgets often require a specific nesting structure where a parent role must contain children with specific roles. The WAI-ARIA spec calls these [required owned elements](https://www.w3.org/TR/wai-aria-1.2/#mustContain), and
  • Network accessline 8
    Complex ARIA widgets often require a specific nesting structure where a parent role must contain children with specific roles. The WAI-ARIA spec calls these [required owned elements](https://www.w3.org/TR/wai-aria-1.2/#mustContain), and get

skills/aria-required-parent/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-required-parent
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-required-parent ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-required-parent
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-required-parent

skills/aria-roles/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-roles
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-roles ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-roles
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-roles

skills/aria-text/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-text
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-text ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-text
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-text

skills/aria-text/references/rule.md

  • Network accessline 7
    --- The `role="text"` attribute, used mainly in VoiceOver-specific edge cases, should only be applied to static text containers. [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) is clear that flattening a subtree this way becomes dangero
  • Network accessline 8
    The `role="text"` attribute, used mainly in VoiceOver-specific edge cases, should only be applied to static text containers. [WAI-ARIA 1.2](https://www.w3.org/TR/wai-aria-1.2/) is clear that flattening a subtree this way becomes dangerous o

skills/aria-toggle-field-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-toggle-field-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-toggle-field-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-toggle-field-name
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-toggle-field-name

skills/aria-tooltip-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-tooltip-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-tooltip-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-tooltip-name
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-tooltip-name

skills/aria-treeitem-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-treeitem-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-treeitem-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-treeitem-name
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-treeitem-name

skills/aria-treeitem-name/references/rule.md

  • Network accessline 7
    --- Tree items within a tree widget must have accessible names to allow users to navigate complex hierarchies. The [treeitem role definition](https://www.w3.org/TR/wai-aria-1.2/#treeitem) and the tree-view authoring pattern both depend on t
  • Network accessline 8
    Tree items within a tree widget must have accessible names to allow users to navigate complex hierarchies. The [treeitem role definition](https://www.w3.org/TR/wai-aria-1.2/#treeitem) and the tree-view authoring pattern both depend on those

skills/aria-valid-attr-value/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-valid-attr-value
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-valid-attr-value ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-valid-attr-value
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-valid-attr-value

skills/aria-valid-attr/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-valid-attr
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/aria-valid-attr ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/aria-valid-attr
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/aria-valid-attr

skills/aria-valid-attr/references/rule.md

  • Network accessline 40
    - [W3C WAI-ARIA Specification](https://www.w3.org/TR/wai-aria/)
  • Network accessline 41
    - [Axe DevTools](https://www.deque.com/axe/)
  • Network accessline 42
    - [WAVE Web Accessibility Evaluation Tool](https://wave.webaim.org/)

skills/article-links/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/article-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/article-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/article-links
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/article-links

skills/article-links/references/rule.md

  • Network accessline 13
    <article>   <p>According to a recent study by <a href="https://example-authority.com/study" rel="noopener noreferrer" target="_blank">Industry Research Group</a>, 70% of users prefer mobile-friendly websites.</p>
  • Network accessline 14
    <p>According to a recent study by <a href="https://example-authority.com/study" rel="noopener noreferrer" target="_blank">Industry Research Group</a>, 70% of users prefer mobile-friendly websites.</p>

skills/article/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/article
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/article ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/article
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/article

skills/article/references/rule.md

  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "BlogPosting",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 16
    "@type": "BlogPosting",   "headline": "10 SEO Tips for 2024",   "image": ["https://example.com/photos/16x9/photo.jpg"],
  • Network accessline 17
    "headline": "10 SEO Tips for 2024",   "image": ["https://example.com/photos/16x9/photo.jpg"],   "datePublished": "2024-01-05T08:00:00+08:00",
  • Network accessline 18
    "image": ["https://example.com/photos/16x9/photo.jpg"],
  • Network accessline 22
    "@type": "Person",       "name": "Jane Doe",       "url": "https://example.com/profile/janedoe"
  • Network accessline 23
    "name": "Jane Doe",       "url": "https://example.com/profile/janedoe"     }]
  • Network accessline 24
    "url": "https://example.com/profile/janedoe"

skills/audio-descriptions/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/audio-descriptions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/audio-descriptions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/audio-descriptions
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/audio-descriptions

skills/author-byline/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/author-byline
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/author-byline ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/author-byline
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/author-byline

skills/author-expertise/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/author-expertise
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/author-expertise ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/author-expertise
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/author-expertise

skills/author-expertise/references/rule.md

  • Network accessline 18
    </p>   <nav class="author-social" aria-label="Author social links">     <a href="https://linkedin.com/in/janesmith" target="_blank" rel="noopener noreferrer">LinkedIn</a>
  • Network accessline 19
    <nav class="author-social" aria-label="Author social links">     <a href="https://linkedin.com/in/janesmith" target="_blank" rel="noopener noreferrer">LinkedIn</a>     <a href="https://twitter.com/janesmith" target="_blank" rel="noopener no
  • Network accessline 20
    <a href="https://linkedin.com/in/janesmith" target="_blank" rel="noopener noreferrer">LinkedIn</a>
  • Network accessline 21
    <a href="https://twitter.com/janesmith" target="_blank" rel="noopener noreferrer">Twitter</a>

skills/author-info/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/author-info
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/author-info ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/author-info
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/author-info

skills/author-info/references/rule.md

  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "Person",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 17
    "name": "Jane Smith",   "jobTitle": "Senior Security Researcher",   "url": "https://example.com/authors/jane-smith",
  • Network accessline 18
    "jobTitle": "Senior Security Researcher",   "url": "https://example.com/authors/jane-smith",   "sameAs": [
  • Network accessline 19
    "url": "https://example.com/authors/jane-smith",
  • Network accessline 20
    "sameAs": [     "https://www.linkedin.com/in/janesmith",     "https://twitter.com/janesmith"
  • Network accessline 21
    "https://www.linkedin.com/in/janesmith",
  • Network accessline 22
    "https://twitter.com/janesmith"

skills/autofocus-avoidance/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/autofocus-avoidance
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/autofocus-avoidance ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/autofocus-avoidance
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/autofocus-avoidance

skills/autoplay-media/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/autoplay-media
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/autoplay-media ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/autoplay-media
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/autoplay-media

skills/avif-format/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/avif-format
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/avif-format ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/avif-format
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/avif-format

skills/avif-format/references/rule.md

  • Network accessline 179
    <!-- Cloudinary auto format --> <img src="https://res.cloudinary.com/demo/image/upload/f_auto,q_auto/sample.jpg">
  • Network accessline 180
    <img src="https://res.cloudinary.com/demo/image/upload/f_auto,q_auto/sample.jpg">
  • Network accessline 183
    <!-- Imgix auto format --> <img src="https://example.imgix.net/image.jpg?auto=format">
  • Network accessline 184
    <img src="https://example.imgix.net/image.jpg?auto=format">

skills/avoid-eval/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/avoid-eval
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/avoid-eval ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/avoid-eval
  • Dangerous shell operationline 15
    eval() and its equivalents are the root cause of some of the most severe XSS vulnerabilities. If any user-controlled string reaches eval(), an attacker can execute arbitrary JavaScript in your users' browsers — stealing sessions, making req
  • Dangerous shell operationline 19
    - eval() executes arbitrary strings as code — any user input passed to it is a critical security hole
  • Dangerous shell operationline 22
    - Use JSON.parse() instead of eval() for parsing JSON
  • Dangerous shell operationline 26
    Search this codebase for any use of eval(), new Function(), or setTimeout/setInterval with string arguments.
  • Dangerous shell operationline 30
    Replace eval() calls with safe alternatives: JSON.parse for data, object lookups for dynamic dispatch, and Function references for timers.
  • Dangerous shell operationline 34
    Explain why eval() is dangerous, how it enables XSS attacks, and what safe alternatives exist for each use case.
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/avoid-eval

skills/avoid-eval/references/rule.md

  • Network accessline 7
    --- [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) and similar dynamic code execution functions such as the [`Function()` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
  • Dangerous shell operationline 8
    [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) and similar dynamic code execution functions such as the [`Function()` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Re
  • Network accessline 8
    [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) and similar dynamic code execution functions such as the [`Function()` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Re
  • Dangerous shell operationline 14
    eval(userInput) // Executes arbitrary code
  • Dangerous shell operationline 24
    const data = eval('(' + jsonString + ')')
  • Dangerous shell operationline 29
    eval() and its equivalents are the root cause of some of the most severe XSS vulnerabilities. If any user-controlled string reaches eval(), an attacker can execute arbitrary JavaScript in your users' browsers — stealing sessions, making req
  • Dangerous shell operationline 51
    const value = eval(`user.${property}`)
  • Dangerous shell operationline 67
    eval(`${actionName}Document()`)
  • Network accessline 93
    Use [ESLint's `no-eval` rule](https://eslint.org/docs/rules/no-eval) together with `no-new-func` and `no-implied-eval` so these patterns fail in code review and CI rather than in production.
  • Dangerous shell operationline 113
    Without `'unsafe-eval'`, `eval()` and `new Function()` will be blocked by the browser.

skills/back-forward-cache/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/back-forward-cache
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/back-forward-cache ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/back-forward-cache
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/performance/back-forward-cache

skills/blocked-links/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/blocked-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/blocked-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/blocked-links
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/blocked-links

skills/blocked-links/references/rule.md

  • Network accessline 7
    --- Adblocker filter lists such as [EasyList](https://easylist.to/) and [uBlock Origin's static filters](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax) work at two levels: element hiding (CSS) and network blocking (URLs). Doma
  • Network accessline 8
    Adblocker filter lists such as [EasyList](https://easylist.to/) and [uBlock Origin's static filters](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax) work at two levels: element hiding (CSS) and network blocking (URLs). Domain-l
  • Network accessline 46
    ❌ May be blocked — redirects through tracking.example.com <a href="https://click.tracking.example.com/?url=https://dest.com&utm=abc">
  • Network accessline 47
    <a href="https://click.tracking.example.com/?url=https://dest.com&utm=abc">
  • Network accessline 51
    ✅ Direct link with UTM parameters — not blocked <a href="https://dest.com?utm_source=email&utm_campaign=spring">
  • Network accessline 52
    <a href="https://dest.com?utm_source=email&utm_campaign=spring">
  • Network accessline 59
    For truly first-party functionality, [self-hosting critical scripts and fonts](https://web.dev/articles/font-best-practices) on your own domain avoids the most common domain-level block rules while keeping essential flows reachable.
  • Network accessline 68
    # Nginx proxy for GTM location /gtm/ {     proxy_pass https://www.googletagmanager.com/;
  • Network accessline 69
    location /gtm/ {     proxy_pass https://www.googletagmanager.com/;     proxy_set_header Host www.googletagmanager.com;
  • Network accessline 70
    proxy_pass https://www.googletagmanager.com/;
  • Network accessline 89
    // Send to GA Measurement Protocol (server-to-server, not blocked)   await fetch('https://www.google-analytics.com/mp/collect', {
  • Network accessline 90
    await fetch('https://www.google-analytics.com/mp/collect', {
  • Network accessline 109
    <!-- Plausible — served from plausible.io but usually not blocked --> <script defer data-domain="example.com" src="https://plausible.io/js/script.js"></script>
  • Network accessline 110
    <script defer data-domain="example.com" src="https://plausible.io/js/script.js"></script>

skills/breadcrumb-navigation/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/breadcrumb-navigation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/breadcrumb-navigation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/breadcrumb-navigation
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/breadcrumb-navigation

skills/breadcrumb-navigation/references/rule.md

  • Network accessline 108
    const schema = {     '@context': 'https://schema.org',
  • Network accessline 109
    '@context': 'https://schema.org',

skills/breadcrumb/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/breadcrumb
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/breadcrumb ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/breadcrumb
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/breadcrumb

skills/breadcrumb/references/rule.md

  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "BreadcrumbList",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 19
    "position": 1,     "name": "Blog",     "item": "https://example.com/blog"
  • Network accessline 20
    "name": "Blog",     "item": "https://example.com/blog"   },{
  • Network accessline 21
    "item": "https://example.com/blog"
  • Network accessline 24
    "position": 2,     "name": "SEO Tips",     "item": "https://example.com/blog/seo-tips"
  • Network accessline 25
    "name": "SEO Tips",     "item": "https://example.com/blog/seo-tips"   }]
  • Network accessline 26
    "item": "https://example.com/blog/seo-tips"

skills/broken-external-links/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/broken-external-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/broken-external-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/broken-external-links
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/broken-external-links

skills/broken-external-links/references/rule.md

  • Network accessline 15
    <p>     <!-- ✅ Good: Updated link to a live resource -->     Learn more in the <a href="https://modern-docs.com/guide">latest documentation</a>.
  • Network accessline 17
    Learn more in the <a href="https://modern-docs.com/guide">latest documentation</a>.
  • Network accessline 19
    <!-- ❌ Bad: Linking to a known broken or archived resource without context -->     Read this <a href="https://dead-site.com/old-post">old post</a>.
  • Network accessline 20
    Read this <a href="https://dead-site.com/old-post">old post</a>.

skills/broken-html/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/broken-html
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/broken-html ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/broken-html
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/broken-html

skills/broken-images/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/broken-images
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/broken-images ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/broken-images
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/broken-images

skills/broken-links/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/broken-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/broken-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/broken-links
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/broken-links

skills/browser-caching/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/browser-caching
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/browser-caching ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/browser-caching
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/browser-caching

skills/browser-caching/references/rule.md

  • Network accessline 170
    event.respondWith(     caches.match(event.request).then(cached => {       const fetchPromise = fetch(event.request).then(response => {
  • Network accessline 171
    caches.match(event.request).then(cached => {       const fetchPromise = fetch(event.request).then(response => {         // Update cache
  • Network accessline 172
    const fetchPromise = fetch(event.request).then(response => {
  • Network accessline 190
    // Check cache headers in browser async function verifyCaching(url) {   const response = await fetch(url, { method: 'HEAD' })
  • Network accessline 192
    const response = await fetch(url, { method: 'HEAD' })

skills/browser-required/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/browser-required
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/browser-required ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/browser-required
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/browser-required

skills/browser-required/references/rule.md

  • Network accessline 21
    # Run an audit on a URL lighthouse https://example.com --view --chrome-flags="--headless"
  • Network accessline 22
    lighthouse https://example.com --view --chrome-flags="--headless"
  • Network accessline 44
    await page.goto('https://example.com');
  • Network accessline 61
    Use a real browser pass alongside [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) so layout shifts, main-thread work, and interaction delays are measured in an environment that actually executes the page.
  • Network accessline 73
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse): The industry standard for browser-based auditing.
  • Network accessline 74
    - [WebPageTest](https://www.webpagetest.org/): Provides deep waterfall analysis and multi-location testing.
  • Network accessline 75
    - [PageSpeed Insights](https://pagespeed.web.dev/): Combines lab data from Lighthouse with real-world field data.
  • Network accessline 76
    - [Playwright](https://playwright.dev/): Modern browser automation for custom performance scripts.

skills/button-name/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/button-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/button-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/button-name
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/button-name

skills/button-name/references/rule.md

  • Network accessline 56
    - [Axe DevTools](https://www.deque.com/axe/)
  • Network accessline 57
    - [WAVE Tool](https://wave.webaim.org/)
  • Network accessline 58
    - [Chrome DevTools Accessibility Tab](https://developer.chrome.com/docs/devtools/accessibility/reference/)

skills/canonical-chain/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/canonical-chain
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/canonical-chain ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/canonical-chain
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/canonical-chain

skills/canonical-chain/references/rule.md

  • Network accessline 13
    <!-- ❌ Bad: Canonical points to a URL that redirects --> <!-- http://example.com/page-a (Redirects) -> http://example.com/page-b (Final) -->
  • Network accessline 14
    <!-- http://example.com/page-a (Redirects) -> http://example.com/page-b (Final) -->
  • Network accessline 15
    <link rel="canonical" href="http://example.com/page-a">
  • Network accessline 17
    <!-- ✅ Good: Canonical points directly to the final destination --> <link rel="canonical" href="http://example.com/page-b">
  • Network accessline 18
    <link rel="canonical" href="http://example.com/page-b">

skills/canonical-header/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/canonical-header
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/canonical-header ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/canonical-header
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/canonical-header

skills/canonical-header/references/rule.md

  • Network accessline 15
    # HTTP Response Header: # Link: <https://example.com/target-page>; rel="canonical"
  • Network accessline 16
    # Link: <https://example.com/target-page>; rel="canonical"
  • Network accessline 18
    # HTML <head> section: # <link rel="canonical" href="https://example.com/target-page">
  • Network accessline 19
    # <link rel="canonical" href="https://example.com/target-page">
  • Network accessline 24
    - **Signal Reliability**: Consistent signals ensure that search engines trust and follow your canonicalization instructions. - **Duplicate Content**: Prevents different versions of a page from competing with each other in search results. - 
  • Network accessline 25
    - **Duplicate Content**: Prevents different versions of a page from competing with each other in search results. - **Technical Integrity**: Reduces the likelihood of "canonical-url mismatch" errors in [Google Search Console](https://search.
  • Network accessline 26
    - **Technical Integrity**: Reduces the likelihood of "canonical-url mismatch" errors in [Google Search Console](https://search.google.com/search-console/about) reports.

skills/canonical-url/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/canonical-url
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/canonical-url ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/canonical-url
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/canonical-url

skills/canonical-url/references/rule.md

  • Network accessline 7
    --- Canonical URLs prevent duplicate content issues by specifying the preferred page version. [Google's canonicalization guidance](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) works best when URL normalization r
  • Network accessline 8
    Canonical URLs prevent duplicate content issues by specifying the preferred page version. [Google's canonicalization guidance](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) works best when URL normalization rules
  • Network accessline 13
    <head>   <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 14
    <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 25
    |----------|---------|--------------| | URL parameters | `?sort=price&page=1` | Base URL | | HTTP vs HTTPS | `http://` and `https://` | HTTPS version |
  • Network accessline 26
    | URL parameters | `?sort=price&page=1` | Base URL | | HTTP vs HTTPS | `http://` and `https://` | HTTPS version | | www vs non-www | Both exist | Preferred version |
  • Network accessline 27
    | HTTP vs HTTPS | `http://` and `https://` | HTTPS version |
  • Network accessline 41
    return {     alternates: {       canonical: `https://example.com/products/${params.slug}`,
  • Network accessline 42
    alternates: {       canonical: `https://example.com/products/${params.slug}`,     },
  • Network accessline 43
    canonical: `https://example.com/products/${params.slug}`,
  • Network accessline 52
    const router = useRouter()   const canonicalUrl = `https://example.com${router.asPath.split('?')[0]}`
  • Network accessline 53
    const canonicalUrl = `https://example.com${router.asPath.split('?')[0]}`
  • Network accessline 66
    // Handle pagination and filters function getCanonicalUrl(path: string, page?: number): string {   const baseUrl = 'https://example.com'
  • Network accessline 68
    const baseUrl = 'https://example.com'
  • Network accessline 88
    <!-- ✅ Good: Absolute URL --> <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 89
    <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 91
    <!-- ❌ Bad: Wrong protocol --> <link rel="canonical" href="http://example.com/products/widget" />
  • Network accessline 92
    <link rel="canonical" href="http://example.com/products/widget" />
  • Network accessline 94
    <!-- ✅ Good: HTTPS protocol --> <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 95
    <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 97
    <!-- ❌ Bad: Includes tracking parameters --> <link rel="canonical" href="https://example.com/products/widget?utm_source=google" />
  • Network accessline 98
    <link rel="canonical" href="https://example.com/products/widget?utm_source=google" />
  • Network accessline 100
    <!-- ✅ Good: Clean URL --> <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 101
    <link rel="canonical" href="https://example.com/products/widget" />
  • Network accessline 107
    // Every page should have a canonical-url, even if self-referencing function PageHead({ path }: { path: string }) {   const canonicalUrl = `https://example.com${path}`
  • Network accessline 109
    const canonicalUrl = `https://example.com${path}`
  • Network accessline 122
    <!-- When content is syndicated to partner sites --> <!-- On partner site: --> <link rel="canonical" href="https://original-site.com/article" />
  • Network accessline 124
    <link rel="canonical" href="https://original-site.com/article" />
  • Network accessline 148
    - View page source—verify canonical tag is present - Check that canonical URL is absolute with HTTPS - Use [Google Search Console](https://search.google.com/search-console/about) URL Inspection
  • Network accessline 149
    - Check that canonical URL is absolute with HTTPS - Use [Google Search Console](https://search.google.com/search-console/about) URL Inspection - Test with [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/) or a similar crawler
  • Network accessline 150
    - Use [Google Search Console](https://search.google.com/search-console/about) URL Inspection
  • Network accessline 151
    - Test with [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/) or a similar crawler

skills/carousel-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/carousel-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/carousel-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/carousel-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/carousel-accessibility

skills/cascade-layers/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/cascade-layers
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/cascade-layers ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/cascade-layers
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/cascade-layers

skills/cascade-layers/references/rule.md

  • Network accessline 7
    --- [CSS Cascade Layers](https://developer.mozilla.org/en-US/docs/Web/CSS/@layer) give you a new dimension of cascade control that sits above specificity. The [web.dev guide](https://web.dev/articles/cascade-layers) is a good mental model h
  • Network accessline 8
    [CSS Cascade Layers](https://developer.mozilla.org/en-US/docs/Web/CSS/@layer) give you a new dimension of cascade control that sits above specificity. The [web.dev guide](https://web.dev/articles/cascade-layers) is a good mental model here:
  • Network accessline 200
    [`@layer`](https://developer.mozilla.org/en-US/docs/Web/CSS/@layer) is supported in all modern browsers (Chrome 99+, Firefox 97+, Safari 15.4+). The [Chrome rollout notes](https://developer.chrome.com/blog/cascade-layers) are a useful remin
  • Network accessline 206
    Use the [MDN `@layer` reference](https://developer.mozilla.org/en-US/docs/Web/CSS/@layer) while checking DevTools so you are verifying the declared layer order and not just the final visual result.

skills/cdn/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/cdn
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/cdn ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/cdn
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/cdn

skills/cdn/references/rule.md

  • Network accessline 77
    // Serve static assets from cache   if (url.pathname.startsWith('/static/')) {     const response = await fetch(request)
  • Network accessline 78
    if (url.pathname.startsWith('/static/')) {     const response = await fetch(request)     const headers = new Headers(response.headers)
  • Network accessline 79
    const response = await fetch(request)
  • Network accessline 85
    return fetch(request)
  • Network accessline 126
    // Environment variables // .env.production // NEXT_PUBLIC_CDN_URL=https://cdn.example.com
  • Network accessline 128
    // NEXT_PUBLIC_CDN_URL=https://cdn.example.com

skills/charset/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/charset
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/charset ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/charset
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/html/charset

skills/charset/references/rule.md

  • Network accessline 98
    - [W3C Markup Validator](https://validator.w3.org/)
  • Network accessline 99
    - [HTML5 Validator](https://html5.validator.nu/)

skills/citations/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/citations
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/citations ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/citations
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/citations

skills/citations/references/rule.md

  • Network accessline 14
    <p>     According to the latest report from the      <a href="https://www.who.int/publications" target="_blank" rel="noopener noreferrer">World Health Organization</a>,
  • Network accessline 15
    According to the latest report from the      <a href="https://www.who.int/publications" target="_blank" rel="noopener noreferrer">World Health Organization</a>,      urban air quality has become a primary concern for public health in 2024.
  • Network accessline 16
    <a href="https://www.who.int/publications" target="_blank" rel="noopener noreferrer">World Health Organization</a>,

skills/clean-up-comments/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/clean-up-comments
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/clean-up-comments ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/clean-up-comments
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/clean-up-comments

skills/clean-up-comments/references/rule.md

  • Dangerous shell operationline 378
    find . -name "*.debug.js" -delete
  • Dangerous shell operationline 379
    find . -name "*.test.js" -delete
  • Dangerous shell operationline 380
    find . -name "*.spec.js" -delete
  • Dangerous shell operationline 383
    rm -rf .storybook/
  • Dangerous shell operationline 384
    rm -rf __tests__/
  • Dangerous shell operationline 385
    rm -rf coverage/
  • Dangerous shell operationline 388
    rm -f .env.local
  • Dangerous shell operationline 389
    rm -f .env.development
  • Dangerous shell operationline 390
    rm -f webpack.dev.js
  • Access to secretsline 502
    [Credential-related source omitted]
  • Access to secretsline 508
    [Credential-related source omitted]

skills/code-splitting/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/code-splitting
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/code-splitting ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/code-splitting
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/code-splitting

skills/code-splitting/references/rule.md

  • Network accessline 7
    --- Code splitting uses [`import()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) and route boundaries to divide your JavaScript application into separate chunks that load on demand rather than all at 
  • Network accessline 8
    Code splitting uses [`import()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) and route boundaries to divide your JavaScript application into separate chunks that load on demand rather than all at once
  • Network accessline 23
    A 500 KB JavaScript bundle blocks page interactivity for 3–5 seconds on a mid-range mobile device even after the bytes arrive — JS must be parsed and compiled before execution. The [web.dev dynamic imports guide](https://web.dev/articles/co
  • Network accessline 101
    A first pass with [Webpack Bundle Analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) or [Bundlephobia](https://bundlephobia.com) usually shows which dependency or route should move behind `import()`.
  • Network accessline 118
    - Compare the before/after output from your bundle visualizer and confirm the initial chunk shrinks meaningfully; [`import()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) should move real code out of 

skills/color-contrast/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/color-contrast
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/color-contrast ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/color-contrast
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/color-contrast

skills/color-contrast/references/rule.md

  • Network accessline 42
    The thresholds in [WCAG 1.4.3 Contrast (Minimum)](https://www.w3.org/TR/WCAG21/#contrast-minimum) and [WCAG 1.4.11 Non-text Contrast](https://www.w3.org/TR/WCAG21/#non-text-contrast) are not aesthetic preferences; they are readability requi
  • Network accessline 68
    - [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
  • Network accessline 69
    - [Colour Contrast Analyser (TPGi)](https://www.tpgi.com/color-contrast-checker/)
  • Network accessline 70
    - [WhoCanUse](https://whocanuse.com/) — simulates how different users perceive your colors

skills/color-oklch/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/color-oklch
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/color-oklch ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/color-oklch
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/color-oklch

skills/color-oklch/references/rule.md

  • Network accessline 157
    Use the [oklch.com](https://oklch.com/) picker to see the APCA or WCAG contrast ratio as you adjust colours.
  • Network accessline 175
    Use the [MDN `oklch()` reference](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklch) or [oklch.com](https://oklch.com/) while checking ramps so you are evaluating perceptual spacing, not just whether the token syntax parses

skills/compression/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/compression
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/compression ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/compression
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/compression

skills/compression/references/rule.md

  • Network accessline 49
    Compression guidance from [web.dev](https://web.dev/learn/performance) is useful here because transfer savings only solve the network side of the problem; parsing and execution cost still remain on the client after the bytes arrive.
  • Network accessline 60
    Validate transfer savings in [PageSpeed Insights](https://pagespeed.web.dev/) after enabling Brotli or Gzip so you can confirm the smaller payloads translate into better route-level delivery rather than just a config checkbox.
  • Network accessline 73
    - **Chrome DevTools**: Check the "Network" tab, look for the `Content-Encoding` header in resource responses. - [Check GZIP compression](https://www.giftofspeed.com/gzip-test/): Online tool to verify if compression is enabled.
  • Network accessline 74
    - [Check GZIP compression](https://www.giftofspeed.com/gzip-test/): Online tool to verify if compression is enabled.
  • Network accessline 75
    - [Brotli Test](https://tools.keycdn.com/brotli-test): Verify Brotli support for a specific URL.

skills/consent-mode/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/consent-mode
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/consent-mode ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/consent-mode
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/consent-mode

skills/consent-mode/references/rule.md

  • Network accessline 56
    Validate the implementation with [Google Tag Assistant](https://tagassistant.google.com/) so you can confirm the consent state actually changes the requests sent after a user decision, not just the values stored in the page.
  • Network accessline 68
    - [Google Tag Assistant](https://tagassistant.google.com/): Debugging tool to verify consent signals.
  • Network accessline 70
    - [Tag Manager Debug Mode](https://support.google.com/tagmanager/answer/6107056): View consent state changes in real-time.

skills/consistent-help/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/consistent-help
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/consistent-help ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/consistent-help
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/consistent-help

skills/console-cleanup/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/console-cleanup
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/console-cleanup ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/console-cleanup
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/console-cleanup

skills/const-let/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/const-let
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/const-let ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/const-let
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/const-let

skills/const-let/references/rule.md

  • Network accessline 43
    // ✅ Use const when a binding won't be reassigned const MAX_RETRIES = 3 const apiUrl = 'https://api.example.com'
  • Network accessline 44
    const MAX_RETRIES = 3 const apiUrl = 'https://api.example.com' const user = fetchUser() // the binding is constant, not the object
  • Network accessline 45
    const apiUrl = 'https://api.example.com'

skills/contact-page/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/contact-page
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/contact-page ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/contact-page
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/seo/contact-page

skills/container-queries/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/container-queries
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/container-queries ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/container-queries
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/container-queries

skills/content-dates/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/content-dates
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/content-dates ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/content-dates
  • Network accessline 59
    Rule page: https://frontendchecklist.io/rules/seo/content-dates

skills/content-dates/references/rule.md

  • Network accessline 7
    --- Showing when content was published and last updated is a trust signal for readers and a freshness signal for search engines. [Google's Article structured data guidance](https://developers.google.com/search/docs/appearance/structured-dat
  • Network accessline 8
    Showing when content was published and last updated is a trust signal for readers and a freshness signal for search engines. [Google's Article structured data guidance](https://developers.google.com/search/docs/appearance/structured-data/ar
  • Network accessline 37
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 38
    {   "@context": "https://schema.org",   "@type": "Article",
  • Network accessline 39
    "@context": "https://schema.org",
  • Network accessline 58
    - **Freshness ranking**: Google rewards fresh content for time-sensitive queries. Accurate `dateModified` helps Google assess how current your content is, especially when it matches the same freshness signals surfaced in [Schema.org's `date
  • Network accessline 73
    3. Update your Article JSON-LD template to include `datePublished` and `dateModified`. 4. Ensure your CMS stores and exposes both dates, and that `dateModified` updates on substantive edits. 5. Validate with [Google's Rich Results Test](htt
  • Network accessline 75
    5. Validate with [Google's Rich Results Test](https://search.google.com/test/rich-results).

skills/content-security-policy/SKILL.md

  • Network accessline 8
    estimatedTime: "45"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/content-security-policy
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/content-security-policy ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/content-security-policy
  • Access to secretsline 41
    [Credential-related source omitted]
  • Network accessline 48
    Rule page: https://frontendchecklist.io/rules/security/content-security-policy

skills/content-security-policy/references/rule.md

  • Network accessline 68
    `img-src 'self' data: https:`,     `font-src 'self'`,     `connect-src 'self' https://api.example.com`,
  • Network accessline 69
    `font-src 'self'`,     `connect-src 'self' https://api.example.com`,     `frame-ancestors 'none'`,
  • Network accessline 70
    `connect-src 'self' https://api.example.com`,
  • Network accessline 195
    Content-Security-Policy:   default-src 'self';   script-src 'self' https://www.googletagmanager.com https://www.google-analytics.com;
  • Network accessline 196
    default-src 'self';   script-src 'self' https://www.googletagmanager.com https://www.google-analytics.com;   style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
  • Network accessline 197
    script-src 'self' https://www.googletagmanager.com https://www.google-analytics.com;
  • Network accessline 198
    style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
  • Network accessline 199
    font-src 'self' https://fonts.gstatic.com;
  • Network accessline 200
    img-src 'self' data: https://www.google-analytics.com;
  • Network accessline 201
    connect-src 'self' https://www.google-analytics.com;
  • Network accessline 202
    frame-src https://www.youtube.com https://www.youtube-nocookie.com;
  • Network accessline 313
    # Check CSP header curl -I https://example.com | grep -i content-security-policy
  • Network accessline 314
    curl -I https://example.com | grep -i content-security-policy
  • Network accessline 323
    - [CSP Evaluator (Google)](https://csp-evaluator.withgoogle.com/)
  • Network accessline 324
    - [Security Headers](https://securityheaders.com/)
  • Network accessline 325
    - [Mozilla Observatory](https://observatory.mozilla.org/)

skills/content-without-css/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/content-without-css
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/content-without-css ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/content-without-css
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/content-without-css

skills/content-without-css/references/rule.md

  • Network accessline 7
    --- Users should still be able to read, understand, and complete the main task when your stylesheet fails to load or when they replace it with their own. The easiest way to achieve that resilience is to start with [semantic HTML](https://de
  • Network accessline 8
    Users should still be able to read, understand, and complete the main task when your stylesheet fails to load or when they replace it with their own. The easiest way to achieve that resilience is to start with [semantic HTML](https://develo
  • Network accessline 103
    When CSS is disabled, replaced, or partially broken, the browser falls back to the DOM order and native HTML semantics. That is exactly the scenario covered by [WCAG 1.3.1 Info and Relationships](https://www.w3.org/WAI/WCAG21/Understanding/
  • Network accessline 112
    Think about this section as a practical application of [MDN's semantic HTML guidance](https://developer.mozilla.org/en-US/docs/Learn/Accessibility/HTML): if the meaning survives without presentation, the markup is probably doing its job.
  • Network accessline 203
    - Run [Nu Html Checker](https://validator.w3.org/nu/) and fix structural issues that often signal CSS-dependent meaning, such as broken heading hierarchy, missing labels, or invalid list and table markup.

skills/contract-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "120"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/contract-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/contract-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/contract-testing
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/contract-testing

skills/contract-testing/references/rule.md

  • Network accessline 187
    const res = await fetch(`${baseUrl}/users/${id}`, {
  • Access to secretsline 216
    [Credential-related source omitted]
  • Network accessline 249
    it('validates the expectations of the frontend consumer', async () => {     const verifier = new Verifier({       providerBaseUrl: 'http://localhost:4000',
  • Network accessline 250
    const verifier = new Verifier({       providerBaseUrl: 'http://localhost:4000',       pactBrokerUrl: process.env.PACT_BROKER_URL!,
  • Network accessline 251
    providerBaseUrl: 'http://localhost:4000',
  • Access to secretsline 253
    [Credential-related source omitted]

skills/cookie-consent/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/cookie-consent
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/cookie-consent ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/privacy/cookie-consent
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/privacy/cookie-consent

skills/cookie-consent/references/rule.md

  • Network accessline 24
    <!-- Do NOT load analytics before consent --> <!-- ❌ Wrong: loads before consent --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"></script>
  • Network accessline 26
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"></script>
  • Network accessline 86
    function loadGoogleAnalytics() {   const script = document.createElement('script')   script.src = 'https://www.googletagmanager.com/gtag/js?id=G-XXXXX'
  • Network accessline 87
    const script = document.createElement('script')   script.src = 'https://www.googletagmanager.com/gtag/js?id=G-XXXXX'   script.async = true
  • Network accessline 88
    script.src = 'https://www.googletagmanager.com/gtag/js?id=G-XXXXX'

skills/critical-images/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/critical-images
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/critical-images ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/critical-images
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/critical-images

skills/critical-request-chains/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/critical-request-chains
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/critical-request-chains ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/critical-request-chains
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/critical-request-chains

skills/critical-request-chains/references/rule.md

  • Network accessline 60
    Use a real request waterfall in [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) or WebPageTest to verify that critical assets are discovered earlier after the change, because this rule is about dependency order, not jus
  • Network accessline 72
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse): Specifically lists "Critical Request Chains" in the Performance report.
  • Network accessline 73
    - [WebPageTest](https://www.webpagetest.org/): Use the "Request Waterfall" to visually identify chains.

skills/cross-browser-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "60"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/cross-browser-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/cross-browser-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/cross-browser-testing
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/testing/cross-browser-testing

skills/cross-browser-testing/references/rule.md

  • Access to secretsline 250
    [Credential-related source omitted]

skills/cross-origin-isolation/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/cross-origin-isolation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/cross-origin-isolation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/cross-origin-isolation
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/security/cross-origin-isolation

skills/cross-origin-security/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/cross-origin-security
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/cross-origin-security ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/cross-origin-security
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/javascript/cross-origin-security

skills/cross-origin-security/references/rule.md

  • Network accessline 19
    // ✅ Always validate the origin const ALLOWED_ORIGINS = ['https://app.example.com', 'https://admin.example.com']
  • Network accessline 20
    const ALLOWED_ORIGINS = ['https://app.example.com', 'https://admin.example.com']
  • Network accessline 39
    iframe.contentWindow.postMessage(   JSON.stringify({ type: 'AUTH_SUCCESS', token }),   'https://embedded.example.com' // Don't use '*' for sensitive data
  • Network accessline 40
    JSON.stringify({ type: 'AUTH_SUCCESS', token }),   'https://embedded.example.com' // Don't use '*' for sensitive data )
  • Network accessline 41
    'https://embedded.example.com' // Don't use '*' for sensitive data
  • Network accessline 59
    app.use(cors({   origin: (origin, callback) => {     const allowed = ['https://app.example.com', 'https://admin.example.com']
  • Network accessline 60
    origin: (origin, callback) => {     const allowed = ['https://app.example.com', 'https://admin.example.com']     if (!origin || allowed.includes(origin)) {
  • Network accessline 61
    const allowed = ['https://app.example.com', 'https://admin.example.com']
  • Network accessline 78
    // Include cookies in cross-origin requests (requires CORS allow-credentials) const response = await fetch('https://api.example.com/user', {
  • Network accessline 79
    const response = await fetch('https://api.example.com/user', {
  • Network accessline 100
    await fetch('/api/submit', {
  • Network accessline 141
    3. Test the primary user flow and one edge case triggered by the changed script path. 4. Confirm the code still behaves correctly when the feature is delayed, lazy-loaded, or fails. 5. Try a malicious external redirect target such as `?next
  • Network accessline 143
    5. Try a malicious external redirect target such as `?next=https://attacker.example` and confirm the app rejects or rewrites it.

skills/css-at-property/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-at-property
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-at-property ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-at-property
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-at-property

skills/css-at-property/references/rule.md

  • Network accessline 7
    --- CSS custom properties (variables) are string substitutions by default. The browser does not know whether `--brand-color` is a color, a length, or a number, which is why [`@property`](https://developer.mozilla.org/en-US/docs/Web/CSS/@pro
  • Network accessline 8
    CSS custom properties (variables) are string substitutions by default. The browser does not know whether `--brand-color` is a color, a length, or a number, which is why [`@property`](https://developer.mozilla.org/en-US/docs/Web/CSS/@propert
  • Network accessline 21
    CSS custom properties are powerful but limited by default: they are untyped string substitutions that the browser cannot interpolate during transitions or animations. The [web.dev @property article](https://web.dev/articles/at-property) sho
  • Network accessline 190
    Use the [MDN `@property` reference](https://developer.mozilla.org/en-US/docs/Web/CSS/@property) and the [Properties & Values API spec](https://www.w3.org/TR/css-properties-values-api-1/) as the baseline for what counts as a valid registrati

skills/css-containment/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-containment
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-containment ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-containment
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-containment

skills/css-critical/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-critical
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-critical ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-critical
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-critical

skills/css-critical/references/rule.md

  • Network accessline 401
    // Navigate to your page   await page.goto('http://localhost:3000', { waitUntil: 'networkidle2' })
  • Network accessline 402
    await page.goto('http://localhost:3000', { waitUntil: 'networkidle2' })

skills/css-custom-properties/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-custom-properties
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-custom-properties ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-custom-properties
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-custom-properties

skills/css-file-size/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/css-file-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/css-file-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/css-file-size
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/css-file-size

skills/css-file-size/references/rule.md

  • Network accessline 61
    Use [PageSpeed Insights](https://pagespeed.web.dev/) or the browser coverage view after trimming CSS so you can confirm the route is actually shipping less render-blocking code instead of just reorganizing styles.
  • Network accessline 73
    - [PurgeCSS](https://purgecss.com/): Remove unused CSS from your bundles.
  • Network accessline 74
    - [CSSNano](https://cssnano.co/): A modular minifier based on PostCSS.
  • Network accessline 76
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse): Warns about large CSS files and unused CSS rules.

skills/css-grid/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-grid
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-grid ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-grid
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-grid

skills/css-minification/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-minification
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-minification ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-minification
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-minification

skills/css-minification/references/rule.md

  • Network accessline 638
    auditCSS('http://localhost:3000')

skills/css-non-blocking/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-non-blocking
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-non-blocking ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-non-blocking
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-non-blocking

skills/css-non-blocking/references/rule.md

  • Network accessline 181
    <head>     <!-- Preconnect to font/CDN domains -->     <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 182
    <!-- Preconnect to font/CDN domains -->     <link rel="preconnect" href="https://fonts.googleapis.com">     <link rel="preconnect" href="https://cdn.jsdelivr.net">
  • Network accessline 183
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 184
    <link rel="preconnect" href="https://cdn.jsdelivr.net">
  • Network accessline 199
    event.respondWith(       caches.match(event.request)         .then(response => response || fetch(event.request))
  • Network accessline 200
    caches.match(event.request)         .then(response => response || fetch(event.request))     )
  • Network accessline 201
    .then(response => response || fetch(event.request))
  • Network accessline 263
    - [loadCSS by Filament Group](https://github.com/filamentgroup/loadCSS)
  • Network accessline 264
    - [Critical CSS Generator](https://github.com/addyosmani/critical)
  • Network accessline 265
    - [PurgeCSS](https://purgecss.com/) - Remove unused CSS
  • Network accessline 266
    - [CSS Tree Shaking](https://webpack.js.org/guides/tree-shaking/) in Webpack

skills/css-order/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-order
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-order ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-order
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-order

skills/css-order/references/rule.md

  • Network accessline 283
    <!-- CSS files first -->   <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 284
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 285
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap">
  • Network accessline 529
    // Usage analyzeCriticalPath('https://example.com').then(analysis => {
  • Network accessline 530
    analyzeCriticalPath('https://example.com').then(analysis => {

skills/css-print/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-print
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/css-print ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/css-print
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/css-print

skills/css-print/references/rule.md

  • Network accessline 334
    <div className="print-only">           <p>Visit our website at: https://example.com</p>
  • Network accessline 335
    <p>Visit our website at: https://example.com</p>
  • Network accessline 827
    // Usage const tester = new PrintStyleTester() tester.testPrintStyles('https://example.com').then(results => {
  • Network accessline 828
    const tester = new PrintStyleTester() tester.testPrintStyles('https://example.com').then(results => {   console.log('Print Style Analysis:', results)
  • Network accessline 829
    tester.testPrintStyles('https://example.com').then(results => {
  • Network accessline 890
    // Usage testPrintStyles('https://example.com').then(results => {
  • Network accessline 891
    testPrintStyles('https://example.com').then(results => {

skills/cumulative-layout-shift/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/cumulative-layout-shift
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/cumulative-layout-shift ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/cumulative-layout-shift
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/cumulative-layout-shift

skills/currency-formatting/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/currency-formatting
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/currency-formatting ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/i18n/currency-formatting
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/i18n/currency-formatting

skills/custom-element-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "60"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/custom-element-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/custom-element-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/custom-element-accessibility
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/html/custom-element-accessibility

skills/dark-mode-css/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/dark-mode-css
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/dark-mode-css ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/dark-mode-css
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/dark-mode-css

skills/data-minimisation/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/data-minimisation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/data-minimisation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/privacy/data-minimisation
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/privacy/data-minimisation

skills/data-minimisation/references/rule.md

  • Network accessline 26
    async function subscribeToNewsletter(data: NewsletterFormData): Promise<void> {   await fetch('/api/newsletter', {
  • Network accessline 27
    await fetch('/api/newsletter', {

skills/dead-end-pages/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/dead-end-pages
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/dead-end-pages ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/dead-end-pages
  • Network accessline 50
    Rule page: https://frontendchecklist.io/rules/seo/dead-end-pages

skills/dead-end-pages/references/rule.md

  • Network accessline 7
    --- Every page on your site should connect to at least a few other pages. [Google's crawler overview](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) makes dead-end pages a crawl and UX problem, especia
  • Network accessline 8
    Every page on your site should connect to at least a few other pages. [Google's crawler overview](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) makes dead-end pages a crawl and UX problem, especially 
  • Network accessline 63
    - **Crawl coverage**: Googlebot navigates by following `<a href>` links. A dead-end page means the crawler cannot reach other pages from that starting point during that session, which is part of the broader crawl flow described in [Google's

skills/debounce-throttle/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/debounce-throttle
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/debounce-throttle ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/debounce-throttle
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/debounce-throttle

skills/decorative-elements/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/decorative-elements
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/decorative-elements ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/decorative-elements
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/accessibility/decorative-elements

skills/defer-async/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/defer-async
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/defer-async ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/defer-async
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/defer-async

skills/defer-async/references/rule.md

  • Network accessline 49
    <!-- ✅ async: independent scripts that don't need DOM or other scripts -->   <!-- Analytics, chat widgets, social share buttons -->   <script async src="https://www.googletagmanager.com/gtag/js?id=GA_ID"></script>
  • Network accessline 51
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_ID"></script>

skills/definition-list/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/definition-list
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/definition-list ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/definition-list
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/definition-list

skills/definition-list/references/rule.md

  • Network accessline 52
    - [W3C Markup Validation Service](https://validator.w3.org/)
  • Network accessline 53
    - [MDN Reference: The Description List element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl)

skills/dependency-audit/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/dependency-audit
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/dependency-audit ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/dependency-audit
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/security/dependency-audit

skills/dependency-audit/references/rule.md

  • Network accessline 38
    │           Patched in: >=4.17.21                                 │ │           Dependency of: your-project > some-lib > lodash       │ │           More info: https://npmjs.com/advisories/1523          │
  • Network accessline 39
    │           Dependency of: your-project > some-lib > lodash       │ │           More info: https://npmjs.com/advisories/1523          │ └─────────────────────────────────────────────────────────────────┘
  • Network accessline 40
    │           More info: https://npmjs.com/advisories/1523          │
  • Network accessline 149
    [Snyk](https://snyk.io/) provides deeper analysis than `npm audit`, including:

skills/dimensions/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/dimensions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/dimensions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/dimensions
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/images/dimensions

skills/direction-attribute/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/direction-attribute
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/direction-attribute ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/direction-attribute
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/html/direction-attribute

skills/disclaimers/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/disclaimers
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/disclaimers ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/disclaimers
  • Network accessline 51
    Rule page: https://frontendchecklist.io/rules/seo/disclaimers

skills/disclaimers/references/rule.md

  • Network accessline 7
    --- Sensitive content — medical advice, financial guidance, legal information, affiliate recommendations — requires clear disclaimers. [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/guidelines.raterhub.com/en
  • Network accessline 8
    Sensitive content — medical advice, financial guidance, legal information, affiliate recommendations — requires clear disclaimers. [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/guidelines.raterhub.com/en//se
  • Network accessline 51
    <h1>Best Project Management Tools in 2024</h1>   <p>We recommend <a href="https://example.com/?ref=affiliate">ToolName</a>
  • Network accessline 52
    <p>We recommend <a href="https://example.com/?ref=affiliate">ToolName</a>
  • Network accessline 59
    - **E-E-A-T Trustworthiness**: Google's quality raters mark pages without appropriate disclaimers as untrustworthy, which suppresses rankings for YMYL topics. - **Legal compliance**: FTC rules (US), ASA guidelines (UK), and GDPR (EU) requir
  • Network accessline 60
    - **Legal compliance**: FTC rules (US), ASA guidelines (UK), and GDPR (EU) require specific disclosures for affiliate content, advertising, and data collection, which is why [FTC disclosure guidance](https://www.ftc.gov/sites/default/files/

skills/dlitem/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/dlitem
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/dlitem ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/dlitem
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/dlitem

skills/dlitem/references/rule.md

  • Network accessline 45
    - [W3C HTML Validator](https://validator.w3.org/)
  • Network accessline 46
    - [Axe-core Rule: definition-list-item](https://dequeuniversity.com/rules/axe/4.7/dlitem)

skills/doctype/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/doctype
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/doctype ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/doctype
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/html/doctype

skills/doctype/references/rule.md

  • Network accessline 33
    <!-- ❌ Incorrect: old XHTML 1.0 doctype --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • Network accessline 35
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • Network accessline 37
    <!-- ❌ Incorrect: HTML 4.01 Strict doctype --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd">
  • Network accessline 39
    "http://www.w3.org/TR/html4/strict.dtd">

skills/dom-performance/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/dom-performance
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/dom-performance ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/dom-performance
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/javascript/dom-performance

skills/dom-size/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/dom-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/dom-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/dom-size
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/dom-size

skills/dom-size/references/rule.md

  • Network accessline 91
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse): Audits the "DOM size" and provides specific counts for nodes and depth.

skills/draggable-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "35"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/draggable-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/draggable-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/draggable-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/draggable-accessibility

skills/duplicate-description/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/duplicate-description
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/duplicate-description ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/duplicate-description
  • Network accessline 51
    Rule page: https://frontendchecklist.io/rules/seo/duplicate-description

skills/duplicate-description/references/rule.md

  • Network accessline 7
    --- Every page should tell search engines and users what makes it unique. When multiple pages share the same meta description, [Google's snippet guidance](https://developers.google.com/search/docs/appearance/snippet) often leads Google to r
  • Network accessline 8
    Every page should tell search engines and users what makes it unique. When multiple pages share the same meta description, [Google's snippet guidance](https://developers.google.com/search/docs/appearance/snippet) often leads Google to rewri
  • Network accessline 51
    - **Snippet quality**: Google uses the meta description as the search snippet when it considers it relevant. Unique descriptions mean more useful snippets, and [MDN's description-meta reference](https://developer.mozilla.org/en-US/docs/Web/
  • Network accessline 66
    1. Run a site crawl with [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/), Sitebulb, or Google Search Console's Page Indexing report to identify duplicates.

skills/duplicate-id-active/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/duplicate-id-active
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/duplicate-id-active ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/duplicate-id-active
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/duplicate-id-active

skills/duplicate-id-active/references/rule.md

  • Network accessline 39
    - [W3C HTML Validator](https://validator.w3.org/)
  • Network accessline 40
    - [Axe-core Rule: duplicate-id-active](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-active)

skills/duplicate-id-aria/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/duplicate-id-aria
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/duplicate-id-aria ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/duplicate-id-aria
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/duplicate-id-aria

skills/duplicate-id-aria/references/rule.md

  • Network accessline 39
    - [Axe-core Rule: duplicate-id-aria](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-aria)
  • Network accessline 40
    - [Accessibility Insights for Web](https://accessibilityinsights.io/)

skills/duplicate-js/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/duplicate-js
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/duplicate-js ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/duplicate-js
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/duplicate-js

skills/duplicate-js/references/rule.md

  • Network accessline 55
    Start with [Bundlephobia](https://bundlephobia.com/) or your local bundle analyzer before deduping packages, because the real problem is usually one duplicated heavyweight dependency rather than every shared utility in the tree.
  • Network accessline 67
    - [Bundlephobia](https://bundlephobia.com/): Check the cost of adding a new dependency.
  • Network accessline 68
    - [Webpack Bundle Analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer): Visualizes the size of webpack output files with an interactive zoomable treemap.
  • Network accessline 69
    - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/): Specifically flags "duplicate modules in JavaScript bundles."
  • Network accessline 70
    - [JSHint](https://jshint.com/): Can help identify global variable collisions.

skills/e2e-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/e2e-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/e2e-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/e2e-testing
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/e2e-testing

skills/e2e-testing/references/rule.md

  • Network accessline 10
    Teams that want natural-language, black-box user-flow coverage can use [Agent QA](https://github.com/vostride/agent-qa) alongside code-level Playwright or Cypress suites; it complements rather than replaces their framework-level assertions.

skills/editorial-policy/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/editorial-policy
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/editorial-policy ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/editorial-policy
  • Network accessline 53
    Rule page: https://frontendchecklist.io/rules/seo/editorial-policy

skills/editorial-policy/references/rule.md

  • Network accessline 7
    --- An editorial policy page documents how your site creates, reviews, and maintains content. [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/guidelines.raterhub.com/en//searchqualityevaluatorguidelines.pdf) a
  • Network accessline 8
    An editorial policy page documents how your site creates, reviews, and maintains content. [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/guidelines.raterhub.com/en//searchqualityevaluatorguidelines.pdf) and s
  • Network accessline 84
    - **E-E-A-T**: Google's quality raters explicitly look for editorial standards when evaluating Trustworthiness. A published policy is direct evidence, especially when it aligns with Google's guidance on [helpful, reliable, people-first cont

skills/element-hiding/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/element-hiding
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/element-hiding ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/element-hiding
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/element-hiding

skills/element-hiding/references/rule.md

  • Network accessline 7
    --- Adblockers use filter lists such as [EasyList](https://easylist.to/) and [uBlock Origin's static syntax](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax) to identify and hide advertising elements. Those rules match against e
  • Network accessline 8
    Adblockers use filter lists such as [EasyList](https://easylist.to/) and [uBlock Origin's static syntax](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax) to identify and hide advertising elements. Those rules match against eleme
  • Network accessline 25
    If your cookie consent banner has class `.cookie-banner` or ID `#consent-popup`, adblockers may hide it. Because the [HTML `class` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) is exactly what those s

skills/embedded-or-inline-css/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/embedded-or-inline-css
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/embedded-or-inline-css ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/embedded-or-inline-css
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/embedded-or-inline-css

skills/empty-heading/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/empty-heading
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/empty-heading ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/empty-heading
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/empty-heading

skills/empty-heading/references/rule.md

  • Network accessline 40
    - [Heading Map Browser Extension](https://chrome.google.com/webstore/detail/headings-map/faieocmmodmbebebegejdcdoomihichn)
  • Network accessline 41
    - [WAVE Web Accessibility Tool](https://wave.webaim.org/)

skills/empty-links/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/empty-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/empty-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/empty-links
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/empty-links

skills/empty-links/references/rule.md

  • Network accessline 56
    <!-- ✅ Good: Social media icons --> <a href="https://twitter.com/company" aria-label="Follow us on Twitter">
  • Network accessline 57
    <a href="https://twitter.com/company" aria-label="Follow us on Twitter">

skills/error-handling/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/error-handling
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/error-handling ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/error-handling
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/error-handling

skills/error-handling/references/rule.md

  • Network accessline 16
    // ❌ No error handling async function fetchUser(id) {   const response = await fetch(`/api/users/${id}`)
  • Network accessline 17
    async function fetchUser(id) {   const response = await fetch(`/api/users/${id}`)   return response.json()
  • Network accessline 18
    const response = await fetch(`/api/users/${id}`)
  • Network accessline 23
    async function fetchUser(id) {   try {     const response = await fetch(`/api/users/${id}`)
  • Network accessline 25
    const response = await fetch(`/api/users/${id}`)
  • Network accessline 41
    async function fetchUserWithFallback(id) {   try {     const response = await fetch(`/api/users/${id}`)
  • Network accessline 42
    try {     const response = await fetch(`/api/users/${id}`)     return await response.json()
  • Network accessline 43
    const response = await fetch(`/api/users/${id}`)
  • Network accessline 67
    // ❌ Unhandled promise rejection fetch('/api/data')
  • Network accessline 68
    fetch('/api/data')
  • Network accessline 72
    // ✅ With error handling fetch('/api/data')
  • Network accessline 73
    fetch('/api/data')

skills/error-images/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/error-images
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/error-images ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/error-images
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/error-images

skills/error-monitoring/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/error-monitoring
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/error-monitoring ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/error-monitoring
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/testing/error-monitoring

skills/error-monitoring/references/rule.md

  • Network accessline 185
    async function monitoredFetch(input: RequestInfo | URL, init?: RequestInit) {   const response = await fetch(input, init)
  • Network accessline 186
    const response = await fetch(input, init)

skills/es-modules/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/es-modules
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/es-modules ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/es-modules
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/es-modules

skills/event-delegation/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/event-delegation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/event-delegation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/event-delegation
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/event-delegation

skills/external-links/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/external-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/external-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/external-links
  • Network accessline 33
    5. Avoid linking to competitor sites for their main commercial pages; prefer linking to neutral third parties. Example: Replace "Studies show 60% of users abandon slow pages" with: "According to <a href="https://web.dev/performance/" rel="n
  • Network accessline 35
    "According to <a href="https://web.dev/performance/" rel="noopener noreferrer">Google's web.dev research</a>, 60% of users abandon pages that take over 3 seconds to load."
  • Network accessline 51
    Rule page: https://frontendchecklist.io/rules/seo/external-links

skills/external-links/references/rule.md

  • Network accessline 7
    --- Linking out to authoritative external sources is a mark of quality content. It supports your claims, helps users verify information, and reinforces the same trust expectations covered in [content citations](/en/rules/seo/citations) and 
  • Network accessline 8
    Linking out to authoritative external sources is a mark of quality content. It supports your claims, helps users verify information, and reinforces the same trust expectations covered in [content citations](/en/rules/seo/citations) and [Goo
  • Network accessline 24
    <a href="https://example.com/research">View the research</a>
  • Network accessline 31
    <p>According to the   <a href="https://webaim.org/projects/million/"
  • Network accessline 32
    <a href="https://webaim.org/projects/million/"
  • Network accessline 40
    <p>We recommend   <a href="https://partner.example.com/"
  • Network accessline 41
    <a href="https://partner.example.com/"
  • Network accessline 48
    - **Trust signals**: Google's quality guidelines identify citation of credible sources as evidence of E-E-A-T. Unsupported claims lower trust scores, particularly on informational pages that need the same credibility signals as [trust-signa
  • Network accessline 50
    - **Link equity**: Outbound links to reputable sites do not drain your PageRank. Google treats responsible external linking positively, and [MDN's `rel` reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel) helps clar

skills/faq/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/faq
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/faq ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/faq
  • Network accessline 32
    {   "@context": "https://schema.org",
  • Network accessline 33
    "@context": "https://schema.org",
  • Network accessline 47
    3. Validate the markup using Google's Rich Results Test at https://search.google.com/test/rich-results.
  • Network accessline 64
    Rule page: https://frontendchecklist.io/rules/seo/faq

skills/faq/references/rule.md

  • Network accessline 28
    {   "@context": "https://schema.org",
  • Network accessline 29
    "@context": "https://schema.org",
  • Network accessline 44
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 45
    {   "@context": "https://schema.org",   "@type": "FAQPage",
  • Network accessline 46
    "@context": "https://schema.org",
  • Network accessline 73
    // Generate FAQPage JSON-LD from your content const faqSchema = {   '@context': 'https://schema.org',
  • Network accessline 74
    const faqSchema = {   '@context': 'https://schema.org',   '@type': 'FAQPage',
  • Network accessline 75
    '@context': 'https://schema.org',
  • Network accessline 115
    - Do not add FAQPage schema to pages where Q&A is behind a tab, accordion hidden from initial load, or requires interaction — Google must be able to see the content. - Do not use FAQPage for advertising purposes or to answer questions that 
  • Network accessline 117
    - Validate with the [Rich Results Test](https://search.google.com/test/rich-results) before deploying.

skills/favicon/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/favicon
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/favicon ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/favicon
  • Network accessline 58
    Rule page: https://frontendchecklist.io/rules/seo/favicon

skills/favicon/references/rule.md

  • Network accessline 54
    <!-- favicon.svg --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  • Network accessline 55
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  • Network accessline 75
    - The favicon must be accessible to Googlebot (not blocked by robots.txt) - The image must be at least 48×48px (Google scales it to 16×16 for display) - The favicon must follow Google's [safe search policies](https://developers.google.com/s
  • Network accessline 76
    - The image must be at least 48×48px (Google scales it to 16×16 for display) - The favicon must follow Google's [safe search policies](https://developers.google.com/search/docs/appearance/favicon-in-search) - A new favicon may take several 
  • Network accessline 77
    - The favicon must follow Google's [safe search policies](https://developers.google.com/search/docs/appearance/favicon-in-search)

skills/favicons/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/favicons
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/favicons ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/favicons
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/favicons

skills/favicons/references/rule.md

  • Network accessline 75
    <!-- favicon.svg - Modern scalable favicon --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  • Network accessline 76
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  • Network accessline 98
    <!-- animated-favicon.svg --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  • Network accessline 99
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">

skills/fetchpriority-attribute/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/fetchpriority-attribute
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/fetchpriority-attribute ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/fetchpriority-attribute
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/fetchpriority-attribute

skills/fetchpriority-attribute/references/rule.md

  • Network accessline 123
    <!-- Non-critical analytics — load after critical resources --> <script   src="https://cdn.example.com/analytics.js"
  • Network accessline 124
    <script   src="https://cdn.example.com/analytics.js"   defer
  • Network accessline 125
    src="https://cdn.example.com/analytics.js"
  • Network accessline 175
    Use [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) or a real waterfall trace to confirm the hint changes request order, because `fetchpriority` only helps when the browser actually promotes the right resource.

skills/figure-figcaption/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/figure-figcaption
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/figure-figcaption ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/figure-figcaption
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/figure-figcaption

skills/file-upload-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/file-upload-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/file-upload-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/file-upload-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/file-upload-accessibility

skills/file-upload-accessibility/references/rule.md

  • Network accessline 196
    formData.append('files', file))     await fetch('/api/upload', { method: 'POST', body: formData })
  • Network accessline 197
    await fetch('/api/upload', { method: 'POST', body: formData })

skills/filename-quality/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/filename-quality
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/filename-quality ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/filename-quality
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/filename-quality

skills/find-npm-packages/SKILL.md

  • Network accessline 54
    Use `https://www.npmjs.com/search?q={keywords}` and knowledge of the ecosystem to find candidates.
  • Network accessline 66
    # Metadata curl https://registry.npmjs.org/{package}/latest | jq '{name, version, description}'
  • Network accessline 67
    curl https://registry.npmjs.org/{package}/latest | jq '{name, version, description}'
  • Network accessline 69
    # Weekly downloads curl https://api.npmjs.org/downloads/point/last-week/{package} | jq '.downloads'
  • Network accessline 70
    curl https://api.npmjs.org/downloads/point/last-week/{package} | jq '.downloads'

skills/first-contentful-paint/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/first-contentful-paint
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/first-contentful-paint ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/first-contentful-paint
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/first-contentful-paint

skills/first-contentful-paint/references/rule.md

  • Network accessline 64
    <head>   <!-- Establish early connections -->   <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 65
    <!-- Establish early connections -->   <link rel="preconnect" href="https://fonts.googleapis.com">   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 66
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 67
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 68
    <link rel="preconnect" href="https://cdn.example.com" crossorigin>
  • Network accessline 70
    <!-- DNS prefetch for less critical origins -->   <link rel="dns-prefetch" href="https://analytics.example.com">
  • Network accessline 71
    <link rel="dns-prefetch" href="https://analytics.example.com">

skills/flashing-content/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/flashing-content
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/flashing-content ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/flashing-content
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/flashing-content

skills/flashing-content/references/rule.md

  • Network accessline 7
    --- Flashing content can trigger seizures, which is why [WCAG 2.3.1](https://www.w3.org/TR/WCAG21/#three-flashes-or-below-threshold) treats it as a hard safety limit rather than a design preference.
  • Network accessline 8
    Flashing content can trigger seizures, which is why [WCAG 2.3.1](https://www.w3.org/TR/WCAG21/#three-flashes-or-below-threshold) treats it as a hard safety limit rather than a design preference.
  • Network accessline 10
    [WCAG 2.3.1](https://www.w3.org/WAI/WCAG21/Understanding/three-flashes-or-below-threshold.html) is a Level A requirement. Content that flashes more than 3 times per second and exceeds size thresholds fails accessibility compliance and poses
  • Network accessline 39
    Flashing content between 3-60 Hz can trigger seizures in people with photosensitive epilepsy. [MDN's accessibility guidance](https://developer.mozilla.org/en-US/docs/Web/Accessibility) frames this correctly as a health and safety requiremen

skills/flexbox-patterns/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/flexbox-patterns
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/flexbox-patterns ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/flexbox-patterns
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/flexbox-patterns

skills/focus-management/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/focus-management
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/focus-management ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/focus-management
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/focus-management

skills/focus-not-obscured/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/focus-not-obscured
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/focus-not-obscured ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/focus-not-obscured
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/focus-not-obscured

skills/focus-order/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/focus-order
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/focus-order ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/focus-order
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/focus-order

skills/focus-styles/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/focus-styles
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/focus-styles ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/focus-styles
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/css/focus-styles

skills/font-loading/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/font-loading
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/font-loading ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/font-loading
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/font-loading

skills/font-loading/references/rule.md

  • Network accessline 60
    Verify the font waterfall in [PageSpeed Insights](https://pagespeed.web.dev/) or DevTools after each change, because good font loading is about earlier discovery and stable fallback metrics rather than just flipping `font-display: swap`.
  • Network accessline 72
    - Google Fonts Helper can speed up self-hosting work when you need a quick export of font files and matching CSS. - [FontSubsetter](https://font-subsetter.com/): Reduce font file size by removing unused characters.
  • Network accessline 73
    - [FontSubsetter](https://font-subsetter.com/): Reduce font file size by removing unused characters.
  • Network accessline 74
    - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/): Checks if "All text remains visible during webfont loads."
  • Network accessline 75
    - [Web Font Configurator](https://wakamaifondue.com/): Analyze what's inside your font files.

skills/font-size/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/font-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/font-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/font-size
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/css/font-size

skills/form-captcha/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/form-captcha
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/form-captcha ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/form-captcha
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/form-captcha

skills/form-captcha/references/rule.md

  • Network accessline 7
    --- Automated bots constantly probe public web forms for weaknesses. Without bot protection, a single form can generate thousands of spam submissions, enable account takeover through [credential stuffing](https://cheatsheetseries.owasp.org/
  • Network accessline 8
    Automated bots constantly probe public web forms for weaknesses. Without bot protection, a single form can generate thousands of spam submissions, enable account takeover through [credential stuffing](https://cheatsheetseries.owasp.org/chea
  • Network accessline 13
    ## [Cloudflare Turnstile](https://developers.cloudflare.com/turnstile/) (Recommended)
  • Network accessline 18
    <!-- 1. Include the script --> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
  • Network accessline 19
    <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
  • Network accessline 42
    // Verify with Cloudflare   const verifyResponse = await fetch(
  • Network accessline 43
    const verifyResponse = await fetch(
  • Network accessline 44
    'https://challenges.cloudflare.com/turnstile/v0/siteverify',
  • Access to secretsline 49
    [Credential-related source omitted]
  • Network accessline 67
    ### Google [reCAPTCHA v3](https://developers.google.com/recaptcha/docs/v3) (Invisible)
  • Network accessline 72
    <script src="https://www.google.com/recaptcha/api.js?render=YOUR_SITE_KEY"></script>
  • Network accessline 89
    await fetch('/submit', { method: 'POST', body: formData })
  • Network accessline 95
    // Server-side validation const verifyResponse = await fetch(
  • Network accessline 96
    const verifyResponse = await fetch(
  • Network accessline 97
    `https://www.google.com/recaptcha/api/siteverify`,
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 140
    CAPTCHA tokens verified only in the browser (client-side) provide no protection. Bots can bypass client-side checks by directly calling your API, which is why [OWASP's automated threats guidance](https://owasp.org/www-project-automated-thre

skills/form-field-multiple-labels/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/form-field-multiple-labels
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/form-field-multiple-labels ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/form-field-multiple-labels
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/form-field-multiple-labels

skills/form-field-multiple-labels/references/rule.md

  • Network accessline 42
    - [WebAIM: Creating Accessible Forms](https://webaim.org/techniques/forms/)
  • Network accessline 43
    - [Axe-core Rule: form-field-multiple-labels](https://dequeuniversity.com/rules/axe/4.7/form-field-multiple-labels)

skills/form-https/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/form-https
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/form-https ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/form-https
  • Network accessline 19
    - Every `<form action>` URL must use `https://` — never `http://` - Forms without an explicit `action` attribute submit to the current page URL — ensure the page itself is on HTTPS - Check `fetch()` and `XMLHttpRequest` calls in JavaScript 
  • Network accessline 20
    - Forms without an explicit `action` attribute submit to the current page URL — ensure the page itself is on HTTPS - Check `fetch()` and `XMLHttpRequest` calls in JavaScript — data posted to `http://` endpoints is unencrypted - Browsers sho
  • Network accessline 21
    - Check `fetch()` and `XMLHttpRequest` calls in JavaScript — data posted to `http://` endpoints is unencrypted
  • Network accessline 27
    Scan all HTML form elements for action attributes pointing to http:// URLs. Check all JavaScript fetch() and XMLHttpRequest calls for http:// endpoints. Verify the current page URL is HTTPS so forms without an explicit action submit securel
  • Network accessline 31
    Replace all http:// form action URLs with https:// equivalents. Ensure the web server redirects HTTP to HTTPS (301) so that forms on the page also benefit. For JavaScript API calls, update all endpoint URLs to use https://.
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/form-https

skills/form-https/references/rule.md

  • Network accessline 7
    --- Every form that collects user input, whether login, registration, contact, payment, or search, must submit its data over HTTPS. Both [MDN's form submission guidance](https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensi
  • Network accessline 8
    Every form that collects user input, whether login, registration, contact, payment, or search, must submit its data over HTTPS. Both [MDN's form submission guidance](https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/
  • Network accessline 12
    A login form posting to an `http://` endpoint transmits:
  • Network accessline 26
    A login form that posts credentials to an HTTP endpoint sends usernames and passwords as plain text over the network. The [OWASP transport cheat sheet](https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Protection_Cheat_Sheet.ht
  • Network accessline 35
    ❌ Insecure — credentials sent in plain text <form method="POST" action="http://example.com/login">
  • Network accessline 36
    <form method="POST" action="http://example.com/login">
  • Network accessline 42
    ✅ Secure — data encrypted by TLS <form method="POST" action="https://example.com/login">
  • Network accessline 43
    <form method="POST" action="https://example.com/login">
  • Network accessline 58
    ❌ Insecure const response = await fetch('http://api.example.com/login', {
  • Network accessline 59
    const response = await fetch('http://api.example.com/login', {
  • Network accessline 64
    ✅ Secure const response = await fetch('https://api.example.com/login', {
  • Network accessline 65
    const response = await fetch('https://api.example.com/login', {
  • Network accessline 106
    A server that redirects a `POST` from an `http://` login endpoint to the HTTPS version does not protect the credentials. The original HTTP request containing the plaintext password was already made, so forms must submit securely from the st

skills/form-labels/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/form-labels
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/form-labels ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/form-labels
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/form-labels

skills/form-labels/references/rule.md

  • Network accessline 7
    --- Every form control must have a label that is programmatically associated with it to ensure it is accessible to all users. [MDN's `<label>` reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label) and WCAG form guidanc
  • Network accessline 8
    Every form control must have a label that is programmatically associated with it to ensure it is accessible to all users. [MDN's `<label>` reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label) and WCAG form guidance bo

skills/form-validation/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/form-validation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/form-validation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/form-validation
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/html/form-validation

skills/frame-title/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/frame-title
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/frame-title ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/frame-title
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/frame-title

skills/frame-title/references/rule.md

  • Network accessline 7
    --- Iframes and frames must have a `title` attribute that describes their purpose or content so assistive technologies can identify them. This is one of the quickest ways to make embedded content navigable, especially when the frame contain
  • Network accessline 8
    Iframes and frames must have a `title` attribute that describes their purpose or content so assistive technologies can identify them. This is one of the quickest ways to make embedded content navigable, especially when the frame contains a 
  • Network accessline 13
    <iframe title="Map of our office location" src="https://maps.google.com/..."></iframe>
  • Network accessline 15
    <iframe title="Tutorial video: How to use our product" src="https://youtube.com/..."></iframe>
  • Network accessline 20
    <!-- No title provided --> <iframe src="https://example.com/ad"></iframe>
  • Network accessline 21
    <iframe src="https://example.com/ad"></iframe>
  • Network accessline 23
    <!-- Generic or unhelpful title --> <iframe title="frame" src="https://example.com/content"></iframe>
  • Network accessline 24
    <iframe title="frame" src="https://example.com/content"></iframe>

skills/freshness/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/freshness
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/freshness ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/freshness
  • Network accessline 54
    Rule page: https://frontendchecklist.io/rules/seo/freshness

skills/freshness/references/rule.md

  • Network accessline 7
    --- Content freshness is a ranking factor for time-sensitive queries. [Google's ranking systems guide](https://developers.google.com/search/docs/appearance/ranking-systems-guide) and the visible date patterns in [content-date markup](/en/ru
  • Network accessline 8
    Content freshness is a ranking factor for time-sensitive queries. [Google's ranking systems guide](https://developers.google.com/search/docs/appearance/ranking-systems-guide) and the visible date patterns in [content-date markup](/en/rules/
  • Network accessline 31
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 32
    {   "@context": "https://schema.org",   "@type": "Article",
  • Network accessline 33
    "@context": "https://schema.org",

skills/frontend-checklist-global/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/mcp
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/mcp ---
  • Network accessline 10
    url: https://frontendchecklist.io/mcp
  • Network accessline 193
    MCP docs: https://frontendchecklist.io/mcp

skills/frontend-checklist-global/references/categories.md

  • Network accessline 131
    Rules browser: https://frontendchecklist.io/rules
  • Network accessline 132
    Full reference: https://frontendchecklist.io/llms-full.txt

skills/geo-meta/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/geo-meta
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/geo-meta ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/geo-meta
  • Network accessline 54
    Rule page: https://frontendchecklist.io/rules/seo/geo-meta

skills/geo-meta/references/rule.md

  • Network accessline 70
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 71
    {   "@context": "https://schema.org",   "@type": "LocalBusiness",
  • Network accessline 72
    "@context": "https://schema.org",
  • Network accessline 92
    While Google does not officially support geo meta tags, Bing and other search engines may use them for geographic targeting. [Bing Webmaster Tools](https://learn.microsoft.com/bingwebmaster/) make them more relevant there, while Google-focu
  • Network accessline 97
    - Use **hreflang** for language/regional variants - Use **LocalBusiness JSON-LD** for local business signals - Use **Google Search Console's International Targeting** settings for country targeting, alongside the broader [international targ
  • Network accessline 99
    - Use **Google Search Console's International Targeting** settings for country targeting, alongside the broader [international targeting documentation](https://developers.google.com/search/docs/specialty/international/managing-multi-regiona

skills/gtm-present/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/gtm-present
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/gtm-present ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/gtm-present
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/gtm-present

skills/gtm-present/references/rule.md

  • Network accessline 20
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  • Network accessline 21
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-XXXXXX');</script>
  • Network accessline 22
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  • Network accessline 41
    Measure GTM in [PageSpeed Insights](https://pagespeed.web.dev/) or a performance trace after every tagging change, because the real cost comes from the specific tags and triggers you ship rather than the container script by itself.
  • Network accessline 50
    Use [Google Tag Assistant](https://tagassistant.google.com/) alongside your performance trace so you can map each firing tag to the extra requests and long tasks it introduces.
  • Network accessline 63
    - [GTM Debug Mode](https://support.google.com/tagmanager/answer/6107056): See which tags are firing and when.
  • Network accessline 64
    - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/): Check the "Reduce the impact of third-party code" section.
  • Network accessline 65
    - [Tag Inspector](https://taginspector.com/): Scan your site to see all tags being loaded and their performance impact.

skills/h1/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/h1
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/h1 ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/h1
  • Network accessline 52
    Rule page: https://frontendchecklist.io/rules/seo/h1

skills/h1/references/rule.md

  • Network accessline 7
    --- The `<h1>` element is the primary heading of a page. [Google's heading guidance](https://developers.google.com/search/docs/appearance/title-link) and the page's [title strategy](/en/rules/seo/meta-title) should reinforce the same topic,
  • Network accessline 8
    The `<h1>` element is the primary heading of a page. [Google's heading guidance](https://developers.google.com/search/docs/appearance/title-link) and the page's [title strategy](/en/rules/seo/meta-title) should reinforce the same topic, so 
  • Network accessline 69
    - **On-page SEO**: Google uses headings to understand page structure and topical relevance. The H1 is weighted most heavily, and [MDN's heading-element reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) i
  • Network accessline 87
    3. For pages with multiple H1s: choose the most topically specific one, demote the rest, and keep it aligned with the page title strategy. 4. For brand-name-only H1s: incorporate the page topic alongside or replace the brand name. 5. Verify
  • Network accessline 89
    5. Verify the fix by inspecting the rendered DOM (not just source), as JavaScript frameworks may alter heading structure, and compare the final output against [MDN's heading element reference](https://developer.mozilla.org/en-US/docs/Web/HT

skills/has-selector/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/has-selector
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/has-selector ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/has-selector
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/has-selector

skills/has-selector/references/rule.md

  • Network accessline 7
    --- The [`:has()` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:has) selects an element if any selector passed as an argument matches a descendant or related element. The [web.dev guide](https://web.dev/articles/css-has) i
  • Network accessline 8
    The [`:has()` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:has) selects an element if any selector passed as an argument matches a descendant or related element. The [web.dev guide](https://web.dev/articles/css-has) is wh
  • Network accessline 158
    Use [`Can I Use`](https://caniuse.com/css-has) and `@supports selector(:has(*))` to provide a fallback for older environments:
  • Network accessline 177
    Check the result against [`Can I Use`](https://caniuse.com/css-has) and the [MDN `:has()` reference](https://developer.mozilla.org/en-US/docs/Web/CSS/:has) so you confirm both dynamic behavior and fallback coverage.

skills/heading-hierarchy/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/heading-hierarchy
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/heading-hierarchy ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/heading-hierarchy
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/heading-hierarchy

skills/heading-order/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/heading-order
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/heading-order ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/heading-order
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/heading-order

skills/horizontal-scroll/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/horizontal-scroll
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/horizontal-scroll ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/horizontal-scroll
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/horizontal-scroll

skills/hreflang/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/hreflang
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/hreflang ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/i18n/hreflang
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/i18n/hreflang

skills/hreflang/references/rule.md

  • Network accessline 33
    <head>   <!-- Current page is English (US) -->   <link rel="alternate" hreflang="en-US" href="https://example.com/en/about" />
  • Network accessline 34
    <!-- Current page is English (US) -->   <link rel="alternate" hreflang="en-US" href="https://example.com/en/about" />   <link rel="alternate" hreflang="es-ES" href="https://example.com/es/sobre" />
  • Network accessline 35
    <link rel="alternate" hreflang="en-US" href="https://example.com/en/about" />
  • Network accessline 36
    <link rel="alternate" hreflang="es-ES" href="https://example.com/es/sobre" />
  • Network accessline 37
    <link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/a-propos" />
  • Network accessline 38
    <link rel="alternate" hreflang="x-default" href="https://example.com/about" />
  • Network accessline 88
    <!-- On English page (/en/about): --> <link rel="alternate" hreflang="en-US" href="https://example.com/en/about" />
  • Network accessline 89
    <link rel="alternate" hreflang="en-US" href="https://example.com/en/about" />
  • Network accessline 90
    <link rel="alternate" hreflang="es-ES" href="https://example.com/es/sobre" />
  • Network accessline 92
    <!-- On Spanish page (/es/sobre): --> <link rel="alternate" hreflang="en-US" href="https://example.com/en/about" />
  • Network accessline 93
    <link rel="alternate" hreflang="en-US" href="https://example.com/en/about" />
  • Network accessline 94
    <link rel="alternate" hreflang="es-ES" href="https://example.com/es/sobre" />
  • Network accessline 102
    <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  • Network accessline 103
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  • Network accessline 104
    xmlns:xhtml="http://www.w3.org/1999/xhtml">
  • Network accessline 105
    <url>     <loc>https://example.com/en/about</loc>     <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/en/about"/>
  • Network accessline 106
    <loc>https://example.com/en/about</loc>
  • Network accessline 107
    <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/en/about"/>
  • Network accessline 108
    <xhtml:link rel="alternate" hreflang="es-ES" href="https://example.com/es/sobre"/>
  • Network accessline 109
    <xhtml:link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/a-propos"/>
  • Network accessline 110
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/about"/>
  • Network accessline 111
    </url>   <url>     <loc>https://example.com/es/sobre</loc>
  • Network accessline 112
    <url>     <loc>https://example.com/es/sobre</loc>     <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/en/about"/>
  • Network accessline 113
    <loc>https://example.com/es/sobre</loc>
  • Network accessline 114
    <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/en/about"/>
  • Network accessline 115
    <xhtml:link rel="alternate" hreflang="es-ES" href="https://example.com/es/sobre"/>
  • Network accessline 116
    <xhtml:link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/a-propos"/>
  • Network accessline 117
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/about"/>
  • Network accessline 137
    <!-- ❌ Bad: Different domains without proper setup --> <link rel="alternate" hreflang="de" href="https://example.de/about" />
  • Network accessline 138
    <link rel="alternate" hreflang="de" href="https://example.de/about" />

skills/hsts/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/hsts
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/hsts ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/hsts
  • Network accessline 31
    Add a Strict-Transport-Security header with max-age=31536000 and includeSubDomains to all HTTPS responses. Configure your web server or CDN to send this header, and validate it with curl or securityheaders.com.
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/hsts

skills/hsts/references/rule.md

  • Network accessline 7
    --- [HTTP Strict Transport Security](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) (HSTS) instructs browsers to always use HTTPS for your domain, even if the user types an `http://` URL or clicks an un
  • Network accessline 8
    [HTTP Strict Transport Security](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) (HSTS) instructs browsers to always use HTTPS for your domain, even if the user types an `http://` URL or clicks an unencr
  • Network accessline 28
    Without HSTS, the first visit to the HTTP version of your site triggers a redirect to HTTPS. An attacker performing a man-in-the-middle (MITM) attack can intercept that first HTTP request and strip TLS, which is the classic SSL-stripping pr
  • Network accessline 96
    The `preload` directive plus submission to the browser preload list extends the [RFC 6797](https://www.rfc-editor.org/info/rfc6797/) behavior even further by hardcoding your domain into shipping browsers. This means browsers **never** make 

skills/html-resource-hints/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/en/rules/html/html-resource-hints
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/en/rules/html/html-resource-hints ---
  • Network accessline 10
    url: https://frontendchecklist.io/en/rules/html/html-resource-hints
  • Network accessline 45
    Rule page: https://frontendchecklist.io/en/rules/html/html-resource-hints

skills/html-resource-hints/references/rule.md

  • Network accessline 19
    <!-- preconnect: establish connection early (DNS + TCP + TLS) --> <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 20
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 21
    <link rel="preconnect" href="https://api.example.com" crossorigin>
  • Network accessline 23
    <!-- dns-prefetch: DNS lookup only (lighter than preconnect) --> <link rel="dns-prefetch" href="https://www.googletagmanager.com">
  • Network accessline 24
    <link rel="dns-prefetch" href="https://www.googletagmanager.com">
  • Network accessline 25
    <link rel="dns-prefetch" href="https://cdn.example.com">
  • Network accessline 57
    <!-- Critical third-party resources: use preconnect --> <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 58
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 59
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 61
    <!-- Analytics and tag managers: dns-prefetch is enough --> <link rel="dns-prefetch" href="https://www.googletagmanager.com">
  • Network accessline 62
    <link rel="dns-prefetch" href="https://www.googletagmanager.com">
  • Network accessline 63
    <link rel="dns-prefetch" href="https://www.google-analytics.com">

skills/html-size/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/html-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/html-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/html-size
  • Network accessline 29
    1. Measure: `curl -so /dev/null -w '%{size_download}' https://yoursite.com/page | awk '{print $1/1024 " KB"}'`
  • Network accessline 52
    Rule page: https://frontendchecklist.io/rules/seo/html-size

skills/html-size/references/rule.md

  • Network accessline 44
    <!-- 200KB SVG inlined directly in HTML --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 500">
  • Network accessline 45
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 500">
  • Network accessline 79
    # Measure uncompressed HTML size curl -so /dev/null -w '%{size_download}\n' https://yoursite.com/page
  • Network accessline 80
    curl -so /dev/null -w '%{size_download}\n' https://yoursite.com/page
  • Network accessline 82
    # Measure with Accept-Encoding to see what Googlebot receives curl -H 'Accept-Encoding: gzip, br' -so /dev/null -w '%{size_download}\n' https://yoursite.com/page
  • Network accessline 83
    curl -H 'Accept-Encoding: gzip, br' -so /dev/null -w '%{size_download}\n' https://yoursite.com/page

skills/html-xml-lang-mismatch/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/html-xml-lang-mismatch
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/html-xml-lang-mismatch ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/html-xml-lang-mismatch
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/html-xml-lang-mismatch

skills/html-xml-lang-mismatch/references/rule.md

  • Network accessline 7
    --- When using both `lang` and `xml:lang` on the same element, they must have the exact same value. The [HTML Living Standard](https://html.spec.whatwg.org/multipage/dom.html#attr-lang) and [W3C language declaration guidance](https://www.w3
  • Network accessline 8
    When using both `lang` and `xml:lang` on the same element, they must have the exact same value. The [HTML Living Standard](https://html.spec.whatwg.org/multipage/dom.html#attr-lang) and [W3C language declaration guidance](https://www.w3.org
  • Network accessline 32
    - **Screen Readers**: Conflicting attributes can cause the wrong speech synthesis language profile to be selected. - **Translation Tools**: Browser auto-translate features rely on `lang` to detect the source language. - **WCAG Compliance**:
  • Network accessline 34
    - **WCAG Compliance**: [SC 3.1.1 Language of Page](https://www.w3.org/TR/WCAG21/#language-of-page) requires the page language to be programmatically determinable, and [BCP 47](https://www.rfc-editor.org/info/rfc5646/) defines the language t

skills/html5-semantic-elements/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/html5-semantic-elements
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/html5-semantic-elements ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/html5-semantic-elements
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/html5-semantic-elements

skills/html5-semantic-elements/references/rule.md

  • Network accessline 460
    <article itemscope itemtype="http://schema.org/Article">
  • Network accessline 464
    January 15, 2024         </time>         <address itemprop="author" itemscope itemtype="http://schema.org/Person">
  • Network accessline 465
    </time>         <address itemprop="author" itemscope itemtype="http://schema.org/Person">             By <span itemprop="name">Author Name</span>
  • Network accessline 466
    <address itemprop="author" itemscope itemtype="http://schema.org/Person">
  • Network accessline 534
    <!--[if lt IE 9]>   <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
  • Network accessline 535
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>

skills/http-requests/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/http-requests
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/http-requests ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/http-requests
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/http-requests

skills/http-requests/references/rule.md

  • Network accessline 70
    /* Inline small images as data URIs */ .icon-small {   background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 2L2 7l10 5 10-5-10-5z"/%3E%3C/svg%3E');
  • Network accessline 71
    .icon-small {   background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 2L2 7l10 5 10-5-10-5z"/%3E%3C/svg%3E'); }
  • Network accessline 72
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 2L2 7l10 5 10-5-10-5z"/%3E%3C/svg%3E');

skills/http-to-https/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/http-to-https
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/http-to-https ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/http-to-https
  • Network accessline 15
    Without an HTTP-to-HTTPS redirect, users who type the domain without `https://` or follow old links land on the insecure version of the site, exposing session cookies and form data to network attackers.
  • Network accessline 19
    - Redirect `http://example.com` to `https://example.com` with HTTP 301 (permanent redirect) - Preserve the full path and query string in the redirect: `https://$host$request_uri` - Use 301 (not 302) so browsers and search engines cache the 
  • Network accessline 20
    - Preserve the full path and query string in the redirect: `https://$host$request_uri` - Use 301 (not 302) so browsers and search engines cache the redirect and future requests go directly to HTTPS - Configure redirects at the server/CDN le
  • Network accessline 27
    Test whether http://example.com redirects to https://example.com with a 301 status code. Check that the full URL path and query string are preserved in the redirect Location header.
  • Network accessline 31
    Configure the web server to redirect all HTTP requests to HTTPS with a 301 status code, preserving the full request path. Verify the redirect with curl -I http://example.com.
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/http-to-https

skills/http-to-https/references/rule.md

  • Network accessline 7
    --- Redirecting HTTP to HTTPS ensures that any user who arrives at your site over plain HTTP is immediately upgraded to an encrypted connection. [HTTP redirections](https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections) belong at t
  • Network accessline 8
    Redirecting HTTP to HTTPS ensures that any user who arrives at your site over plain HTTP is immediately upgraded to an encrypted connection. [HTTP redirections](https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections) belong at the s
  • Network accessline 21
    # Redirect all HTTP to HTTPS, preserving path and query     return 301 https://$host$request_uri;
  • Network accessline 22
    return 301 https://$host$request_uri;
  • Network accessline 31
    ServerName example.com     RewriteEngine On     RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  • Network accessline 33
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  • Network accessline 37
    ServerName example.com     Redirect permanent / https://example.com/
  • Network accessline 38
    Redirect permanent / https://example.com/
  • Network accessline 47
    http://example.com {
  • Network accessline 48
    redir https://{host}{uri} permanent
  • Network accessline 68
    Without an HTTP-to-HTTPS redirect, users who type the domain without `https://` or follow old links land on the insecure version of the site, exposing session cookies and form data to network attackers.
  • Network accessline 84
    ❌ Bad: http://example.com → http://www.example.com → https://www.example.com
  • Network accessline 85
    ✅ Good: http://example.com → https://example.com
  • Network accessline 90
    Never rely on JavaScript (`window.location.href = 'https://...'`) for security redirects. JavaScript runs after the HTTP response is received — the insecure request has already been made.
  • Network accessline 94
    Once HTTPS and redirects are verified and stable, add the `Strict-Transport-Security` header to eliminate future HTTP requests entirely. The [OWASP transport guidance](https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Protectio

skills/http2/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/http2
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/http2 ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/http2
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/http2

skills/http2/references/rule.md

  • Network accessline 44
    Confirm the protocol in a real browser trace or [PageSpeed Insights](https://pagespeed.web.dev/), because the practical benefit comes from how the live edge actually negotiates the connection, not just from a server config line.
  • Network accessline 56
    - [HTTP/2 Test](https://tools.keycdn.com/http2-test): Online tool to check if your server supports HTTP/2.
  • Network accessline 57
    - [HTTP/3 Check](https://http3check.net/): Verify if your site is ready for the next generation of HTTP.
  • Network accessline 59
    - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/): Checks if the page "Does not use HTTP/2 for all of its resources."

skills/https-downgrade/SKILL.md

  • Network accessline 1
    --- name: https-downgrade description: "Use when auditing a site's internal and external links for protocol consistency, migrating a site from HTTP to HTTPS, or reviewing hardcoded URLs in a codebase that may use `http://` instead of `https
  • Network accessline 2
    name: https-downgrade description: "Use when auditing a site's internal and external links for protocol consistency, migrating a site from HTTP to HTTPS, or reviewing hardcoded URLs in a codebase that may use `http://` instead of `https://`
  • Network accessline 3
    description: "Use when auditing a site's internal and external links for protocol consistency, migrating a site from HTTP to HTTPS, or reviewing hardcoded URLs in a codebase that may use `http://` instead of `https://`."
  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/https-downgrade
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/https-downgrade ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/https-downgrade
  • Network accessline 19
    - All internal links on an HTTPS page must point to HTTPS URLs — HTTP links trigger mixed content warnings - External links to HTTP destinations break the security chain and may be blocked by browsers - Use protocol-relative URLs (`//exampl
  • Network accessline 21
    - Use protocol-relative URLs (`//example.com`) or absolute HTTPS URLs — never hardcode `http://` for internal links
  • Network accessline 25
    On pages served over HTTPS, scan all `<a href>` attributes for URLs starting with `http://` (not `https://`). Flag: (1) Internal links using `http://` that should use `https://` or a relative path. (2) External links to third-party sites st
  • Network accessline 29
    1. Audit all `<a href>` values in templates and content for `http://` links.
  • Network accessline 30
    2. For internal links: change `http://yourdomain.com/path` to `/path` (relative) or `https://yourdomain.com/path`.
  • Network accessline 31
    3. For external links: check if the destination supports HTTPS; update to `https://` if so.
  • Network accessline 32
    4. For resource links (scripts, styles, images): always use `https://` or protocol-relative `//`.
  • Network accessline 44
    Parse all `<a href>`, `<img src>`, `<script src>`, and `<link href>` attributes. Flag any value starting with `http://` (not `https://` or a relative path). In JavaScript frameworks, also check for `http://` in `fetch()`, `axios`, or router
  • Network accessline 51
    Rule page: https://frontendchecklist.io/rules/seo/https-downgrade

skills/https-downgrade/references/rule.md

  • Network accessline 7
    --- When a page is served over HTTPS, every link and resource on that page should also use HTTPS. [Google's HTTPS guidance](https://developers.google.com/search/blog/2014/08/https-as-ranking-signal) and [MDN's mixed-content reference](https
  • Network accessline 8
    When a page is served over HTTPS, every link and resource on that page should also use HTTPS. [Google's HTTPS guidance](https://developers.google.com/search/blog/2014/08/https-as-ranking-signal) and [MDN's mixed-content reference](https://d
  • Network accessline 17
    <!-- Page served at https://yoursite.com -->
  • Network accessline 18
    <a href="http://yoursite.com/about">About Us</a>
  • Network accessline 21
    <a href="http://partner.example.com/offer">View Offer</a>
  • Network accessline 28
    <!-- These will be blocked by modern browsers --> <script src="http://cdn.example.com/analytics.js"></script>
  • Network accessline 29
    <script src="http://cdn.example.com/analytics.js"></script>
  • Network accessline 30
    <img src="http://images.example.com/logo.png" alt="Logo">
  • Network accessline 39
    <!-- Internal links: use absolute HTTPS if needed --> <a href="https://yoursite.com/about">About Us</a>
  • Network accessline 40
    <a href="https://yoursite.com/about">About Us</a>
  • Network accessline 42
    <!-- External links: verify the destination supports HTTPS --> <a href="https://partner.example.com/offer" rel="noopener noreferrer">View Offer</a>
  • Network accessline 43
    <a href="https://partner.example.com/offer" rel="noopener noreferrer">View Offer</a>
  • Network accessline 45
    <!-- Resources: always HTTPS --> <script src="https://cdn.example.com/analytics.js"></script>
  • Network accessline 46
    <script src="https://cdn.example.com/analytics.js"></script>
  • Network accessline 47
    <img src="https://images.example.com/logo.png" alt="Logo">
  • Network accessline 67
    | Resource type | Risk level | Browser behaviour | |---|---|---| | `<script src="http://...">` | Critical | Blocked silently |
  • Network accessline 68
    |---|---|---| | `<script src="http://...">` | Critical | Blocked silently | | `<link href="http://...">` (CSS) | Critical | Blocked silently |
  • Network accessline 69
    | `<script src="http://...">` | Critical | Blocked silently |
  • Network accessline 70
    | `<link href="http://...">` (CSS) | Critical | Blocked silently |
  • Network accessline 71
    | `<img src="http://...">` | Warning | Blocked in strict mode |
  • Network accessline 72
    | `<a href="http://...">` (navigation) | Warning | Redirected (if target has HTTPS) |

skills/https/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/https
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/https ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/https
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/https

skills/https/references/rule.md

  • Network accessline 7
    --- [HTTPS](https://web.dev/articles/why-https-matters) (HTTP over TLS) encrypts all traffic between the browser and your server, providing confidentiality, integrity, and authentication. [MDN's transport security guidance](https://develope
  • Network accessline 8
    [HTTPS](https://web.dev/articles/why-https-matters) (HTTP over TLS) encrypts all traffic between the browser and your server, providing confidentiality, integrity, and authentication. [MDN's transport security guidance](https://developer.mo
  • Dangerous shell operationline 18
    sudo apt install certbot python3-certbot-nginx  # Debian/Ubuntu
  • Dangerous shell operationline 19
    sudo yum install certbot python3-certbot-nginx  # RHEL/CentOS
  • Dangerous shell operationline 22
    sudo certbot --nginx -d example.com -d www.example.com
  • Dangerous shell operationline 26
    sudo certbot renew --dry-run
  • Network accessline 54
    listen 80;     server_name example.com www.example.com;     return 301 https://$host$request_uri;
  • Network accessline 55
    server_name example.com www.example.com;     return 301 https://$host$request_uri; }
  • Network accessline 56
    return 301 https://$host$request_uri;
  • Network accessline 74
    ServerName example.com     Redirect permanent / https://example.com/
  • Network accessline 75
    Redirect permanent / https://example.com/
  • Network accessline 85
    Both [MDN](https://developer.mozilla.org/en-US/docs/Web/Security/Transport_Layer_Security) and [web.dev](https://web.dev/articles/why-https-matters) treat these as secure-context features, so they are a practical way to spot pages that stil

skills/hyphens/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/hyphens
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/hyphens ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/hyphens
  • Network accessline 52
    Rule page: https://frontendchecklist.io/rules/seo/hyphens

skills/identical-links-same-purpose/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/identical-links-same-purpose
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/identical-links-same-purpose ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/identical-links-same-purpose
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/identical-links-same-purpose

skills/identical-links-same-purpose/references/rule.md

  • Network accessline 7
    --- Links that have the same text but different destinations can be confusing for all users, but especially for those using assistive technology. [WCAG's link purpose guidance](https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-in-con
  • Network accessline 8
    Links that have the same text but different destinations can be confusing for all users, but especially for those using assistive technology. [WCAG's link purpose guidance](https://www.w3.org/WAI/WCAG21/Understanding/link-purpose-in-context
  • Network accessline 34
    This is ultimately a [link purpose](https://www.w3.org/TR/WCAG21/#link-purpose-in-context) problem: when the same words point to different places, users cannot predict what each link will do from the text alone.

skills/image-cdn/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-cdn
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-cdn ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/image-cdn
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/image-cdn

skills/image-cdn/references/rule.md

  • Network accessline 13
    <!-- Cloudinary: resize, format, quality --> <img src="https://res.cloudinary.com/demo/image/upload/w_400,h_300,c_fill,f_auto,q_auto/sample.jpg">
  • Network accessline 14
    <img src="https://res.cloudinary.com/demo/image/upload/w_400,h_300,c_fill,f_auto,q_auto/sample.jpg">
  • Network accessline 16
    <!-- Imgix: responsive with fit and format --> <img src="https://example.imgix.net/image.jpg?w=400&h=300&fit=crop&auto=format,compress">
  • Network accessline 17
    <img src="https://example.imgix.net/image.jpg?w=400&h=300&fit=crop&auto=format,compress">
  • Network accessline 19
    <!-- Cloudflare Images: variants --> <img src="https://imagedelivery.net/account/image-id/public">
  • Network accessline 20
    <img src="https://imagedelivery.net/account/image-id/public">
  • Network accessline 75
    function getCloudinaryUrl(publicId: string, options: TransformOptions) {   const { width, height, format = 'auto', quality = 'auto' } = options   return `https://res.cloudinary.com/${CLOUD_NAME}/image/upload/w_${width},h_${height},c_fill,f_
  • Network accessline 76
    const { width, height, format = 'auto', quality = 'auto' } = options   return `https://res.cloudinary.com/${CLOUD_NAME}/image/upload/w_${width},h_${height},c_fill,f_${format},q_${quality}/${publicId}` }
  • Network accessline 77
    return `https://res.cloudinary.com/${CLOUD_NAME}/image/upload/w_${width},h_${height},c_fill,f_${format},q_${quality}/${publicId}`
  • Network accessline 102
    function getCdnUrl(src: string, options: { width: number }) {   // Cloudinary example   return `https://res.cloudinary.com/demo/image/upload/w_${options.width},f_auto,q_auto/${src}`
  • Network accessline 103
    // Cloudinary example   return `https://res.cloudinary.com/demo/image/upload/w_${options.width},f_auto,q_auto/${src}` }
  • Network accessline 104
    return `https://res.cloudinary.com/demo/image/upload/w_${options.width},f_auto,q_auto/${src}`

skills/image-compression/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-compression
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-compression ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/image-compression
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/image-compression

skills/image-file-size/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-file-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-file-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/image-file-size
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/image-file-size

skills/image-file-size/references/rule.md

  • Network accessline 47
    According to [web.dev](https://web.dev/articles/serve-images-webp):

skills/image-optimization/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-optimization
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/image-optimization ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/image-optimization
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/image-optimization

skills/image-optimization/references/rule.md

  • Network accessline 7
    --- Image optimization is crucial for web performance. Properly optimized images can reduce page weight by 50-80% without visible quality loss, directly improving [Largest Contentful Paint (LCP)](https://web.dev/lcp/) and user experience.
  • Network accessline 8
    Image optimization is crucial for web performance. Properly optimized images can reduce page weight by 50-80% without visible quality loss, directly improving [Largest Contentful Paint (LCP)](https://web.dev/lcp/) and user experience.

skills/image-redundant-alt/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/image-redundant-alt
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/image-redundant-alt ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/image-redundant-alt
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/image-redundant-alt

skills/image-redundant-alt/references/rule.md

  • Network accessline 7
    --- Alt text should be concise and descriptive. The [WAI images tutorial](https://www.w3.org/WAI/tutorials/images/decision-tree/) and the [`<img>` element reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img) 
  • Network accessline 8
    Alt text should be concise and descriptive. The [WAI images tutorial](https://www.w3.org/WAI/tutorials/images/decision-tree/) and the [`<img>` element reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img) both

skills/immutable-patterns/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/immutable-patterns
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/immutable-patterns ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/immutable-patterns
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/immutable-patterns

skills/immutable-patterns/references/rule.md

  • Network accessline 79
    // ✅ Freeze configuration objects to prevent accidental mutation const CONFIG = Object.freeze({   apiUrl: 'https://api.example.com',
  • Network accessline 80
    const CONFIG = Object.freeze({   apiUrl: 'https://api.example.com',   maxRetries: 3,
  • Network accessline 81
    apiUrl: 'https://api.example.com',
  • Network accessline 86
    CONFIG.apiUrl = 'https://evil.com' // TypeError in strict mode, silent in sloppy

skills/import-on-interaction/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/import-on-interaction
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/import-on-interaction ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/import-on-interaction
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/import-on-interaction

skills/import-on-interaction/references/rule.md

  • Network accessline 94
    Use [Chrome DevTools Coverage](https://developer.chrome.com/docs/devtools/coverage/) or a waterfall trace to confirm the deferred module is actually absent from the initial path, not just moved to a different eager bundle.

skills/import-on-visibility/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/import-on-visibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/import-on-visibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/import-on-visibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/import-on-visibility

skills/import-on-visibility/references/rule.md

  • Network accessline 7
    --- Import-on-visibility starts loading code when an offscreen section is close enough to matter. [Patterns.dev's import-on-visibility pattern](https://www.patterns.dev/vanilla/import-on-visibility/) and [Intersection Observer](https://deve
  • Network accessline 8
    Import-on-visibility starts loading code when an offscreen section is close enough to matter. [Patterns.dev's import-on-visibility pattern](https://www.patterns.dev/vanilla/import-on-visibility/) and [Intersection Observer](https://develope
  • Network accessline 72
    - Start with a `rootMargin` between `300px` and `1000px` for heavier modules, then tune it based on asset weight and scroll speed. - Disconnect the observer after loading so the import runs once. - Keep accessibility intact: headings, landm
  • Network accessline 74
    - Keep accessibility intact: headings, landmarks, and focus order should still make sense before the module hydrates, and [PageSpeed Insights](https://pagespeed.web.dev/) is a good way to verify the route-level impact afterward.
  • Network accessline 78
    Use the [Chrome DevTools Performance panel](https://developer.chrome.com/docs/devtools/performance/) or a throttled waterfall trace to confirm the deferred code leaves the initial path and then arrives early enough during scroll.

skills/improve-rule/SKILL.md

  • Network accessline 5
    category: meta   source: frontendchecklist.io   url: https://frontendchecklist.io
  • Network accessline 6
    source: frontendchecklist.io   url: https://frontendchecklist.io ---
  • Network accessline 7
    url: https://frontendchecklist.io
  • Network accessline 118
    See `references/scoring-rubric.md` for the full scoring specification. Rule page: https://frontendchecklist.io
  • Network accessline 119
    Rule page: https://frontendchecklist.io

skills/inclusive-language/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/inclusive-language
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/inclusive-language ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/inclusive-language
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/inclusive-language

skills/indexability-conflicts/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/indexability-conflicts
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/indexability-conflicts ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/indexability-conflicts
  • Network accessline 53
    Rule page: https://frontendchecklist.io/rules/seo/indexability-conflicts

skills/indexability-conflicts/references/rule.md

  • Network accessline 7
    --- Indexability signals such as robots.txt, meta robots, `X-Robots-Tag` headers, and canonicals each control a different part of crawling and indexing. [Google's robots-meta documentation](https://developers.google.com/search/docs/crawling
  • Network accessline 8
    Indexability signals such as robots.txt, meta robots, `X-Robots-Tag` headers, and canonicals each control a different part of crawling and indexing. [Google's robots-meta documentation](https://developers.google.com/search/docs/crawling-ind
  • Network accessline 73
    - **Blocked + noindex = unresolvable**: If robots.txt blocks a URL, the `noindex` tag on that page is never read. Google knows the URL but can neither confirm nor deny it should be excluded. - **Canonical to noindex**: Canonicalising to a `
  • Network accessline 75
    - **Crawl budget waste**: Conflicting signals cause Google to repeatedly attempt to resolve the conflict by re-crawling the page, which is why the [robots.txt specification](https://developers.google.com/search/docs/crawling-indexing/robots

skills/indexability/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/indexability
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/indexability ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/indexability
  • Network accessline 55
    Rule page: https://frontendchecklist.io/rules/seo/indexability

skills/indexability/references/rule.md

  • Network accessline 7
    --- For a page to appear in Google Search, it must be crawlable and indexable. [Google's indexing controls guide](https://developers.google.com/search/docs/crawling-indexing/block-indexing) and your broader [robots meta strategy](/en/rules/
  • Network accessline 8
    For a page to appear in Google Search, it must be crawlable and indexable. [Google's indexing controls guide](https://developers.google.com/search/docs/crawling-indexing/block-indexing) and your broader [robots meta strategy](/en/rules/seo/
  • Network accessline 72
    # Check X-Robots-Tag header curl -I https://yoursite.com/important-page | grep -i 'x-robots'
  • Network accessline 73
    curl -I https://yoursite.com/important-page | grep -i 'x-robots'
  • Network accessline 75
    # Check meta robots in HTML curl -s https://yoursite.com/important-page | grep -i 'robots'
  • Network accessline 76
    curl -s https://yoursite.com/important-page | grep -i 'robots'
  • Network accessline 81
    - **No index = no ranking**: A page with `noindex` cannot appear in search results under any circumstances. - **Common accidents**: CMS platforms often default new pages to `noindex` (e.g., draft mode, staging environments accidentally prom
  • Network accessline 83
    - **Silent failure**: Indexing blocks cause no visible errors on the frontend. Only [Google Search Console](https://search.google.com/search-console/about) or log analysis reliably surfaces the problem, and those same checks help uncover [i

skills/input-image-alt/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/input-image-alt
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/input-image-alt ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/input-image-alt
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/input-image-alt

skills/input-image-alt/references/rule.md

  • Network accessline 7
    --- When an image is used as a form button, it must have alternative text that describes the action the button performs. Both [WCAG 1.1.1](https://www.w3.org/TR/WCAG21/#non-text-content) and the [`<input type="image">` reference](https://de
  • Network accessline 8
    When an image is used as a form button, it must have alternative text that describes the action the button performs. Both [WCAG 1.1.1](https://www.w3.org/TR/WCAG21/#non-text-content) and the [`<input type="image">` reference](https://develo

skills/input-types/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/input-types
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/input-types ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/input-types
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/input-types

skills/integration-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/integration-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/integration-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/integration-testing
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/integration-testing

skills/interaction-to-next-paint/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/interaction-to-next-paint
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/interaction-to-next-paint ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/interaction-to-next-paint
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/interaction-to-next-paint

skills/internal-links/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/internal-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/internal-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/internal-links
  • Network accessline 51
    Rule page: https://frontendchecklist.io/rules/seo/internal-links

skills/internal-links/references/rule.md

  • Network accessline 7
    --- Internal links do two things: they help Googlebot discover and navigate your site, and they pass PageRank from one page to another. [Google's crawlable-link guidance](https://developers.google.com/search/docs/crawling-indexing/links-cra
  • Network accessline 8
    Internal links do two things: they help Googlebot discover and navigate your site, and they pass PageRank from one page to another. [Google's crawlable-link guidance](https://developers.google.com/search/docs/crawling-indexing/links-crawlab
  • Network accessline 67
    - **PageRank distribution**: Every internal link passes a portion of the source page's authority to the target. Pages with more links from high-authority pages rank better, which is why [Google's explanation of crawling and ranking](https:/

skills/interstitials/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/interstitials
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/interstitials ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/interstitials
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/css/interstitials

skills/invalid-links/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/invalid-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/invalid-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/invalid-links
  • Network accessline 54
    Rule page: https://frontendchecklist.io/rules/seo/invalid-links

skills/invalid-links/references/rule.md

  • Network accessline 7
    --- Not all `<a>` elements are crawlable by Googlebot. [Google's crawlable-link documentation](https://developers.google.com/search/docs/crawling-indexing/links-crawlable) requires a valid `href`, so malformed anchors break discovery in the
  • Network accessline 8
    Not all `<a>` elements are crawlable by Googlebot. [Google's crawlable-link documentation](https://developers.google.com/search/docs/crawling-indexing/links-crawlable) requires a valid `href`, so malformed anchors break discovery in the sam
  • Network accessline 45
    <a href="/products">Products</a> <a href="https://example.com/about">About Us</a>
  • Network accessline 46
    <a href="https://example.com/about">About Us</a>
  • Network accessline 89
    // This is not crawlable; use ` elements may never be discovered by Googlebot, even if the route exists in your frontend router. - **PageRank blocking**: Invalid links cannot pass PageRank to destination pages. - **Accessibility**: Invalid 
  • Network accessline 91
    - **Accessibility**: Invalid links also fail accessibility checks — screen readers and keyboard users cannot navigate them, and the underlying HTML behavior is covered in [MDN's anchor element reference](https://developer.mozilla.org/en-US/

skills/javascript-inline/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/javascript-inline
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/javascript-inline ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/javascript-inline
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/javascript-inline

skills/javascript-inline/references/rule.md

  • Network accessline 7
    --- Avoid mixing JavaScript code with HTML markup by using external [`<script>` files](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script), [`addEventListener()`](https://developer.mozilla.org/en-US/docs/Web/API/Eve
  • Network accessline 8
    Avoid mixing JavaScript code with HTML markup by using external [`<script>` files](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script), [`addEventListener()`](https://developer.mozilla.org/en-US/docs/Web/API/EventTa
  • Dangerous shell operationline 817
    // No eval(), no Function(), no inline event handlers
  • Dangerous shell operationline 843
    // Define actions as methods instead of eval() or Function()
  • Network accessline 882
    // Load configuration from external source instead of inline     try {       const response = await fetch('/api/config')
  • Network accessline 883
    try {       const response = await fetch('/api/config')       const config = await response.json()
  • Network accessline 884
    const response = await fetch('/api/config')
  • Dangerous shell operationline 894
    // Apply configuration without using eval()
  • Network accessline 1019
    Build around external scripts, [`data-*` attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-%2A), and event listeners so the HTML stays semantic even when the JavaScript needs to evolve independently.

skills/javascript-linter/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/javascript-linter
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/javascript-linter ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/javascript-linter
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/javascript-linter

skills/javascript-linter/references/rule.md

  • Network accessline 7
    --- JavaScript linting tools such as [ESLint](https://eslint.org/docs/latest/use/getting-started), [Biome](https://biomejs.dev/linter/), and [typescript-eslint](https://typescript-eslint.io/getting-started/) catch syntax errors, enforce cod
  • Network accessline 8
    JavaScript linting tools such as [ESLint](https://eslint.org/docs/latest/use/getting-started), [Biome](https://biomejs.dev/linter/), and [typescript-eslint](https://typescript-eslint.io/getting-started/) catch syntax errors, enforce coding 
  • Network accessline 1116
    Start from the official [ESLint getting started guide](https://eslint.org/docs/latest/use/getting-started) or the [typescript-eslint starter setup](https://typescript-eslint.io/getting-started/) instead of inventing a rule stack from scratc

skills/javascript-minification/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/javascript-minification
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/javascript-minification ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/javascript-minification
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/javascript-minification

skills/javascript-minification/references/rule.md

  • Network accessline 38
    async login(email, password) {     try {       const response = await fetch(`${this.apiBaseUrl}/auth/login`, {
  • Network accessline 39
    try {       const response = await fetch(`${this.apiBaseUrl}/auth/login`, {         method: 'POST',
  • Network accessline 40
    const response = await fetch(`${this.apiBaseUrl}/auth/login`, {
  • Network accessline 89
    // Initialize authenticator const auth = new UserAuthenticator('https://api.example.com', {
  • Network accessline 90
    const auth = new UserAuthenticator('https://api.example.com', {
  • Network accessline 99
    [Credential-related source omitted]
  • Access to secretsline 671
    [Credential-related source omitted]
  • Access to secretsline 720
    [Credential-related source omitted]

skills/js-file-size/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/js-file-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/js-file-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/js-file-size
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/js-file-size

skills/js-file-size/references/rule.md

  • Network accessline 54
    - [BundleAnalyzer](https://www.npmjs.com/package/webpack-bundle-analyzer)
  • Network accessline 55
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse)
  • Network accessline 56
    - [BundlePhobia](https://bundlephobia.com/)

skills/js-libraries/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/js-libraries
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/js-libraries ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/js-libraries
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/js-libraries

skills/js-libraries/references/rule.md

  • Network accessline 46
    Run [npm audit](https://docs.npmjs.com/cli/v10/commands/npm-audit) or an equivalent scan before replacing libraries, because the biggest wins usually come from removing one outdated or oversized dependency rather than blindly rotating packa
  • Network accessline 55
    - [npm-audit](https://docs.npmjs.com/cli/v7/commands/npm-audit)
  • Network accessline 56
    - [Snyk](https://snyk.io/)
  • Network accessline 57
    - [BundlePhobia](https://bundlephobia.com/)
  • Network accessline 58
    - [Dependabot](https://github.com/dependabot)

skills/js-redirects/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/js-redirects
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/js-redirects ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/js-redirects
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/js-redirects

skills/js-redirects/references/rule.md

  • Network accessline 39
    <!-- ⚠<U+FE0F> Avoid if possible, but better than JS --> <meta http-equiv="refresh" content="0; url=https://example.com/">
  • Network accessline 40
    <meta http-equiv="refresh" content="0; url=https://example.com/">
  • Network accessline 45
    Server-side redirects are the baseline because [web.dev's performance guidance](https://web.dev/learn/performance) and crawler behavior both reward fewer client-side hops before the final content is visible.
  • Network accessline 60
    - Browser DevTools Network tab to check for 3xx responses. - Use `curl -I "$ORIGIN"` or the live target URL to see the redirect headers.
  • Network accessline 61
    - Use `curl -I "$ORIGIN"` or the live target URL to see the redirect headers.
  • Network accessline 62
    - [Ahrefs Redirect Checker](https://ahrefs.com/redirect-checker)
  • Network accessline 63
    - [HTTP Status Code Checker](https://httpstatus.io/)

skills/json-ld-valid/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/json-ld-valid
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/json-ld-valid ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/json-ld-valid
  • Network accessline 19
    - JSON-LD must be valid JSON, reference `@context: 'https://schema.org'`, and include all required properties for the chosen `@type`
  • Network accessline 25
    Find all `<script type='application/ld+json'>` elements on the page. For each: (1) Attempt to parse the content as JSON — flag syntax errors. (2) Verify `@context` is set to `'https://schema.org'`. (3) Verify `@type` is a valid schema.org t
  • Network accessline 29
    1. Parse the JSON-LD with `JSON.parse()` — fix any syntax errors (trailing commas, single quotes, missing brackets). 2. Ensure `@context` is exactly `"https://schema.org"` (not `"http://schema.org"` or omitted).
  • Network accessline 30
    2. Ensure `@context` is exactly `"https://schema.org"` (not `"http://schema.org"` or omitted).
  • Network accessline 35
    - FAQPage: mainEntity array with Question and acceptedAnswer    - BreadcrumbList: itemListElement array with ListItem, position, name, item 5. Validate at https://search.google.com/test/rich-results
  • Network accessline 36
    - BreadcrumbList: itemListElement array with ListItem, position, name, item 5. Validate at https://search.google.com/test/rich-results 6. Validate JSON syntax at https://jsonlint.com
  • Network accessline 37
    5. Validate at https://search.google.com/test/rich-results
  • Network accessline 38
    6. Validate JSON syntax at https://jsonlint.com
  • Network accessline 47
    Extract all `<script type='application/ld+json'>` element contents. Run `JSON.parse()` on each — catch and report parse errors. Validate that `@context` equals `'https://schema.org'`. Check `@type` against a whitelist of common valid types.
  • Network accessline 54
    Rule page: https://frontendchecklist.io/rules/seo/json-ld-valid

skills/json-ld-valid/references/rule.md

  • Network accessline 17
    {   "@context": "https://schema.org",
  • Network accessline 18
    "@context": "https://schema.org",
  • Network accessline 31
    {   "@context": "https://schema.org",
  • Network accessline 32
    "@context": "https://schema.org",
  • Network accessline 41
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 42
    {   "@context": "https://schema.org",   "@type": "Article",
  • Network accessline 43
    "@context": "https://schema.org",
  • Network accessline 47
    "@type": "Person",     "name": "Jane Smith",     "url": "https://example.com/authors/jane-smith"
  • Network accessline 48
    "name": "Jane Smith",     "url": "https://example.com/authors/jane-smith"   },
  • Network accessline 49
    "url": "https://example.com/authors/jane-smith"
  • Network accessline 56
    "logo": {       "@type": "ImageObject",       "url": "https://example.com/logo.png"
  • Network accessline 57
    "@type": "ImageObject",       "url": "https://example.com/logo.png"     }
  • Network accessline 58
    "url": "https://example.com/logo.png"
  • Network accessline 68
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 69
    {   "@context": "https://schema.org",   "@type": "BreadcrumbList",
  • Network accessline 70
    "@context": "https://schema.org",
  • Network accessline 75
    "position": 1,       "name": "Home",       "item": "https://example.com/"
  • Network accessline 76
    "name": "Home",       "item": "https://example.com/"     },
  • Network accessline 77
    "item": "https://example.com/"
  • Network accessline 81
    "position": 2,       "name": "Blog",       "item": "https://example.com/blog/"
  • Network accessline 82
    "name": "Blog",       "item": "https://example.com/blog/"     },
  • Network accessline 83
    "item": "https://example.com/blog/"
  • Network accessline 98
    // Always use JSON.stringify — never manually write JSON-LD strings const schema = {   '@context': 'https://schema.org',
  • Network accessline 99
    const schema = {   '@context': 'https://schema.org',   '@type': 'Article',
  • Network accessline 100
    '@context': 'https://schema.org',
  • Network accessline 117
    - **Rich results eligibility**: Valid structured data is required to appear as rich results (star ratings, FAQs, recipes, etc.) in Google Search, and [Google's structured data introduction](https://developers.google.com/search/docs/appearan
  • Network accessline 133
    - [Google Rich Results Test](https://search.google.com/test/rich-results) — validates against Google's requirements
  • Network accessline 134
    - [Schema Markup Validator](https://validator.schema.org/) — validates against schema.org specification
  • Network accessline 135
    - [JSONLint](https://jsonlint.com) — validates JSON syntax only

skills/json-safety/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/json-safety
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/json-safety ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/json-safety
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/json-safety

skills/json-safety/references/rule.md

  • Network accessline 106
    async function fetchData(url) {   const response = await fetch(url)
  • Network accessline 107
    const response = await fetch(url)

skills/keyboard-navigation/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/keyboard-navigation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/keyboard-navigation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/keyboard-navigation
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/keyboard-navigation

skills/keyword-stuffing/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/keyword-stuffing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/keyword-stuffing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/keyword-stuffing
  • Network accessline 51
    Rule page: https://frontendchecklist.io/rules/seo/keyword-stuffing

skills/keyword-stuffing/references/rule.md

  • Network accessline 7
    --- Keyword stuffing is the practice of overloading page content with target keywords to manipulate search rankings. [Google's keyword-stuffing spam policy](https://developers.google.com/search/policies/quality-guidelines/spam-policies#keyw
  • Network accessline 8
    Keyword stuffing is the practice of overloading page content with target keywords to manipulate search rankings. [Google's keyword-stuffing spam policy](https://developers.google.com/search/policies/quality-guidelines/spam-policies#keyword-

skills/label-content-name-mismatch/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/label-content-name-mismatch
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/label-content-name-mismatch ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/label-content-name-mismatch
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/label-content-name-mismatch

skills/label-content-name-mismatch/references/rule.md

  • Network accessline 7
    --- For users of speech recognition software, the accessible name of a control must contain the text that is visible on the screen. [WCAG 2.5.3 Label in Name](https://www.w3.org/TR/WCAG21/#label-in-name) exists specifically so voice users c
  • Network accessline 8
    For users of speech recognition software, the accessible name of a control must contain the text that is visible on the screen. [WCAG 2.5.3 Label in Name](https://www.w3.org/TR/WCAG21/#label-in-name) exists specifically so voice users can s

skills/landmark-one-main/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/landmark-one-main
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/landmark-one-main ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/landmark-one-main
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/landmark-one-main

skills/landmark-one-main/references/rule.md

  • Network accessline 7
    --- The [`<main>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/main) or [`role="main"`](https://www.w3.org/TR/wai-aria-1.2/#main) designates the primary content of the document. Having more than one can conf
  • Network accessline 8
    The [`<main>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/main) or [`role="main"`](https://www.w3.org/TR/wai-aria-1.2/#main) designates the primary content of the document. Having more than one can confuse 

skills/landmark-regions/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/landmark-regions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/landmark-regions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/landmark-regions
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/landmark-regions

skills/lang-attribute/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/lang-attribute
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/lang-attribute ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/lang-attribute
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/html/lang-attribute

skills/largest-contentful-paint/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/largest-contentful-paint
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/largest-contentful-paint ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/largest-contentful-paint
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/largest-contentful-paint

skills/largest-contentful-paint/references/rule.md

  • Network accessline 43
    useEffect(() => {     fetch('/api/hero').then((response) => response.json()).then(setData)
  • Network accessline 44
    fetch('/api/hero').then((response) => response.json()).then(setData)
  • Network accessline 122
    Start with [PageSpeed Insights](https://pagespeed.web.dev/) or a field trace to identify the real LCP candidate, because the wrong fix is easy to apply when the largest element is not the one you expected.

skills/lazy-above-fold/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/lazy-above-fold
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/lazy-above-fold ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/lazy-above-fold
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/lazy-above-fold

skills/lazy-above-fold/references/rule.md

  • Network accessline 33
    Use [PageSpeed Insights](https://pagespeed.web.dev/) or Lighthouse to confirm which image is actually the LCP element before removing lazy loading, because the first visible asset is not always the real bottleneck.
  • Network accessline 49
    - [Web Vitals Chrome Extension](https://chrome.google.com/webstore/detail/web-vitals/ahmapmhookcmichpkccnnbabaccndpjg)
  • Network accessline 50
    - [PageSpeed Insights](https://pagespeed.web.dev/)
  • Network accessline 51
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse)
  • Network accessline 52
    - [WebPageTest](https://www.webpagetest.org/)

skills/lazy-loading/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/lazy-loading
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/lazy-loading ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/lazy-loading
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/performance/lazy-loading

skills/lazy-loading/references/rule.md

  • Network accessline 7
    --- Lazy loading is a prioritization tool, not a blanket rule. [web.dev's performance guidance](https://web.dev/learn/performance) treats it as a way to defer genuinely offscreen work, and it pairs naturally with [import-on-visibility](/en/
  • Network accessline 8
    Lazy loading is a prioritization tool, not a blanket rule. [web.dev's performance guidance](https://web.dev/learn/performance) treats it as a way to defer genuinely offscreen work, and it pairs naturally with [import-on-visibility](/en/rule
  • Network accessline 26
    <!-- Good: heavy embed kept off the critical path --> <iframe   src="https://www.youtube.com/embed/..."
  • Network accessline 27
    <iframe   src="https://www.youtube.com/embed/..."   loading="lazy"
  • Network accessline 28
    src="https://www.youtube.com/embed/..."
  • Network accessline 63
    - **Better resource ordering**: the browser can spend its early bandwidth on current-route content instead of speculative content lower on the page. - **Less wasted work**: many users never scroll to the bottom of the route. - **Easy to mis
  • Network accessline 65
    - **Easy to misuse**: lazy-loading the wrong asset can make LCP worse instead of better, which is why [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) and field measurements should confirm the change.
  • Network accessline 98
    Validate the final scroll behavior in [PageSpeed Insights](https://pagespeed.web.dev/) or a throttled waterfall trace, because the goal is not just fewer initial requests but offscreen media that still appears ready when users reach it.

skills/leaked-secrets/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/leaked-secrets
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/leaked-secrets ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/leaked-secrets
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/leaked-secrets

skills/leaked-secrets/references/rule.md

  • Network accessline 7
    --- Any secret placed in client-side JavaScript, HTML, or any file served to browsers is effectively public. Attackers routinely scan public sites and repositories for leaked credentials, and platforms like [GitHub secret scanning](https://
  • Network accessline 8
    Any secret placed in client-side JavaScript, HTML, or any file served to browsers is effectively public. Attackers routinely scan public sites and repositories for leaked credentials, and platforms like [GitHub secret scanning](https://docs
  • Network accessline 25
    In Next.js, `NEXT_PUBLIC_` variables are inlined into the JavaScript bundle. Only publishable/public keys belong there, which is the same separation described in the [OWASP Secrets Management Cheat Sheet](https://cheatsheetseries.owasp.org/
  • Network accessline 30
    [Credential-related source omitted]
  • Network accessline 31
    [Credential-related source omitted]
  • Network accessline 32
    fetch(`https://api.stripe.com/v1/charges`, {
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Network accessline 130
    1. **Rotate immediately** — assume it is compromised the moment it was committed or deployed, because [cryptographic failures](https://owasp.org/Top10/A02_2021-Cryptographic_Failures/) often start with exposed material that teams leave acti

skills/legacy-js/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/legacy-js
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/legacy-js ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/legacy-js
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/legacy-js

skills/legacy-js/references/rule.md

  • Network accessline 55
    Use [PageSpeed Insights](https://pagespeed.web.dev/) or your bundle report before changing build targets, because the practical win usually comes from verifying which legacy polyfills or transpiled chunks modern browsers are still downloadi
  • Network accessline 57
    - Browserslist can help verify the actual modern-browser target. - Polyfill.io should be used cautiously when you still need selective legacy support. - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) can highlight `leg
  • Network accessline 58
    - Polyfill.io should be used cautiously when you still need selective legacy support. - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) can highlight `legacy-javascript` on the route. - Bundle analyzers are useful when 
  • Network accessline 59
    - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) can highlight `legacy-javascript` on the route.

skills/length/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/length
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/length ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/length
  • Network accessline 53
    Rule page: https://frontendchecklist.io/rules/seo/length

skills/length/references/rule.md

  • Network accessline 7
    --- URL length and structure affect readability, shareability, and how easily crawlers navigate your site. [Google's URL structure guidance](https://developers.google.com/search/docs/crawling-indexing/url-structure) favors short, descriptiv
  • Network accessline 8
    URL length and structure affect readability, shareability, and how easily crawlers navigate your site. [Google's URL structure guidance](https://developers.google.com/search/docs/crawling-indexing/url-structure) favors short, descriptive pa

skills/link-checker/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/link-checker
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/link-checker ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/link-checker
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/link-checker

skills/link-checker/references/rule.md

  • Network accessline 17
    <nav>   <a href="/about">About Us</a> <!-- Internal link -->   <a href="https://example.com">External Site</a> <!-- External link -->
  • Network accessline 18
    <a href="/about">About Us</a> <!-- Internal link -->   <a href="https://example.com">External Site</a> <!-- External link -->   <a href="mailto:contact@example.com">Contact</a> <!-- Email link -->
  • Network accessline 19
    <a href="https://example.com">External Site</a> <!-- External link -->
  • Network accessline 26
    <!-- Common problematic patterns --> <a href="http://old-domain.com">Might redirect</a>
  • Network accessline 27
    <a href="http://old-domain.com">Might redirect</a>
  • Network accessline 29
    <a href="https://external-site.com/old-path">External might change</a>
  • Network accessline 45
    # Check single page linkchecker https://example.com
  • Network accessline 46
    linkchecker https://example.com
  • Network accessline 48
    # Check entire site linkchecker --recursive https://example.com
  • Network accessline 49
    linkchecker --recursive https://example.com
  • Network accessline 51
    # Check with output file linkchecker --output=csv --file-output=csv/results.csv https://example.com
  • Network accessline 52
    linkchecker --output=csv --file-output=csv/results.csv https://example.com
  • Network accessline 54
    # Check specific file patterns linkchecker --ignore-url=".*\.(jpg|jpeg|png|gif)$" https://example.com
  • Network accessline 55
    linkchecker --ignore-url=".*\.(jpg|jpeg|png|gif)$" https://example.com
  • Network accessline 58
    linkchecker    --recursive    --threads=10    --timeout=30    --user-agent="LinkChecker Bot"    --output=html    --file-output=html/report.html    https://example.com
  • Network accessline 63
    --output=html \   --file-output=html/report.html \   https://example.com
  • Network accessline 65
    https://example.com
  • Network accessline 76
    # Check website lychee https://example.com
  • Network accessline 77
    lychee https://example.com
  • Network accessline 79
    # Check with configuration lychee --config lychee.toml https://example.com
  • Network accessline 80
    lychee --config lychee.toml https://example.com
  • Network accessline 100
    # Exclude patterns exclude = [     "https://linkedin.com/.*",
  • Network accessline 101
    exclude = [     "https://linkedin.com/.*",     "https://twitter.com/.*",
  • Network accessline 102
    "https://linkedin.com/.*",
  • Network accessline 103
    "https://twitter.com/.*",
  • Network accessline 130
    # Check single page blc https://example.com
  • Network accessline 131
    blc https://example.com
  • Network accessline 133
    # Check entire site recursively blc https://example.com --recursive --ordered
  • Network accessline 134
    blc https://example.com --recursive --ordered
  • Network accessline 136
    # With detailed output blc https://example.com --recursive --verbose
  • Network accessline 137
    blc https://example.com --recursive --verbose
  • Network accessline 139
    # Filter by status codes blc https://example.com --filter-level=3 --recursive
  • Network accessline 140
    blc https://example.com --filter-level=3 --recursive
  • Network accessline 338
    // Run checker if (require.main === module) {   const siteUrl = process.argv[2] || 'https://example.com'
  • Network accessline 339
    if (require.main === module) {   const siteUrl = process.argv[2] || 'https://example.com'   checkSite(siteUrl).catch(console.error)
  • Network accessline 340
    const siteUrl = process.argv[2] || 'https://example.com'
  • Network accessline 574
    uses: ruzickap/action-my-broken-link-checker@v2       with:         url: https://your-site.com
  • Network accessline 575
    with:         url: https://your-site.com         pages_path: ./dist
  • Network accessline 576
    url: https://your-site.com
  • Network accessline 631
    script:     - echo "Checking internal links..."     - blc http://localhost:8000 --recursive --ordered || echo "Some internal links broken"
  • Network accessline 632
    - echo "Checking internal links..."     - blc http://localhost:8000 --recursive --ordered || echo "Some internal links broken"     - echo "Checking external links..."
  • Network accessline 633
    - blc http://localhost:8000 --recursive --ordered || echo "Some internal links broken"
  • Network accessline 716
    setLoading(true)     try {       const response = await fetch('/api/check-links', {
  • Network accessline 717
    try {       const response = await fetch('/api/check-links', {         method: 'POST',
  • Network accessline 718
    const response = await fetch('/api/check-links', {
  • Network accessline 927
    {       name: 'Production Site',       url: 'https://example.com',
  • Network accessline 928
    name: 'Production Site',       url: 'https://example.com',       alerts: 'admin@example.com'
  • Network accessline 929
    url: 'https://example.com',
  • Network accessline 932
    {       name: 'Staging Site',       url: 'https://staging.example.com',
  • Network accessline 933
    name: 'Staging Site',       url: 'https://staging.example.com',       alerts: 'dev@example.com'
  • Network accessline 934
    url: 'https://staging.example.com',

skills/link-in-text-block/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/link-in-text-block
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/link-in-text-block ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/link-in-text-block
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/link-in-text-block

skills/link-in-text-block/references/rule.md

  • Network accessline 7
    --- Links embedded within paragraphs or text blocks must be identifiable without relying solely on color. [WCAG 1.4.1 Use of Color](https://www.w3.org/TR/WCAG21/#use-of-color), [Technique G183](https://www.w3.org/WAI/WCAG21/Techniques/gener
  • Network accessline 8
    Links embedded within paragraphs or text blocks must be identifiable without relying solely on color. [WCAG 1.4.1 Use of Color](https://www.w3.org/TR/WCAG21/#use-of-color), [Technique G183](https://www.w3.org/WAI/WCAG21/Techniques/general/G
  • Network accessline 54
    This is not just a styling preference. [Failure F73](https://www.w3.org/WAI/WCAG21/Techniques/failures/F73) documents exactly what happens when links are only different by color and nothing else cues users that the text is interactive.

skills/link-text/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/link-text
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/link-text ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/link-text
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/link-text

skills/link-text/references/rule.md

  • Network accessline 86
    <!-- ✅ Good: Indicate external links --> <a href="https://github.com" target="_blank" rel="noopener noreferrer">
  • Network accessline 87
    <a href="https://github.com" target="_blank" rel="noopener noreferrer">

skills/list-structure/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/list-structure
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/list-structure ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/list-structure
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/list-structure

skills/list-structure/references/rule.md

  • Network accessline 7
    --- HTML list elements such as [`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ul) and `<ol>` have a specific requirement: their only direct children must be `<li>` elements (or `<script>` and `<template>` elem
  • Network accessline 8
    HTML list elements such as [`<ul>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ul) and `<ol>` have a specific requirement: their only direct children must be `<li>` elements (or `<script>` and `<template>` elements

skills/list-virtualization/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/list-virtualization
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/list-virtualization ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/list-virtualization
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/list-virtualization

skills/list-virtualization/references/rule.md

  • Network accessline 78
    Cross-check the result against [react-window guidance on virtualized lists](https://web.dev/articles/virtualize-long-lists-react-window) so the DOM stays small without breaking keyboard or assistive-technology expectations.

skills/listitem/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/listitem
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/listitem ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/listitem
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/listitem

skills/listitem/references/rule.md

  • Network accessline 7
    --- List items such as [`<li>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li) are semantic elements that must exist within a list context. The [HTML Living Standard](https://html.spec.whatwg.org/multipage/grouping-content.ht
  • Network accessline 8
    List items such as [`<li>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li) are semantic elements that must exist within a list context. The [HTML Living Standard](https://html.spec.whatwg.org/multipage/grouping-content.html#t

skills/llm-parsability/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/llm-parsability
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/llm-parsability ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/llm-parsability
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/llm-parsability

skills/llm-parsability/references/rule.md

  • Network accessline 7
    --- LLMs and answer engines such as [Google AI Overviews](https://developers.google.com/search/docs/appearance/ai-overviews), Bing Copilot, and Perplexity extract content from web pages and synthesize answers. Pages structured for LLM parsa
  • Network accessline 8
    LLMs and answer engines such as [Google AI Overviews](https://developers.google.com/search/docs/appearance/ai-overviews), Bing Copilot, and Perplexity extract content from web pages and synthesize answers. Pages structured for LLM parsabili
  • Network accessline 59
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 60
    {   "@context": "https://schema.org",   "@type": "FAQPage",
  • Network accessline 61
    "@context": "https://schema.org",
  • Network accessline 88
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 89
    {   "@context": "https://schema.org",   "@type": "HowTo",
  • Network accessline 90
    "@context": "https://schema.org",

skills/llms-txt/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/llms-txt
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/llms-txt ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/llms-txt
  • Network accessline 15
    Documentation portals often bury the most important pages behind dense navigation, search UIs, or framework-specific layouts. A curated `llms.txt` gives AI tools a cleaner entry point without replacing the normal crawl and indexing mechanis
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/llms-txt

skills/llms-txt/references/rule.md

  • Network accessline 19
    - [Getting Started](https://docs.example.com/getting-started): Setup, authentication, and your first request.
  • Network accessline 20
    - [Concepts](https://docs.example.com/concepts): Core mental model, resources, and lifecycle concepts.
  • Network accessline 21
    - [API Reference](https://docs.example.com/api): Endpoint-by-endpoint request and response details.
  • Network accessline 22
    - [Examples](https://docs.example.com/examples): Copy-paste examples for common integration patterns.
  • Network accessline 26
    - [Full Reference](https://docs.example.com/llms-full.txt): Expanded documentation index for tools that can handle larger context files.
  • Network accessline 32
    - [Home](https://example.com/)
  • Network accessline 33
    - [Blog](https://example.com/blog)
  • Network accessline 34
    - [Pricing](https://example.com/pricing)
  • Network accessline 35
    - [Login](https://example.com/login)
  • Network accessline 36
    - [Random changelog entry](https://example.com/changelog/2024-01-11)
  • Network accessline 74
    - [Getting Started](https://docs.example.com/getting-started): Setup and first steps.
  • Network accessline 75
    - [API Reference](https://docs.example.com/api): Request and response details.
  • Network accessline 79
    - [Full Reference](https://docs.example.com/llms-full.txt): Expanded docs index.
  • Network accessline 93
    - Fetch `/llms.txt` on the production domain and confirm it returns HTTP 200. - Spot-check every listed URL and remove links that redirect, 404, or require authentication. - Compare `llms.txt` against your sitemap and docs IA to make sure i
  • Network accessline 94
    - Spot-check every listed URL and remove links that redirect, 404, or require authentication. - Compare `llms.txt` against your sitemap and docs IA to make sure it highlights the most useful public docs rather than duplicating everything, a
  • Network accessline 95
    - Compare `llms.txt` against your sitemap and docs IA to make sure it highlights the most useful public docs rather than duplicating everything, and check the overall shape against the [llms.txt convention](https://llmstxt.org/).
  • Network accessline 116
    - Fetch [the live `/llms.txt` file](https://llmstxt.org/) and confirm your production version returns HTTP 200 from the exact root path.

skills/loading-indicators/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/loading-indicators
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/loading-indicators ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/loading-indicators
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/loading-indicators

skills/local-business/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/local-business
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/local-business ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/local-business
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/local-business

skills/local-business/references/rule.md

  • Network accessline 7
    --- `LocalBusiness` schema is JSON-LD structured data that tells search engines the key facts about a physical business: name, address, phone, hours, and location. [Google's local business structured data documentation](https://developers.g
  • Network accessline 8
    `LocalBusiness` schema is JSON-LD structured data that tells search engines the key facts about a physical business: name, address, phone, hours, and location. [Google's local business structured data documentation](https://developers.googl
  • Network accessline 14
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 15
    {   "@context": "https://schema.org",   "@type": "Restaurant",
  • Network accessline 16
    "@context": "https://schema.org",
  • Network accessline 17
    "@type": "Restaurant",   "name": "Mario's Pizzeria",   "url": "https://mariospizzeria.com",
  • Network accessline 18
    "name": "Mario's Pizzeria",   "url": "https://mariospizzeria.com",   "telephone": "+1-555-123-4567",
  • Network accessline 19
    "url": "https://mariospizzeria.com",
  • Network accessline 20
    "telephone": "+1-555-123-4567",   "image": "https://mariospizzeria.com/images/storefront.jpg",   "priceRange": "$$",
  • Network accessline 21
    "image": "https://mariospizzeria.com/images/storefront.jpg",
  • Network accessline 38
    "Sa-Su 12:00-23:00"   ],   "hasMap": "https://maps.google.com/?cid=1234567890"
  • Network accessline 39
    ],   "hasMap": "https://maps.google.com/?cid=1234567890" }
  • Network accessline 40
    "hasMap": "https://maps.google.com/?cid=1234567890"
  • Network accessline 47
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 48
    {   "@context": "https://schema.org",   "@type": "LocalBusiness",
  • Network accessline 49
    "@context": "https://schema.org",
  • Network accessline 58
    LocalBusiness schema enables Google to show your business details (hours, address, phone, rating) directly in search results and Google Maps, improving local visibility without requiring a click. The underlying vocabulary comes from [Schema
  • Network accessline 66
    | `address` | PostalAddress | see below | | `telephone` | Text | `"+1-555-123-4567"` | | `url` | URL | `"https://example.com"` |
  • Network accessline 68
    | `url` | URL | `"https://example.com"` |
  • Network accessline 93
    Full list: [Schema.org LocalBusiness hierarchy](https://schema.org/LocalBusiness)
  • Network accessline 100
    const schema = {     '@context': 'https://schema.org',
  • Network accessline 101
    '@context': 'https://schema.org',
  • Network accessline 111
    },     telephone: '+1-555-000-0000',     url: 'https://example.com',
  • Network accessline 112
    telephone: '+1-555-000-0000',     url: 'https://example.com',   }
  • Network accessline 113
    url: 'https://example.com',
  • Network accessline 130
    Use [Google's Rich Results Test](https://search.google.com/test/rich-results) to confirm the schema is valid and eligible for rich results.

skills/locale-images/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/locale-images
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/locale-images ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/i18n/locale-images
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/i18n/locale-images

skills/locale-images/references/rule.md

  • Network accessline 168
    function BadgeSvg({ label }: BadgeSvgProps) {   return (     <svg viewBox="0 0 100 40" xmlns="http://www.w3.org/2000/svg">
  • Network accessline 169
    return (     <svg viewBox="0 0 100 40" xmlns="http://www.w3.org/2000/svg">       <rect width="100" height="40" rx="8" fill="#3b82f6" />
  • Network accessline 170
    <svg viewBox="0 0 100 40" xmlns="http://www.w3.org/2000/svg">

skills/logical-properties/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/logical-properties
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/logical-properties ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/logical-properties
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/logical-properties

skills/lowercase/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/lowercase
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/lowercase ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/lowercase
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/lowercase

skills/lowercase/references/rule.md

  • Network accessline 7
    --- URL paths on the web are case-sensitive by specification in [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1). While many servers normalize case for you, inconsistent casing creates duplicate pages that split Pag
  • Network accessline 8
    URL paths on the web are case-sensitive by specification in [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1). While many servers normalize case for you, inconsistent casing creates duplicate pages that split PageRan
  • Network accessline 15
    https://example.com/Products/shoes     → 200 OK  ← duplicate
  • Network accessline 16
    https://example.com/products/shoes     → 200 OK  ← canonical-url
  • Network accessline 23
    Mixed-case URLs can create duplicate content. Search engines may index both `/Product` and `/product` as separate pages, splitting link equity and diluting rankings, which is why [Google's URL structure best practices](https://developers.go
  • Network accessline 28
    ✅ https://example.com/products/running-shoes
  • Network accessline 29
    ✅ https://example.com/blog/how-to-pick-shoes
  • Network accessline 30
    ✅ https://example.com/about-us
  • Network accessline 32
    ❌ https://example.com/Products/Running-Shoes
  • Network accessline 33
    ❌ https://example.com/Blog/How-To-Pick-Shoes
  • Network accessline 34
    ❌ https://example.com/About-Us
  • Network accessline 85
    After enforcing lowercase URLs, audit with [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/) or an equivalent crawler:

skills/memory-leaks/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/memory-leaks
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/memory-leaks ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/memory-leaks
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/javascript/memory-leaks

skills/memory-leaks/references/rule.md

  • Network accessline 102
    async function loadSearchResults() {     const response = await fetch(`/api/search?q=${query}`, {
  • Network accessline 103
    const response = await fetch(`/api/search?q=${query}`, {

skills/meta-description/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/meta-description
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/meta-description ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/meta-description
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/meta-description

skills/meta-in-body/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/meta-in-body
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/meta-in-body ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/meta-in-body
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/meta-in-body

skills/meta-in-body/references/rule.md

  • Network accessline 20
    <meta name="description" content="Page description here." />   <meta property="og:title" content="Page Title" />   <link rel="canonical" href="https://example.com/page" />
  • Network accessline 21
    <meta property="og:title" content="Page Title" />   <link rel="canonical" href="https://example.com/page" />   <title>Page Title</title>
  • Network accessline 22
    <link rel="canonical" href="https://example.com/page" />
  • Network accessline 79
    # Check rendered HTML for meta tags outside <head> # Look for <meta> tags that appear after </head> or inside <body> curl -s https://example.com/ | grep -o '<body.*<meta[^>]*>' | head
  • Network accessline 81
    curl -s https://example.com/ | grep -o '<body.*<meta[^>]*>' | head
  • Network accessline 84
    Use the [W3C Markup Validator](https://validator.w3.org/) or browser DevTools → Elements tab to inspect where meta tags are actually rendered in the DOM.

skills/meta-refresh/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/meta-refresh
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/meta-refresh ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/meta-refresh
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/meta-refresh

skills/meta-refresh/references/rule.md

  • Network accessline 7
    --- The [`http-equiv="refresh"`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta) pattern on a `<meta>` tag is often used to refresh a page or redirect a user to a new location. [WCAG timing guidance](https://www.w
  • Network accessline 8
    The [`http-equiv="refresh"`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta) pattern on a `<meta>` tag is often used to refresh a page or redirect a user to a new location. [WCAG timing guidance](https://www.w3.or
  • Network accessline 12
    <!-- Incorrect: Automatic redirect after 5 seconds --> <head>   <meta http-equiv="refresh" content="5; url=https://example.com/new-page">
  • Network accessline 13
    <head>   <meta http-equiv="refresh" content="5; url=https://example.com/new-page"> </head>
  • Network accessline 14
    <meta http-equiv="refresh" content="5; url=https://example.com/new-page">
  • Network accessline 17
    <!-- Better: Provide a clear link instead --> <body>   <p>This page has moved. Please <a href="https://example.com/new-page">visit the new location</a>.</p>
  • Network accessline 18
    <body>   <p>This page has moved. Please <a href="https://example.com/new-page">visit the new location</a>.</p> </body>
  • Network accessline 19
    <p>This page has moved. Please <a href="https://example.com/new-page">visit the new location</a>.</p>

skills/meta-title/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/meta-title
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/meta-title ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/meta-title
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/meta-title

skills/meta-title/references/rule.md

  • Network accessline 107
    - View page source and search for `<title>` - Check SERP preview with a tool like [SERP Simulator](https://serpsim.com/)
  • Network accessline 108
    - Check SERP preview with a tool like [SERP Simulator](https://serpsim.com/)

skills/mime-type/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/mime-type
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/mime-type ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/mime-type
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/mime-type

skills/mime-type/references/rule.md

  • Network accessline 7
    --- The `Content-Type` HTTP response header tells the browser and search crawlers what type of content is in the response body. [MDN's MIME type reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types) and the IANA registry 
  • Network accessline 8
    The `Content-Type` HTTP response header tells the browser and search crawlers what type of content is in the response body. [MDN's MIME type reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types) and the IANA registry both
  • Network accessline 13
    # Check a page's Content-Type header curl -I https://example.com/page
  • Network accessline 14
    curl -I https://example.com/page
  • Network accessline 16
    # Check a CSS file curl -I https://example.com/styles/main.css
  • Network accessline 17
    curl -I https://example.com/styles/main.css
  • Network accessline 20
    # Check a JS file curl -I https://example.com/js/app.js
  • Network accessline 21
    curl -I https://example.com/js/app.js
  • Network accessline 27
    Incorrect MIME types cause browsers to block stylesheets and scripts, especially when [`X-Content-Type-Options`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) disables sniffing. That turns a server-header

skills/mixed-content/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/mixed-content
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/mixed-content ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/mixed-content
  • Network accessline 20
    - Passive mixed content (images, audio, video) triggers a security warning and may be upgraded or blocked - Use `upgrade-insecure-requests` CSP directive to automatically upgrade HTTP sub-resources to HTTPS - Audit all hardcoded `http://` U
  • Network accessline 21
    - Use `upgrade-insecure-requests` CSP directive to automatically upgrade HTTP sub-resources to HTTPS - Audit all hardcoded `http://` URLs in HTML, CSS, and JavaScript - The `Content-Security-Policy: upgrade-insecure-requests` directive is t
  • Network accessline 22
    - Audit all hardcoded `http://` URLs in HTML, CSS, and JavaScript
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/mixed-content

skills/mixed-content/references/rule.md

  • Network accessline 18
    - `<script src="http://...">`
  • Network accessline 19
    - `<link rel="stylesheet" href="http://...">` - `<iframe src="http://...">` - `XMLHttpRequest` / `fetch()` to `http://` URLs
  • Network accessline 20
    - `<iframe src="http://...">` - `XMLHttpRequest` / `fetch()` to `http://` URLs - `<object data="http://...">`
  • Network accessline 21
    - `XMLHttpRequest` / `fetch()` to `http://` URLs
  • Network accessline 22
    - `<object data="http://...">`
  • Network accessline 25
    ❌ Blocked — attacker can inject scripts into your HTTPS page <script src="http://cdn.example.com/analytics.js"></script>
  • Network accessline 26
    <script src="http://cdn.example.com/analytics.js"></script>
  • Network accessline 28
    ✅ Correct <script src="https://cdn.example.com/analytics.js"></script>
  • Network accessline 29
    <script src="https://cdn.example.com/analytics.js"></script>
  • Network accessline 36
    - `<img src="http://...">`
  • Network accessline 37
    - `<audio src="http://...">`
  • Network accessline 38
    - `<video src="http://...">`
  • Network accessline 41
    ⚠<U+FE0F> Will be upgraded to HTTPS by Chrome (blocked if no HTTPS version exists) <img src="http://example.com/photo.jpg" alt="Photo">
  • Network accessline 42
    <img src="http://example.com/photo.jpg" alt="Photo">
  • Network accessline 44
    ✅ Correct <img src="https://example.com/photo.jpg" alt="Photo">
  • Network accessline 45
    <img src="https://example.com/photo.jpg" alt="Photo">
  • Network accessline 60
    # Focus on resource attributes grep -rE 'src="http://|href="http://|url\(http://' ./src
  • Network accessline 61
    grep -rE 'src="http://|href="http://|url\(http://' ./src
  • Network accessline 117
    Open Chrome or Firefox DevTools in the Console tab. [MDN's mixed content guide](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content) and [web.dev's remediation guide](https://web.dev/articles/fixing-mixed-content) both show 
  • Network accessline 120
    Mixed Content: The page at 'https://example.com' was loaded over HTTPS,
  • Network accessline 121
    but requested an insecure resource 'http://cdn.example.com/script.js'.
  • Network accessline 132
    # Lighthouse CLI npx lighthouse https://example.com --only-categories=best-practices --output=json \
  • Network accessline 133
    npx lighthouse https://example.com --only-categories=best-practices --output=json \

skills/mobile-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/mobile-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/mobile-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/mobile-testing
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/mobile-testing

skills/mock-best-practices/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/mock-best-practices
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/mock-best-practices ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/mock-best-practices
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/mock-best-practices

skills/modal-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/modal-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/modal-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/modal-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/modal-accessibility

skills/modern-array-methods/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/modern-array-methods
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/modern-array-methods ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/modern-array-methods
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/modern-array-methods

skills/modern-format/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/modern-format
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/modern-format ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/modern-format
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/modern-format

skills/modern-format/references/rule.md

  • Network accessline 53
    Source: [web.dev — Serve images in modern formats](https://web.dev/articles/serve-images-webp)

skills/mutation-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "120"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/mutation-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/mutation-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/mutation-testing
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/mutation-testing

skills/naming-conventions/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/naming-conventions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/naming-conventions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/naming-conventions
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/naming-conventions

skills/nap-consistency/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/nap-consistency
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/nap-consistency ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/nap-consistency
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/nap-consistency

skills/nap-consistency/references/rule.md

  • Network accessline 7
    --- NAP stands for **Name, Address, Phone**. These three pieces of information must be identical across every page of your website, your [Google Business Profile](https://business.google.com), and external directory listings, especially whe
  • Network accessline 8
    NAP stands for **Name, Address, Phone**. These three pieces of information must be identical across every page of your website, your [Google Business Profile](https://business.google.com), and external directory listings, especially when th
  • Network accessline 23
    Inconsistent NAP information across a website signals to search engines that the business details are unreliable. That inconsistency can suppress local rankings and undermine the same entity confidence described in [Schema.org PostalAddress

skills/navigation-landmark/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/navigation-landmark
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/navigation-landmark ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/navigation-landmark
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/navigation-landmark

skills/new-tab/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/new-tab
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/new-tab ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/new-tab
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/new-tab

skills/new-tab/references/rule.md

  • Network accessline 7
    --- When a link opens a new browser tab with `target="_blank"`, the new page receives a reference to the opener's `window` object via `window.opener`. A malicious destination can exploit that behavior in a [reverse tabnapping](https://owasp
  • Network accessline 8
    When a link opens a new browser tab with `target="_blank"`, the new page receives a reference to the opener's `window` object via `window.opener`. A malicious destination can exploit that behavior in a [reverse tabnapping](https://owasp.org
  • Network accessline 12
    1. User is on bank.example.com 2. User clicks a link to malicious.com (opens in new tab) 3. malicious.com runs: window.opener.location = 'https://fake-bank.example.com/login'
  • Network accessline 13
    2. User clicks a link to malicious.com (opens in new tab) 3. malicious.com runs: window.opener.location = 'https://fake-bank.example.com/login' 4. User switches back to the original tab
  • Network accessline 14
    3. malicious.com runs: window.opener.location = 'https://fake-bank.example.com/login'
  • Network accessline 26
    ❌ Vulnerable to reverse tabnapping <a href="https://example.com" target="_blank">Visit Example</a>
  • Network accessline 27
    <a href="https://example.com" target="_blank">Visit Example</a>
  • Network accessline 29
    ✅ Safe — no access to window.opener <a href="https://example.com" target="_blank" rel="noopener noreferrer">Visit Example</a>
  • Network accessline 30
    <a href="https://example.com" target="_blank" rel="noopener noreferrer">Visit Example</a>
  • Network accessline 38
    ❌ Vulnerable <a href="https://external.com" target="_blank">External Link</a>
  • Network accessline 39
    <a href="https://external.com" target="_blank">External Link</a>
  • Network accessline 41
    ✅ Safe <a href="https://external.com" target="_blank" rel="noopener noreferrer">
  • Network accessline 42
    <a href="https://external.com" target="_blank" rel="noopener noreferrer">

skills/no-explicit-any/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/no-explicit-any
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/no-explicit-any ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/no-explicit-any
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/no-explicit-any

skills/no-explicit-any/references/rule.md

  • Network accessline 7
    --- [`any`](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any) is TypeScript's escape hatch — it tells the compiler to stop type-checking a value entirely. Every property access, method call, and assignment on an `any` 
  • Network accessline 8
    [`any`](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any) is TypeScript's escape hatch — it tells the compiler to stop type-checking a value entirely. Every property access, method call, and assignment on an `any` valu
  • Network accessline 125
    The [`@typescript-eslint/no-explicit-any`](https://typescript-eslint.io/rules/no-explicit-any/) rule is the practical way to keep this standard from drifting during code review.
  • Network accessline 159
    async function fetchUser(id: string): Promise {   const response = await fetch(`/api/users/${id}`)
  • Network accessline 160
    const response = await fetch(`/api/users/${id}`)
  • Network accessline 168
    1. Run `pnpm exec eslint --rule '{"@typescript-eslint/no-explicit-any": "error"}' src/` and confirm zero violations, or check that the rule is already in your ESLint config with `"error"` severity. 2. Search the codebase for `: any` and `as
  • Network accessline 169
    2. Search the codebase for `: any` and `as any` — every remaining instance should either be enforced by [`@typescript-eslint/no-explicit-any`](https://typescript-eslint.io/rules/no-explicit-any/) or have a comment explaining why it is inten

skills/no-unchecked-indexed-access/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/no-unchecked-indexed-access
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/no-unchecked-indexed-access ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/no-unchecked-indexed-access
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/no-unchecked-indexed-access

skills/no-unchecked-indexed-access/references/rule.md

  • Network accessline 7
    --- TypeScript's type system makes an optimistic assumption about array index access: `array[0]` is typed as `T`, not `T | undefined`. The [`noUncheckedIndexedAccess` flag](https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess) a
  • Network accessline 8
    TypeScript's type system makes an optimistic assumption about array index access: `array[0]` is typed as `T`, not `T | undefined`. The [`noUncheckedIndexedAccess` flag](https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess) and t
  • Network accessline 148
    1. Confirm `"noUncheckedIndexedAccess": true` is present in `tsconfig.json` under `compilerOptions`. The [TSConfig reference](https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess) is explicit that this flag is not enabled by `"s

skills/nofollow-internal/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/nofollow-internal
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/nofollow-internal ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/nofollow-internal
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/nofollow-internal

skills/nofollow-internal/references/rule.md

  • Network accessline 7
    --- `rel="nofollow"` was introduced to tell search engines not to follow a link or pass PageRank through it. [Google's rel-attribute guidance](https://developers.google.com/search/docs/crawling-indexing/qualify-outbound-links) applies to ou
  • Network accessline 8
    `rel="nofollow"` was introduced to tell search engines not to follow a link or pass PageRank through it. [Google's rel-attribute guidance](https://developers.google.com/search/docs/crawling-indexing/qualify-outbound-links) applies to outbou
  • Network accessline 19
    <!-- ✅ OK: nofollow on an external, untrusted link --> <a href="https://untrusted-source.com/article" rel="nofollow">Source</a>
  • Network accessline 20
    <a href="https://untrusted-source.com/article" rel="nofollow">Source</a>
  • Network accessline 25
    Adding `rel="nofollow"` to internal links prevents PageRank from flowing to those pages while providing no benefit over simply omitting the attribute. Google’s 2019 note on [evolving nofollow](https://developers.google.com/search/blog/2019/
  • Network accessline 48
    ## Audit Command ([Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/))

skills/noindex-in-sitemap/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/noindex-in-sitemap
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/noindex-in-sitemap ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/noindex-in-sitemap
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/noindex-in-sitemap

skills/noindex-in-sitemap/references/rule.md

  • Network accessline 7
    --- An XML sitemap tells search engines which pages to prioritise for crawling and indexing. A `noindex` directive tells them not to index a page. [Google's sitemap guidance](https://developers.google.com/search/docs/crawling-indexing/sitem
  • Network accessline 8
    An XML sitemap tells search engines which pages to prioritise for crawling and indexing. A `noindex` directive tells them not to index a page. [Google's sitemap guidance](https://developers.google.com/search/docs/crawling-indexing/sitemaps/
  • Network accessline 14
    <urlset>   <url>     <loc>https://example.com/thank-you</loc>
  • Network accessline 15
    <url>     <loc>https://example.com/thank-you</loc>   </url>
  • Network accessline 16
    <loc>https://example.com/thank-you</loc>
  • Network accessline 49
    <!-- ✅ Good: Only indexable, canonical-url, 200 URLs --> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 50
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 51
    <url>     <loc>https://example.com/products/shoes</loc>     <changefreq>weekly</changefreq>
  • Network accessline 52
    <loc>https://example.com/products/shoes</loc>
  • Network accessline 68
    Use [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/) or a similar crawler:
  • Network accessline 83
    .filter(page => !page.noindex)     .map(page => ({       url: `https://example.com${page.path}`,
  • Network accessline 84
    .map(page => ({       url: `https://example.com${page.path}`,       lastModified: page.updatedAt,
  • Network accessline 85
    url: `https://example.com${page.path}`,

skills/noscript-tag/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/noscript-tag
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/noscript-tag ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/noscript-tag
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/html/noscript-tag

skills/noscript-tag/references/rule.md

  • Network accessline 270
    e.preventDefault()         try {             const response = await fetch(`/api/search?q=${encodeURIComponent(query)}`)
  • Network accessline 271
    try {             const response = await fetch(`/api/search?q=${encodeURIComponent(query)}`)             const data = await response.json()
  • Network accessline 272
    const response = await fetch(`/api/search?q=${encodeURIComponent(query)}`)
  • Network accessline 406
    try {             const response = await fetch('/api/contact', {
  • Network accessline 407
    const response = await fetch('/api/contact', {
  • Network accessline 737
    await page.goto('http://localhost:3000');

skills/nosnippet/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/nosnippet
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/nosnippet ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/nosnippet
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/nosnippet

skills/nosnippet/references/rule.md

  • Network accessline 7
    --- The `nosnippet` robots directive prevents search engines from showing a description under your page title in results. [Google's robots-meta documentation](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag#direc
  • Network accessline 8
    The `nosnippet` robots directive prevents search engines from showing a description under your page title in results. [Google's robots-meta documentation](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag#directive
  • Network accessline 80
    Use [Google Search Console URL Inspection](https://search.google.com/search-console/inspect) to see what Google reads for any specific URL.

skills/object-alt/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/object-alt
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/object-alt ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/object-alt
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/object-alt

skills/object-alt/references/rule.md

  • Network accessline 7
    --- The [`<object>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object) is used to embed external resources like multimedia or other web pages. The [HTML standard](https://html.spec.whatwg.org/multipage/iframe-embed-o
  • Network accessline 8
    The [`<object>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object) is used to embed external resources like multimedia or other web pages. The [HTML standard](https://html.spec.whatwg.org/multipage/iframe-embed-objec

skills/offline-fallback/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/offline-fallback
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/offline-fallback ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/offline-fallback
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/offline-fallback

skills/offline-fallback/references/rule.md

  • Network accessline 7
    --- When a user visits your site without a network connection, the browser normally shows its own generic error page. A custom [offline fallback page](https://web.dev/articles/offline-fallback-page) keeps users within your experience, and a
  • Network accessline 8
    When a user visits your site without a network connection, the browser normally shows its own generic error page. A custom [offline fallback page](https://web.dev/articles/offline-fallback-page) keeps users within your experience, and a [se
  • Network accessline 138
    try {     // Always try the network first for navigation     const networkResponse = await fetch(request)
  • Network accessline 140
    const networkResponse = await fetch(request)
  • Network accessline 203
    If you use [Workbox](https://developer.chrome.com/docs/workbox), the `offlineFallback` plugin handles this automatically:

skills/offscreen-lazy/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/offscreen-lazy
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/offscreen-lazy ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/offscreen-lazy
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/images/offscreen-lazy

skills/offscreen-lazy/references/rule.md

  • Network accessline 165
    Per the [HTML spec](https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-loading), the exact threshold is implementation-defined. Chromium's thresholds range from 1250px on a slow connection to 2500px on a fast connection.

skills/og-image-size/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/og-image-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/og-image-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/og-image-size
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/og-image-size

skills/og-image-size/references/rule.md

  • Network accessline 13
    <!-- ✅ Good: Correct size, absolute URL, explicit dimensions --> <head>   <meta property="og:image" content="https://example.com/og/home.jpg" />
  • Network accessline 14
    <head>   <meta property="og:image" content="https://example.com/og/home.jpg" />   <meta property="og:image:width" content="1200" />
  • Network accessline 15
    <meta property="og:image" content="https://example.com/og/home.jpg" />
  • Network accessline 80
    images: [         {           url: `https://example.com/og?title=${encodeURIComponent(post.title)}`,
  • Network accessline 81
    {           url: `https://example.com/og?title=${encodeURIComponent(post.title)}`,           width: 1200,
  • Network accessline 82
    url: `https://example.com/og?title=${encodeURIComponent(post.title)}`,
  • Network accessline 112
    - [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/) — shows exact image dimensions and warnings
  • Network accessline 113
    - [X Cards Getting Started](https://developer.x.com/en/docs/x-for-websites/cards/guides/getting-started)
  • Network accessline 114
    - [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/)

skills/og-tags/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/og-tags
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/og-tags ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/og-tags
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/og-tags

skills/og-tags/references/rule.md

  • Network accessline 15
    <meta property="og:title" content="How to Bake Sourdough Bread" />   <meta property="og:description" content="A step-by-step guide to making sourdough bread at home, from starter to scoring." />   <meta property="og:image" content="https://
  • Network accessline 16
    <meta property="og:description" content="A step-by-step guide to making sourdough bread at home, from starter to scoring." />   <meta property="og:image" content="https://example.com/images/sourdough-og.jpg" />   <meta property="og:url" con
  • Network accessline 17
    <meta property="og:image" content="https://example.com/images/sourdough-og.jpg" />
  • Network accessline 18
    <meta property="og:url" content="https://example.com/blog/sourdough-bread" />
  • Network accessline 53
    title: post.title,       description: post.excerpt,       url: `https://example.com/blog/${params.slug}`,
  • Network accessline 54
    description: post.excerpt,       url: `https://example.com/blog/${params.slug}`,       images: [
  • Network accessline 55
    url: `https://example.com/blog/${params.slug}`,
  • Network accessline 56
    images: [         {           url: `https://example.com/og/${params.slug}.jpg`,
  • Network accessline 57
    {           url: `https://example.com/og/${params.slug}.jpg`,           width: 1200,
  • Network accessline 58
    url: `https://example.com/og/${params.slug}.jpg`,
  • Network accessline 76
    <!-- ✅ Good: Absolute HTTPS URL --> <meta property="og:image" content="https://example.com/images/og.png" />
  • Network accessline 77
    <meta property="og:image" content="https://example.com/images/og.png" />
  • Network accessline 79
    <!-- ❌ Bad: og:url doesn't match canonical-url --> <meta property="og:url" content="https://example.com/blog/post?utm_source=share" />
  • Network accessline 80
    <meta property="og:url" content="https://example.com/blog/post?utm_source=share" />
  • Network accessline 82
    <!-- ✅ Good: og:url matches the canonical URL --> <meta property="og:url" content="https://example.com/blog/post" />
  • Network accessline 83
    <meta property="og:url" content="https://example.com/blog/post" />
  • Network accessline 88
    - Use the [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/) to inspect and refresh cached OG data
  • Network accessline 89
    - Use the [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/) for LinkedIn previews

skills/og-url-match/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/og-url-match
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/og-url-match ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/og-url-match
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/og-url-match

skills/og-url-match/references/rule.md

  • Network accessline 15
    User A shares: https://example.com/blog/post?utm_source=twitter  → 45 shares
  • Network accessline 16
    User B shares: https://example.com/blog/post                     → 23 shares
  • Network accessline 17
    User C shares: https://www.example.com/blog/post                 → 12 shares
  • Network accessline 29
    <!-- ✅ Good: og:url matches canonical-url exactly --> <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 30
    <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />   <meta property="og:url" content="https://example.com/blog/sourdough-recipe" />
  • Network accessline 31
    <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 32
    <meta property="og:url" content="https://example.com/blog/sourdough-recipe" />
  • Network accessline 37
    <!-- ❌ Bad: og:url has tracking params that canonical-url doesn't --> <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 38
    <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />   <meta property="og:url" content="https://example.com/blog/sourdough-recipe?utm_source=homepage" />
  • Network accessline 39
    <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 40
    <meta property="og:url" content="https://example.com/blog/sourdough-recipe?utm_source=homepage" />
  • Network accessline 43
    <!-- ❌ Bad: og:url uses www, canonical-url doesn't --> <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 44
    <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />   <meta property="og:url" content="https://www.example.com/blog/sourdough-recipe" />
  • Network accessline 45
    <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 46
    <meta property="og:url" content="https://www.example.com/blog/sourdough-recipe" />
  • Network accessline 49
    <!-- ❌ Bad: og:url uses HTTP, canonical-url uses HTTPS --> <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 50
    <head>   <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />   <meta property="og:url" content="http://example.com/blog/sourdough-recipe" />
  • Network accessline 51
    <link rel="canonical" href="https://example.com/blog/sourdough-recipe" />
  • Network accessline 52
    <meta property="og:url" content="http://example.com/blog/sourdough-recipe" />
  • Network accessline 61
    const post = await getPost(params.slug)   const canonicalUrl = `https://example.com/blog/${params.slug}`
  • Network accessline 62
    const canonicalUrl = `https://example.com/blog/${params.slug}`
  • Network accessline 79
    | Check | Expected | |-------|----------| | Protocol | Both use `https://` |
  • Network accessline 80
    |-------|----------| | Protocol | Both use `https://` | | Domain | Both use same domain (www or non-www) |
  • Network accessline 81
    | Protocol | Both use `https://` |
  • Network accessline 103
    - View page source — compare `og:url` content and `canonical` href manually - Use [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/) — shows the resolved og:url
  • Network accessline 104
    - Use [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/) — shows the resolved og:url

skills/optimized/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/optimized
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/optimized ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/optimized
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/optimized

skills/organization/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/organization
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/organization ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/organization
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/organization

skills/organization/references/rule.md

  • Network accessline 14
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 15
    {   "@context": "https://schema.org",   "@type": "Organization",
  • Network accessline 16
    "@context": "https://schema.org",
  • Network accessline 17
    "@type": "Organization",   "name": "Acme Corporation",   "url": "https://acme.com",
  • Network accessline 18
    "name": "Acme Corporation",   "url": "https://acme.com",   "logo": {
  • Network accessline 19
    "url": "https://acme.com",
  • Network accessline 20
    "logo": {     "@type": "ImageObject",     "url": "https://acme.com/images/logo.png",
  • Network accessline 21
    "@type": "ImageObject",     "url": "https://acme.com/images/logo.png",     "width": 200,
  • Network accessline 22
    "url": "https://acme.com/images/logo.png",
  • Network accessline 41
    },   "sameAs": [     "https://www.linkedin.com/company/acme",
  • Network accessline 42
    "sameAs": [     "https://www.linkedin.com/company/acme",     "https://twitter.com/acme",
  • Network accessline 43
    "https://www.linkedin.com/company/acme",
  • Network accessline 44
    "https://twitter.com/acme",
  • Network accessline 45
    "https://www.facebook.com/acme",
  • Network accessline 46
    "https://www.youtube.com/@acme",
  • Network accessline 47
    "https://en.wikipedia.org/wiki/Acme_Corporation"
  • Network accessline 55
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 56
    {   "@context": "https://schema.org",   "@type": "Organization",
  • Network accessline 57
    "@context": "https://schema.org",
  • Network accessline 72
    | `@type` | Text | `"Organization"` or `"Corporation"` | | `name` | Text | `"Acme Corporation"` | | `url` | URL | `"https://acme.com"` |
  • Network accessline 73
    | `name` | Text | `"Acme Corporation"` | | `url` | URL | `"https://acme.com"` | | `logo` | ImageObject | see below |
  • Network accessline 74
    | `url` | URL | `"https://acme.com"` |
  • Network accessline 101
    const orgSchema = {     '@context': 'https://schema.org',
  • Network accessline 102
    '@context': 'https://schema.org',
  • Network accessline 103
    '@type': 'Organization',     name: 'Acme Corporation',     url: 'https://acme.com',
  • Network accessline 104
    name: 'Acme Corporation',     url: 'https://acme.com',     logo: {
  • Network accessline 105
    url: 'https://acme.com',
  • Network accessline 106
    logo: {       '@type': 'ImageObject',       url: 'https://acme.com/logo.png',
  • Network accessline 107
    '@type': 'ImageObject',       url: 'https://acme.com/logo.png',       width: 200,
  • Network accessline 108
    url: 'https://acme.com/logo.png',
  • Network accessline 111
    },     sameAs: [       'https://www.linkedin.com/company/acme',
  • Network accessline 112
    sameAs: [       'https://www.linkedin.com/company/acme',       'https://twitter.com/acme',
  • Network accessline 113
    'https://www.linkedin.com/company/acme',
  • Network accessline 114
    'https://twitter.com/acme',
  • Network accessline 136
    Test with [Google's Rich Results Test](https://search.google.com/test/rich-results) to confirm valid markup.

skills/orientation/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/orientation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/orientation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/orientation
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/orientation

skills/orientation/references/rule.md

  • Network accessline 7
    --- Users must be able to access the same core content and complete the same core tasks in both portrait and landscape unless the activity itself truly depends on one orientation. [WCAG 1.3.4 Orientation](https://www.w3.org/TR/WCAG21/#orien
  • Network accessline 8
    Users must be able to access the same core content and complete the same core tasks in both portrait and landscape unless the activity itself truly depends on one orientation. [WCAG 1.3.4 Orientation](https://www.w3.org/TR/WCAG21/#orientati
  • Network accessline 66
    The [Understanding document for Orientation](https://www.w3.org/WAI/WCAG21/Understanding/orientation.html) focuses on exactly this problem: many users cannot simply rotate a mounted or assistive-device setup to satisfy an arbitrary layout a
  • Network accessline 99
    Use the [orientation understanding guide](https://www.w3.org/WAI/WCAG21/Understanding/orientation.html) while testing so you are verifying the actual task, not just whether the layout technically rotates.

skills/orphan-pages/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/orphan-pages
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/orphan-pages ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/orphan-pages
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/orphan-pages

skills/orphan-pages/references/rule.md

  • Network accessline 7
    --- An orphan page is a page that exists on your site but receives no internal links from other pages. [Google's crawlable-links guidance](https://developers.google.com/search/docs/crawling-indexing/links-crawlable) explains why discovery t
  • Network accessline 8
    An orphan page is a page that exists on your site but receives no internal links from other pages. [Google's crawlable-links guidance](https://developers.google.com/search/docs/crawling-indexing/links-crawlable) explains why discovery throu
  • Network accessline 26
    **Method 1: [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/)**
  • Network accessline 34
    **Method 3: [Google Search Console](https://search.google.com/search-console)**

skills/page-load-time/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/page-load-time
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/page-load-time ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/page-load-time
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/page-load-time

skills/page-load-time/references/rule.md

  • Network accessline 19
    <head>   <!-- Preconnect to critical origins -->   <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 20
    <!-- Preconnect to critical origins -->   <link rel="preconnect" href="https://fonts.googleapis.com">   <link rel="preconnect" href="https://cdn.example.com" crossorigin>
  • Network accessline 21
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 22
    <link rel="preconnect" href="https://cdn.example.com" crossorigin>

skills/page-weight/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/page-weight
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/page-weight ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/page-weight
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/page-weight

skills/pagination-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/pagination-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/pagination-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/pagination-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/pagination-accessibility

skills/pagination/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/pagination
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/pagination ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/pagination
  • Network accessline 31
    Update canonical tags so each paginated page self-references. For /category?page=2, set <link rel='canonical' href='https://example.com/category?page=2' />. Remove any canonical pointing paginated pages to the first page unless those pages 
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/seo/pagination

skills/pagination/references/rule.md

  • Network accessline 13
    <!-- ❌ WRONG: Paginated pages all canonicalize to page 1 --> <!-- On /products?page=2: --> <link rel="canonical" href="https://example.com/products" />
  • Network accessline 15
    <link rel="canonical" href="https://example.com/products" />
  • Network accessline 17
    <!-- On /products?page=3: --> <link rel="canonical" href="https://example.com/products" />
  • Network accessline 18
    <link rel="canonical" href="https://example.com/products" />
  • Network accessline 25
    Incorrect pagination canonicalization can prevent pages 2, 3, and later pages from being indexed. [Google's pagination guidance](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls#use-case-pagination) mak
  • Network accessline 32
    <!-- On /products (page 1): --> <link rel="canonical" href="https://example.com/products" />
  • Network accessline 33
    <link rel="canonical" href="https://example.com/products" />
  • Network accessline 35
    <!-- On /products?page=2: --> <link rel="canonical" href="https://example.com/products?page=2" />
  • Network accessline 36
    <link rel="canonical" href="https://example.com/products?page=2" />
  • Network accessline 38
    <!-- On /products?page=3: --> <link rel="canonical" href="https://example.com/products?page=3" />
  • Network accessline 39
    <link rel="canonical" href="https://example.com/products?page=3" />
  • Network accessline 62
    const page = parseInt(searchParams.page || '1')   const canonicalUrl = page === 1     ? 'https://example.com/blog'
  • Network accessline 63
    const canonicalUrl = page === 1     ? 'https://example.com/blog'     : `https://example.com/blog?page=${page}`
  • Network accessline 64
    ? 'https://example.com/blog'
  • Network accessline 65
    : `https://example.com/blog?page=${page}`
  • Network accessline 77
    Google announced in March 2019 that they no longer use `rel="prev"` and `rel="next"` link tags as a hint for pagination. The deprecation note in [Google's Search blog](https://developers.google.com/search/blog/2019/09/google-no-longer-suppo
  • Network accessline 80
    <!-- Google ignores these since 2019, but other crawlers may still use them --> <link rel="prev" href="https://example.com/blog?page=1" />
  • Network accessline 81
    <link rel="prev" href="https://example.com/blog?page=1" />
  • Network accessline 82
    <link rel="next" href="https://example.com/blog?page=3" />

skills/parallax-effects/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/parallax-effects
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/parallax-effects ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/parallax-effects
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/parallax-effects

skills/parameters/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/parameters
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/parameters ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/parameters
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/parameters

skills/parameters/references/rule.md

  • Network accessline 19
    <!-- ✅ Canonical strips tracking params --> <link rel="canonical" href="https://example.com/products" />
  • Network accessline 20
    <link rel="canonical" href="https://example.com/products" />
  • Network accessline 28
    <!-- ✅ Canonical points to base category page --> <link rel="canonical" href="https://example.com/shoes" />
  • Network accessline 29
    <link rel="canonical" href="https://example.com/shoes" />
  • Network accessline 31
    <!-- OR self-canonicalize if filtered content is indexable --> <link rel="canonical" href="https://example.com/shoes?color=red&size=10" />
  • Network accessline 32
    <link rel="canonical" href="https://example.com/shoes?color=red&size=10" />
  • Network accessline 40
    <!-- ✅ Each page self-references --> <link rel="canonical" href="https://example.com/blog?page=3" />
  • Network accessline 41
    <link rel="canonical" href="https://example.com/blog?page=3" />
  • Network accessline 55
    Uncontrolled URL parameters generate duplicate content that wastes crawl budget and splits PageRank across URL variants. [Google's URL parameter guidance](https://developers.google.com/search/docs/crawling-indexing/url-parameters) is the ma
  • Network accessline 91
    1. Use Google Search Console → Legacy tools → URL Parameters (if available) 2. Use [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/): Configuration → Spider → Crawl within subfolder, check URLs containing `?`
  • Network accessline 92
    2. Use [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/): Configuration → Spider → Crawl within subfolder, check URLs containing `?`

skills/password-field-security/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/password-field-security
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/password-field-security ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/password-field-security
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/password-field-security

skills/password-field-security/references/rule.md

  • Network accessline 468
    // Only send first 5 chars (k-anonymity)   const response = await fetch(`https://api.pwnedpasswords.com/range/${prefix}`)
  • Network accessline 469
    const response = await fetch(`https://api.pwnedpasswords.com/range/${prefix}`)

skills/paste-inputs/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/paste-inputs
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/paste-inputs ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/paste-inputs
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/paste-inputs

skills/paste-inputs/references/rule.md

  • Network accessline 7
    --- Preventing a user from pasting into an input field is a common but harmful practice. [WCAG's accessible authentication requirement](https://www.w3.org/TR/WCAG22/#accessible-authentication-minimum) and the [MDN paste event reference](htt
  • Network accessline 8
    Preventing a user from pasting into an input field is a common but harmful practice. [WCAG's accessible authentication requirement](https://www.w3.org/TR/WCAG22/#accessible-authentication-minimum) and the [MDN paste event reference](https:/

skills/pdf-size/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/pdf-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/pdf-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/pdf-size
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/pdf-size

skills/pdf-size/references/rule.md

  • Network accessline 13
    # Check a single PDF's size via HTTP header curl -I https://example.com/docs/annual-report.pdf | grep -i content-length
  • Network accessline 14
    curl -I https://example.com/docs/annual-report.pdf | grep -i content-length

skills/performance-budget/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/performance-budget
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/performance-budget ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/performance-budget
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/testing/performance-budget

skills/performance-budget/references/rule.md

  • Network accessline 67
    "ci": {     "collect": {       "url": ["http://localhost:3000", "http://localhost:3000/about"],
  • Network accessline 68
    "collect": {       "url": ["http://localhost:3000", "http://localhost:3000/about"],       "numberOfRuns": 3
  • Network accessline 69
    "url": ["http://localhost:3000", "http://localhost:3000/about"],

skills/performance-resource-hints/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/en/rules/performance/performance-resource-hints
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/en/rules/performance/performance-resource-hints ---
  • Network accessline 10
    url: https://frontendchecklist.io/en/rules/performance/performance-resource-hints
  • Network accessline 45
    Rule page: https://frontendchecklist.io/en/rules/performance/performance-resource-hints

skills/performance-resource-hints/references/rule.md

  • Network accessline 7
    --- Resource hints are useful when the browser would otherwise discover something too late. [web.dev's performance guidance](https://web.dev/learn/performance) and [Patterns.dev preload/prefetch guidance](https://www.patterns.dev/vanilla/pr
  • Network accessline 8
    Resource hints are useful when the browser would otherwise discover something too late. [web.dev's performance guidance](https://web.dev/learn/performance) and [Patterns.dev preload/prefetch guidance](https://www.patterns.dev/vanilla/preloa
  • Network accessline 54
    <head>   <!-- Good: fonts are used in the first viewport -->   <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 55
    <!-- Good: fonts are used in the first viewport -->   <link rel="preconnect" href="https://fonts.googleapis.com">   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 56
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 57
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 59
    <!-- Good: image CDN serves the hero media -->   <link rel="preconnect" href="https://images.example-cdn.com" crossorigin>
  • Network accessline 60
    <link rel="preconnect" href="https://images.example-cdn.com" crossorigin>
  • Network accessline 62
    <!-- Better than preconnect for speculative vendors -->   <link rel="dns-prefetch" href="https://analytics.example.com">
  • Network accessline 63
    <link rel="dns-prefetch" href="https://analytics.example.com">
  • Network accessline 79
    <!-- Bad: speculative origins do not deserve early socket setup -->   <link rel="preconnect" href="https://chat.example.com">
  • Network accessline 80
    <link rel="preconnect" href="https://chat.example.com">
  • Network accessline 81
    <link rel="preconnect" href="https://ads.example.com">
  • Network accessline 82
    <link rel="preconnect" href="https://social.example.com">
  • Network accessline 89
    - **Fewer wasted round-trips**: Preconnect can remove DNS, TCP, and TLS setup from the critical path for a small number of known external origins. - **Smoother follow-up actions**: Prefetch can make the next likely route or interaction feel
  • Network accessline 91
    - **Misuse is expensive**: Every unnecessary preload, prefetch, or preconnect competes with more important work for bandwidth, sockets, and parser attention, which is why [PageSpeed Insights](https://pagespeed.web.dev/) is worth checking af
  • Network accessline 95
    The decision rules matter because [Patterns.dev's prefetch guidance](https://www.patterns.dev/vanilla/prefetch/) and real-world waterfall data both show that hinting the wrong asset early can be worse than adding no hint at all.
  • Network accessline 107
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 113
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 119
    <link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />

skills/permissions-policy/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/permissions-policy
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/permissions-policy ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/permissions-policy
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/permissions-policy

skills/permissions-policy/references/rule.md

  • Network accessline 7
    --- [`Permissions-Policy`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy) (formerly `Feature-Policy`) is an HTTP response header that controls access to browser features and APIs. It applies to the page itself
  • Network accessline 8
    [`Permissions-Policy`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy) (formerly `Feature-Policy`) is an HTTP response header that controls access to browser features and APIs. It applies to the page itself and
  • Network accessline 17
    | `()` | Feature denied for all origins | | `(self)` | Feature allowed only for same-origin | | `("https://trusted.com")` | Feature allowed for this specific origin |
  • Network accessline 18
    | `(self)` | Feature allowed only for same-origin | | `("https://trusted.com")` | Feature allowed for this specific origin | | `(self "https://trusted.com")` | Feature allowed for same-origin and trusted.com |
  • Network accessline 19
    | `("https://trusted.com")` | Feature allowed for this specific origin |
  • Network accessline 20
    | `(self "https://trusted.com")` | Feature allowed for same-origin and trusted.com |
  • Network accessline 47
    The `interest-cohort=()` directive opts your site out of Google's deprecated FLoC tracking API, and [OWASP's security headers guidance](https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html) is a good cross-check for 
  • Network accessline 112
    <!-- Deny all features to this iframe (default with Permissions-Policy: camera=()) --> <iframe src="https://example.com/widget"></iframe>
  • Network accessline 113
    <iframe src="https://example.com/widget"></iframe>
  • Network accessline 115
    <!-- Explicitly allow camera for a video call widget --> <iframe   src="https://video.example.com"
  • Network accessline 116
    <iframe   src="https://video.example.com"   allow="camera 'self' https://video.example.com; microphone 'self' https://video.example.com"
  • Network accessline 117
    src="https://video.example.com"
  • Network accessline 118
    allow="camera 'self' https://video.example.com; microphone 'self' https://video.example.com"
  • Network accessline 121
    <!-- Allow fullscreen for a video player --> <iframe   src="https://player.example.com/embed/123"
  • Network accessline 122
    <iframe   src="https://player.example.com/embed/123"   allow="fullscreen"
  • Network accessline 123
    src="https://player.example.com/embed/123"

skills/physical-address/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/physical-address
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/physical-address ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/physical-address
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/physical-address

skills/physical-address/references/rule.md

  • Network accessline 47
    <div itemscope itemtype="https://schema.org/LocalBusiness">
  • Network accessline 48
    <span itemprop="name">Acme Corporation</span>   <address itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">     <span itemprop="streetAddress">123 Main Street, Suite 4</span><br />
  • Network accessline 49
    <address itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
  • Network accessline 63
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 64
    {   "@context": "https://schema.org",   "@type": "LocalBusiness",
  • Network accessline 65
    "@context": "https://schema.org",

skills/picture-element/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/picture-element
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/picture-element ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/picture-element
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/picture-element

skills/plain-language/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/plain-language
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/plain-language ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/plain-language
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/plain-language

skills/pluralization/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/pluralization
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/pluralization ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/i18n/pluralization
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/i18n/pluralization

skills/pluralization/references/rule.md

  • Network accessline 89
    [react-intl](https://formatjs.io/) uses ICU MessageFormat syntax, which handles plural selection declaratively inside the message string itself. Define all plural variants in the translation file and let the library pick the right one:

skills/preconnect/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/preconnect
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/preconnect ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/preconnect
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/preconnect

skills/preconnect/references/rule.md

  • Network accessline 17
    <!-- Good: first-screen fonts rely on these origins --> <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 18
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 19
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 21
    <!-- Good: hero media comes from a third-party CDN --> <link rel="preconnect" href="https://images.example-cdn.com" crossorigin>
  • Network accessline 22
    <link rel="preconnect" href="https://images.example-cdn.com" crossorigin>
  • Network accessline 28
    <!-- Better than full preconnect when the origin may be used later --> <link rel="dns-prefetch" href="https://analytics.example.com">
  • Network accessline 29
    <link rel="dns-prefetch" href="https://analytics.example.com">
  • Network accessline 30
    <link rel="dns-prefetch" href="https://chat.example.com">
  • Network accessline 36
    <!-- Bad: too many early sockets for vendors not needed in the first view --> <link rel="preconnect" href="https://chat.example.com">
  • Network accessline 37
    <link rel="preconnect" href="https://chat.example.com">
  • Network accessline 38
    <link rel="preconnect" href="https://reviews.example.com">
  • Network accessline 39
    <link rel="preconnect" href="https://ads.example.com">
  • Network accessline 40
    <link rel="preconnect" href="https://social.example.com">
  • Network accessline 65
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse) (check for "preconnect-to-required-origins") - [PageSpeed Insights](https://pagespeed.web.dev/) - Browser DevTools Performance panel (check for early socket connections)
  • Network accessline 66
    - [PageSpeed Insights](https://pagespeed.web.dev/) - Browser DevTools Performance panel (check for early socket connections) - [WebPageTest](https://www.webpagetest.org/) (check the Waterfall chart for early DNS/TCP/TLS)
  • Network accessline 68
    - [WebPageTest](https://www.webpagetest.org/) (check the Waterfall chart for early DNS/TCP/TLS)

skills/privacy-policy/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/privacy-policy
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/privacy-policy ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/privacy/privacy-policy
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 47
    Rule page: https://frontendchecklist.io/rules/privacy/privacy-policy

skills/privacy-policy/references/rule.md

  • Network accessline 103
    https://example.com/privacy
  • Network accessline 104
    https://example.com/privacy-policy
  • Network accessline 105
    https://example.com/legal/privacy
  • Access to secretsline 120
    [Credential-related source omitted]
  • Network accessline 127
    - [iubenda Privacy Policy Generator](https://www.iubenda.com/) — generates compliant policies
  • Network accessline 128
    - [PrivacyPolicies.com](https://privacypolicies.com/) — free generator

skills/product/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/product
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/product ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/product
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/product

skills/product/references/rule.md

  • Network accessline 7
    --- Product schema markup enables Google to display rich results for your product pages, showing price, availability, ratings, and images directly in search results. [Google's product structured data guide](https://developers.google.com/sea
  • Network accessline 8
    Product schema markup enables Google to display rich results for your product pages, showing price, availability, ratings, and images directly in search results. [Google's product structured data guide](https://developers.google.com/search/
  • Network accessline 14
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 15
    {   "@context": "https://schema.org",   "@type": "Product",
  • Network accessline 16
    "@context": "https://schema.org",
  • Network accessline 18
    "name": "Cast Iron Dutch Oven 5.5 Qt",   "image": [     "https://example.com/images/dutch-oven-front.jpg",
  • Network accessline 19
    "image": [     "https://example.com/images/dutch-oven-front.jpg",     "https://example.com/images/dutch-oven-top.jpg"
  • Network accessline 20
    "https://example.com/images/dutch-oven-front.jpg",
  • Network accessline 21
    "https://example.com/images/dutch-oven-top.jpg"
  • Network accessline 30
    "offers": {     "@type": "Offer",     "url": "https://example.com/products/dutch-oven",
  • Network accessline 31
    "@type": "Offer",     "url": "https://example.com/products/dutch-oven",     "priceCurrency": "USD",
  • Network accessline 32
    "url": "https://example.com/products/dutch-oven",
  • Network accessline 34
    "price": 49.99,     "priceValidUntil": "2026-12-31",     "itemCondition": "https://schema.org/NewCondition",
  • Network accessline 35
    "priceValidUntil": "2026-12-31",     "itemCondition": "https://schema.org/NewCondition",     "availability": "https://schema.org/InStock",
  • Network accessline 36
    "itemCondition": "https://schema.org/NewCondition",
  • Network accessline 37
    "availability": "https://schema.org/InStock",
  • Network accessline 87
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 88
    {   "@context": "https://schema.org",   "@type": "Product",
  • Network accessline 89
    "@context": "https://schema.org",
  • Network accessline 98
    Product schema enables Google to show price, availability, ratings, and review count directly in search results. The vocabulary itself comes from [Schema.org Product](https://schema.org/Product), but the page still needs matching visible pr
  • Network accessline 112
    |----------|------|---------| | `name` | Text | `"Cast Iron Dutch Oven 5.5 Qt"` | | `image` | URL or Array | `["https://example.com/oven.jpg"]` |
  • Network accessline 113
    | `name` | Text | `"Cast Iron Dutch Oven 5.5 Qt"` | | `image` | URL or Array | `["https://example.com/oven.jpg"]` | | `description` | Text | Product description |
  • Network accessline 114
    | `image` | URL or Array | `["https://example.com/oven.jpg"]` |
  • Network accessline 117
    | `offers.price` | Number | `49.99` | | `offers.priceCurrency` | Text | `"USD"` | | `offers.availability` | URL | `"https://schema.org/InStock"` |
  • Network accessline 119
    | `offers.availability` | URL | `"https://schema.org/InStock"` |
  • Network accessline 124
    https://schema.org/InStock
  • Network accessline 125
    https://schema.org/OutOfStock
  • Network accessline 126
    https://schema.org/PreOrder
  • Network accessline 127
    https://schema.org/BackOrder
  • Network accessline 128
    https://schema.org/Discontinued
  • Network accessline 138
    const schema = {     '@context': 'https://schema.org',
  • Network accessline 139
    '@context': 'https://schema.org',
  • Network accessline 147
    priceCurrency: 'USD',       availability: product.inStock         ? 'https://schema.org/InStock'
  • Network accessline 148
    availability: product.inStock         ? 'https://schema.org/InStock'         : 'https://schema.org/OutOfStock',
  • Network accessline 149
    ? 'https://schema.org/InStock'
  • Network accessline 150
    : 'https://schema.org/OutOfStock',

skills/progressive-jpeg/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/progressive-jpeg
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/progressive-jpeg ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/progressive-jpeg
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/progressive-jpeg

skills/progressive-jpeg/references/rule.md

  • Network accessline 24
    // Browser check using canvas async function isProgressiveJPEG(url: string): Promise<boolean> {   const response = await fetch(url)
  • Network accessline 25
    async function isProgressiveJPEG(url: string): Promise<boolean> {   const response = await fetch(url)   const buffer = await response.arrayBuffer()
  • Network accessline 26
    const response = await fetch(url)
  • Network accessline 134
    <!-- Cloudinary --> <img src="https://res.cloudinary.com/demo/image/upload/fl_progressive/sample.jpg">
  • Network accessline 135
    <img src="https://res.cloudinary.com/demo/image/upload/fl_progressive/sample.jpg">
  • Network accessline 137
    <!-- Imgix --> <img src="https://example.imgix.net/image.jpg?fm=pjpg">
  • Network accessline 138
    <img src="https://example.imgix.net/image.jpg?fm=pjpg">

skills/pwa-installability/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/pwa-installability
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/pwa-installability ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/pwa-installability
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/pwa-installability

skills/pwa-installability/references/rule.md

  • Network accessline 117
    Use [Maskable.app](https://maskable.app/editor) to preview how your icon looks under each Android shape.
  • Network accessline 187
    - Open DevTools → **Application** → **Manifest** and confirm all required fields are green with no warnings. - Run a **Lighthouse** PWA audit and check that "Installable" criteria all pass. - Use [PWABuilder](https://docs.pwabuilder.com/#/h
  • Network accessline 189
    - Use [PWABuilder](https://docs.pwabuilder.com/#/home/getting-started) to get a detailed installability report and generate store-ready packages.

skills/quality/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/quality
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/quality ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/quality
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/quality

skills/quality/references/rule.md

  • Network accessline 7
    --- Content quality is the most significant long-term SEO factor. [Google's people-first content guidance](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) evaluates whether pages provide genuine value to use
  • Network accessline 8
    Content quality is the most significant long-term SEO factor. [Google's people-first content guidance](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) evaluates whether pages provide genuine value to users, 
  • Network accessline 81
    Per [Google's people-first content guidance](https://developers.google.com/search/docs/fundamentals/creating-helpful-content), ask:

skills/reading-level/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/reading-level
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/reading-level ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/reading-level
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/reading-level

skills/redirect-chain/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/redirect-chain
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/redirect-chain ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/redirect-chain
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/redirect-chain

skills/redirect-chain/references/rule.md

  • Network accessline 25
    Redirect chains waste crawl budget, reduce PageRank flow to destination pages, and add latency that harms user experience. [Google's redirect guidance](https://developers.google.com/search/docs/crawling-indexing/301-redirects) is the best b
  • Network accessline 38
    # -L follows redirects; -I shows headers only; shows each hop curl -L -I -v https://example.com/old-url 2>&1 | grep -E "< HTTP|< Location"
  • Network accessline 39
    curl -L -I -v https://example.com/old-url 2>&1 | grep -E "< HTTP|< Location"
  • Network accessline 41
    # Example chain output: # < HTTP/1.1 301 Moved Permanently # < Location: https://example.com/interim
  • Network accessline 42
    # < HTTP/1.1 301 Moved Permanently # < Location: https://example.com/interim # < HTTP/1.1 301 Moved Permanently
  • Network accessline 43
    # < Location: https://example.com/interim
  • Network accessline 44
    # < HTTP/1.1 301 Moved Permanently # < Location: https://example.com/final # < HTTP/1.1 200 OK
  • Network accessline 45
    # < Location: https://example.com/final
  • Network accessline 49
    **Using [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/):**
  • Network accessline 113
    # Confirm single-hop redirect curl -I https://example.com/products/shoes
  • Network accessline 114
    curl -I https://example.com/products/shoes
  • Network accessline 116
    # Expected output (single hop): # HTTP/1.1 301 Moved Permanently # Location: https://example.com/footwear/shoes
  • Network accessline 118
    # Location: https://example.com/footwear/shoes
  • Network accessline 120
    # Then: curl -I https://example.com/footwear/shoes
  • Network accessline 121
    curl -I https://example.com/footwear/shoes

skills/redirect-chains/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/redirect-chains
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/redirect-chains ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/redirect-chains
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/redirect-chains

skills/redirect-chains/references/rule.md

  • Network accessline 26
    Internal links that point to redirect URLs add latency, waste crawl budget, and pass less PageRank to the destination than a direct link would. [Google's redirect guidance](https://developers.google.com/search/docs/crawling-indexing/301-red
  • Network accessline 30
    **Using [Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/):**
  • Network accessline 37
    # Follow redirects and show each hop curl -L -I https://example.com/old-url 2>&1 | grep -E "HTTP|Location"
  • Network accessline 38
    curl -L -I https://example.com/old-url 2>&1 | grep -E "HTTP|Location"
  • Network accessline 43
    # Problem URL (redirect chain): # HTTP/2 301 # Location: https://example.com/intermediate
  • Network accessline 44
    # HTTP/2 301 # Location: https://example.com/intermediate # HTTP/2 301
  • Network accessline 45
    # Location: https://example.com/intermediate
  • Network accessline 46
    # HTTP/2 301 # Location: https://example.com/new-url # HTTP/2 200
  • Network accessline 47
    # Location: https://example.com/new-url
  • Network accessline 76
    <!-- ❌ Bad: Sitemap entry points to redirect URL --> <url>   <loc>https://example.com/old-category/shoes</loc>
  • Network accessline 77
    <url>   <loc>https://example.com/old-category/shoes</loc> </url>
  • Network accessline 78
    <loc>https://example.com/old-category/shoes</loc>
  • Network accessline 81
    <!-- ✅ Good: Sitemap entry points to final URL --> <url>   <loc>https://example.com/shoes</loc>
  • Network accessline 82
    <url>   <loc>https://example.com/shoes</loc> </url>
  • Network accessline 83
    <loc>https://example.com/shoes</loc>

skills/reduced-motion/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/reduced-motion
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/reduced-motion ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/reduced-motion
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/reduced-motion

skills/redundant-entry/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/redundant-entry
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/redundant-entry ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/redundant-entry
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/redundant-entry

skills/referrer-policy/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/referrer-policy
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/referrer-policy ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/referrer-policy
  • Network accessline 15
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/referrer-policy

skills/referrer-policy/references/rule.md

  • Network accessline 96
    <!-- No referrer for this external link --> <a href="https://external.com" referrerpolicy="no-referrer">External</a>
  • Network accessline 97
    <a href="https://external.com" referrerpolicy="no-referrer">External</a>
  • Network accessline 99
    <!-- Send full URL only to same origin --> <a href="https://partner.com/track" referrerpolicy="origin">Partner</a>
  • Network accessline 100
    <a href="https://partner.com/track" referrerpolicy="origin">Partner</a>
  • Network accessline 102
    <!-- No referrer for this image request --> <img src="https://analytics.example.com/pixel.gif" referrerpolicy="no-referrer">
  • Network accessline 103
    <img src="https://analytics.example.com/pixel.gif" referrerpolicy="no-referrer">
  • Network accessline 108
    [Credential-related source omitted]
  • Network accessline 111
    [Credential-related source omitted]

skills/render-blocking/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/render-blocking
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/render-blocking ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/render-blocking
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/render-blocking

skills/render-blocking/references/rule.md

  • Network accessline 88
    The waterfall matters more than the source code here, so validate the route in [PageSpeed Insights](https://pagespeed.web.dev/) or a browser trace after any change to asset ordering.
  • Network accessline 90
    - [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) (check for "eliminate-render-blocking-resources")
  • Network accessline 91
    - [PageSpeed Insights](https://pagespeed.web.dev/)

skills/reset-css/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/reset-css
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/reset-css ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/reset-css
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/reset-css

skills/reset-css/references/rule.md

  • Network accessline 7
    --- A CSS reset or normalization eliminates browser default styles and provides a consistent foundation for custom styling across all browsers and devices. In practice that usually means reaching for [normalize.css](https://github.com/necol
  • Network accessline 8
    A CSS reset or normalization eliminates browser default styles and provides a consistent foundation for custom styling across all browsers and devices. In practice that usually means reaching for [normalize.css](https://github.com/necolas/n
  • Network accessline 13
    /* http://meyerweb.com/eric/tools/css/reset/
  • Network accessline 424
    /* Modern CSS Reset by Andy Bell */ /* https://piccalil.li/blog/a-modern-css-reset */
  • Network accessline 425
    /* https://piccalil.li/blog/a-modern-css-reset */
  • Network accessline 498
    /* CSS Remedy - A fresh approach to CSS resets */ /* https://github.com/mozdevs/cssremedy */
  • Network accessline 499
    /* https://github.com/mozdevs/cssremedy */
  • Network accessline 679
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/normalize.css@8.0.1/normalize.min.css" />
  • Network accessline 1204
    // Usage const tester = new CSSResetTester() tester.testReset('https://example.com').then(results => {
  • Network accessline 1205
    const tester = new CSSResetTester() tester.testReset('https://example.com').then(results => {   const validation = tester.validateReset(results)
  • Network accessline 1206
    tester.testReset('https://example.com').then(results => {
  • Network accessline 1225
    Choose between [normalize.css](https://github.com/necolas/normalize.css) and [CSS Remedy](https://github.com/jensimmons/cssremedy) based on how much browser default behavior you want to preserve versus flatten.

skills/resource-hints/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/resource-hints
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/resource-hints ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/resource-hints
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/resource-hints

skills/resource-hints/references/rule.md

  • Network accessline 7
    --- Resource hints are useful when the browser would otherwise discover something too late. [web.dev's performance guidance](https://web.dev/learn/performance) and [Patterns.dev preload/prefetch guidance](https://www.patterns.dev/vanilla/pr
  • Network accessline 8
    Resource hints are useful when the browser would otherwise discover something too late. [web.dev's performance guidance](https://web.dev/learn/performance) and [Patterns.dev preload/prefetch guidance](https://www.patterns.dev/vanilla/preloa
  • Network accessline 54
    <head>   <!-- Good: fonts are used in the first viewport -->   <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 55
    <!-- Good: fonts are used in the first viewport -->   <link rel="preconnect" href="https://fonts.googleapis.com">   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 56
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 57
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 59
    <!-- Good: image CDN serves the hero media -->   <link rel="preconnect" href="https://images.example-cdn.com" crossorigin>
  • Network accessline 60
    <link rel="preconnect" href="https://images.example-cdn.com" crossorigin>
  • Network accessline 62
    <!-- Better than preconnect for speculative vendors -->   <link rel="dns-prefetch" href="https://analytics.example.com">
  • Network accessline 63
    <link rel="dns-prefetch" href="https://analytics.example.com">
  • Network accessline 79
    <!-- Bad: speculative origins do not deserve early socket setup -->   <link rel="preconnect" href="https://chat.example.com">
  • Network accessline 80
    <link rel="preconnect" href="https://chat.example.com">
  • Network accessline 81
    <link rel="preconnect" href="https://ads.example.com">
  • Network accessline 82
    <link rel="preconnect" href="https://social.example.com">
  • Network accessline 89
    - **Fewer wasted round-trips**: Preconnect can remove DNS, TCP, and TLS setup from the critical path for a small number of known external origins. - **Smoother follow-up actions**: Prefetch can make the next likely route or interaction feel
  • Network accessline 91
    - **Misuse is expensive**: Every unnecessary preload, prefetch, or preconnect competes with more important work for bandwidth, sockets, and parser attention, which is why [PageSpeed Insights](https://pagespeed.web.dev/) is worth checking af
  • Network accessline 95
    The decision rules matter because [Patterns.dev's prefetch guidance](https://www.patterns.dev/vanilla/prefetch/) and real-world waterfall data both show that hinting the wrong asset early can be worse than adding no hint at all.
  • Network accessline 107
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 113
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 119
    <link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />

skills/responsive-images/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/responsive-images
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/responsive-images ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/responsive-images
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/responsive-images

skills/responsive-size/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/responsive-size
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/responsive-size ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/responsive-size
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/responsive-size

skills/responsive-units/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/responsive-units
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/responsive-units ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/responsive-units
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/responsive-units

skills/retina-display/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/retina-display
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/retina-display ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/retina-display
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/retina-display

skills/review/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/review
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/review ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/review
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/review

skills/review/references/rule.md

  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "Product",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 16
    "@type": "Product",   "name": "Wireless Noise-Cancelling Headphones",   "image": "https://example.com/headphones.jpg",
  • Network accessline 17
    "name": "Wireless Noise-Cancelling Headphones",   "image": "https://example.com/headphones.jpg",   "description": "Premium headphones with 30-hour battery life.",
  • Network accessline 18
    "image": "https://example.com/headphones.jpg",
  • Network accessline 38
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 39
    {   "@context": "https://schema.org",   "@type": "Review",
  • Network accessline 40
    "@context": "https://schema.org",
  • Network accessline 95
    Use [Google's Rich Results Test](https://search.google.com/test/rich-results) to confirm:

skills/right-to-erasure/SKILL.md

  • Network accessline 8
    estimatedTime: "60"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/right-to-erasure
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/right-to-erasure ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/privacy/right-to-erasure
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/privacy/right-to-erasure

skills/right-to-erasure/references/rule.md

  • Network accessline 26
    // 2. Send deletion request to the server       const response = await fetch('/api/account/delete', {
  • Network accessline 27
    const response = await fetch('/api/account/delete', {
  • Access to secretsline 181
    [Credential-related source omitted]

skills/robots-meta-conflict/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/robots-meta-conflict
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/robots-meta-conflict ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/robots-meta-conflict
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/robots-meta-conflict

skills/robots-meta-conflict/references/rule.md

  • Network accessline 7
    --- A robots.txt `Disallow` rule and a `noindex` meta tag serve different purposes. [Google's robots-meta documentation](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag) makes that distinction explicit, which is 
  • Network accessline 8
    A robots.txt `Disallow` rule and a `noindex` meta tag serve different purposes. [Google's robots-meta documentation](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag) makes that distinction explicit, which is why 
  • Network accessline 27
    Pages that appear in search results despite your intention to deindex them are usually blocked in robots.txt. Google cannot read the noindex directive it cannot fetch, so [Google Search Console](https://search.google.com/search-console/abou

skills/robots-meta/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/robots-meta
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/robots-meta ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/robots-meta
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/robots-meta

skills/robots-meta/references/rule.md

  • Network accessline 7
    --- The robots meta tag gives per-page control over indexing and link following, unlike `robots.txt` which operates at the URL path level. [Google's robots-meta guide](https://developers.google.com/search/docs/crawling-indexing/robots-meta-
  • Network accessline 8
    The robots meta tag gives per-page control over indexing and link following, unlike `robots.txt` which operates at the URL path level. [Google's robots-meta guide](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag)
  • Network accessline 30
    An accidental `noindex` on a key landing page silently removes it from search results. Auditing those directives in [Google Search Console](https://search.google.com/search-console/about) is often the quickest way to confirm whether a disap

skills/robots-txt/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/robots-txt
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/robots-txt ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/robots-txt
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/robots-txt

skills/robots-txt/references/rule.md

  • Network accessline 18
    Sitemap: https://www.example.com/sitemap.xml
  • Network accessline 59
    Sitemap: https://www.example.com/sitemap.xml
  • Network accessline 86
    - Use [Google Search Console](https://search.google.com/search-console/about) → Settings → Robots.txt tester - Fetch `/robots.txt` directly in a browser on the production domain
  • Network accessline 88
    - Use `curl -I "$ORIGIN/robots.txt"` against the live host to confirm the production file returns HTTP 200

skills/runtime-validation/SKILL.md

  • Network accessline 1
    --- name: runtime-validation description: "Use when reviewing code that calls fetch(), reads from localStorage, accesses process.env, or processes form submissions without explicitly validating the incoming data shape."
  • Network accessline 2
    name: runtime-validation description: "Use when reviewing code that calls fetch(), reads from localStorage, accesses process.env, or processes form submissions without explicitly validating the incoming data shape." metadata:
  • Network accessline 3
    description: "Use when reviewing code that calls fetch(), reads from localStorage, accesses process.env, or processes form submissions without explicitly validating the incoming data shape."
  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/runtime-validation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/runtime-validation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/runtime-validation
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/runtime-validation

skills/runtime-validation/references/rule.md

  • Network accessline 7
    --- TypeScript types are a compile-time tool. When your code runs in the browser or on a server, every type annotation is gone, which is why libraries like [Zod](https://zod.dev) and [Valibot](https://valibot.dev) exist to validate runtime 
  • Network accessline 8
    TypeScript types are a compile-time tool. When your code runs in the browser or on a server, every type annotation is gone, which is why libraries like [Zod](https://zod.dev) and [Valibot](https://valibot.dev) exist to validate runtime data
  • Network accessline 20
    // ❌ Unsafe: we cast the response to our type without checking async function fetchProduct(id: string): Promise {   const res = await fetch(`/api/products/${id}`)
  • Network accessline 21
    async function fetchProduct(id: string): Promise {   const res = await fetch(`/api/products/${id}`)   const data = await res.json()
  • Network accessline 22
    const res = await fetch(`/api/products/${id}`)
  • Network accessline 34
    TypeScript gives you confidence at compile time, but data from the network, user input, and storage arrives at runtime as raw, untyped values. A backend schema change, a misconfigured API, or malicious input can produce data that does not m
  • Network accessline 53
    // 3. Validate at the boundary async function fetchProduct(id: string): Promise {   const res = await fetch(`/api/products/${id}`)
  • Network accessline 54
    async function fetchProduct(id: string): Promise {   const res = await fetch(`/api/products/${id}`)   if (!res.ok) {
  • Network accessline 55
    const res = await fetch(`/api/products/${id}`)
  • Network accessline 69
    async function fetchProducts(): Promise {   const res = await fetch('/api/products')
  • Network accessline 70
    const res = await fetch('/api/products')
  • Network accessline 188
    1. Search for every `fetch()` call, `JSON.parse()`, and `localStorage.getItem()` in the codebase and confirm each one passes the result through a Zod `.parse()` or `.safeParse()` call before the data is used.
  • Network accessline 189
    2. Verify that TypeScript types for external data are derived with `z.infer<typeof Schema>` or the equivalent [Valibot](https://valibot.dev) output types rather than written separately — duplicate type definitions drift apart over time.

skills/scheduler-yield/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/scheduler-yield
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/scheduler-yield ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/scheduler-yield
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/scheduler-yield

skills/scheduler-yield/references/rule.md

  • Network accessline 66
    The [RAIL performance model](https://web.dev/articles/rail) and the INP metric both treat 50 ms as the budget for a single main-thread task. Tasks that exceed 50 ms appear in the Performance panel as "Long Tasks" (red bar) and directly cont
  • Network accessline 105
    A starting point of **50 items per chunk** works well for lightweight per-item work (e.g. DOM reads, object transformations). For heavier per-item work, reduce to 10–20. Measure in the [Chrome DevTools Performance panel](https://developer.c

skills/schema-noindex-conflict/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/schema-noindex-conflict
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/schema-noindex-conflict ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/schema-noindex-conflict
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/schema-noindex-conflict

skills/schema-noindex-conflict/references/rule.md

  • Network accessline 34
    Investing in rich result schema on pages that are blocked from indexing wastes development effort. [Google's structured data policies](https://developers.google.com/search/docs/appearance/structured-data/sd-policies) make it clear that rich
  • Network accessline 62
    <!-- /products/headphones?color=red --> <link rel="canonical" href="https://example.com/products/headphones">
  • Network accessline 63
    <link rel="canonical" href="https://example.com/products/headphones">
  • Network accessline 72
    <!-- Page is indexable: no noindex, not blocked, self-canonical-url --> <head>   <link rel="canonical" href="https://example.com/products/headphones">
  • Network accessline 73
    <head>   <link rel="canonical" href="https://example.com/products/headphones">   <!-- No noindex meta tag -->
  • Network accessline 74
    <link rel="canonical" href="https://example.com/products/headphones">
  • Network accessline 78
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 79
    {   "@context": "https://schema.org",   "@type": "Product",
  • Network accessline 80
    "@context": "https://schema.org",
  • Network accessline 116
    - Google Search Console → Rich Results: schema-carrying pages should appear here if indexed - [Google Rich Results Test](https://search.google.com/test/rich-results): run it on the live URL. If the tool reports "not indexable," no rich resu
  • Network accessline 117
    - [Google Rich Results Test](https://search.google.com/test/rich-results): run it on the live URL. If the tool reports "not indexable," no rich result will be generated

skills/screen-reader-testing/SKILL.md

  • Network accessline 8
    estimatedTime: "60"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/screen-reader-testing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/screen-reader-testing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/screen-reader-testing
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/screen-reader-testing

skills/screen-reader-testing/references/rule.md

  • Network accessline 7
    --- Automated accessibility testing catches structural issues in the accessibility tree, but cannot verify whether a page is actually usable by someone relying on a screen reader. [WebAIM's testing guide](https://webaim.org/articles/screenr
  • Network accessline 8
    Automated accessibility testing catches structural issues in the accessibility tree, but cannot verify whether a page is actually usable by someone relying on a screen reader. [WebAIM's testing guide](https://webaim.org/articles/screenreade
  • Network accessline 20
    The [ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/) is useful for expected widget behavior, but only a real screen reader session can tell you whether that implementation is actually announced and navigable in context.

skills/scrolljacking/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/scrolljacking
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/scrolljacking ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/scrolljacking
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/scrolljacking

skills/search-input/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/search-input
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/search-input ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/search-input
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/search-input

skills/select-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/select-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/select-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/select-name
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/select-name

skills/semantic-lists/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/semantic-lists
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/semantic-lists ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/semantic-lists
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/semantic-lists

skills/sensory-instructions/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/sensory-instructions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/sensory-instructions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/sensory-instructions
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/sensory-instructions

skills/service-area/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/service-area
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/service-area ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/service-area
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/service-area

skills/service-area/references/rule.md

  • Network accessline 7
    --- Service-area pages help businesses rank for location-based searches in cities where they operate but have no physical address. [Google's doorway-page policy](https://developers.google.com/search/docs/essentials/spam-policies#doorway-pag
  • Network accessline 8
    Service-area pages help businesses rank for location-based searches in cities where they operate but have no physical address. [Google's doorway-page policy](https://developers.google.com/search/docs/essentials/spam-policies#doorway-pages) 
  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "Plumber",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 16
    "@type": "Plumber",   "name": "Acme Plumbing",   "url": "https://acmeplumbing.com",
  • Network accessline 17
    "name": "Acme Plumbing",   "url": "https://acmeplumbing.com",   "telephone": "+15121234567",
  • Network accessline 18
    "url": "https://acmeplumbing.com",
  • Network accessline 48
    Service-area pages allow businesses to rank for geo-modified queries in areas where they have no physical storefront, but thin templated pages are penalised as doorway pages. [Schema.org's `areaServed`](https://schema.org/areaServed) helps 

skills/service-worker/SKILL.md

  • Network accessline 8
    estimatedTime: "60"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/service-worker
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/service-worker ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/service-worker
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/service-worker

skills/service-worker/references/rule.md

  • Network accessline 13
    Registration → Download → Install (pre-cache) → Activate (cleanup) → Fetch (intercept)
  • Network accessline 144
    async function cacheFirst(request: Request): Promise {   try {     const response = await fetch(request)
  • Network accessline 145
    try {     const response = await fetch(request)     const cache = await caches.open(DYNAMIC_CACHE)
  • Network accessline 146
    const response = await fetch(request)
  • Network accessline 173
    [Workbox](https://developer.chrome.com/docs/workbox) eliminates boilerplate and handles cache versioning, expiration, and background sync automatically.

skills/session-cookie-flags/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/session-cookie-flags
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/session-cookie-flags ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/session-cookie-flags
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/security/session-cookie-flags

skills/session-cookie-flags/references/rule.md

  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 162
    [Credential-related source omitted]
  • Network accessline 183
    # Check cookie flags via curl curl -I -s https://example.com/api/login -d '{"email":"test"}' \
  • Network accessline 184
    curl -I -s https://example.com/api/login -d '{"email":"test"}' \
  • Network accessline 208
    - Run `curl -I` on the login endpoint and verify the `Set-Cookie` header includes all three flags.
  • Network accessline 209
    - Use [Mozilla Observatory](https://observatory.mozilla.org/) to scan the site and verify the cookie security score.
  • Access to secretsline 214
    [Credential-related source omitted]

skills/session-timeout-recovery/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/session-timeout-recovery
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/session-timeout-recovery ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/session-timeout-recovery
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/session-timeout-recovery

skills/session-timeout-recovery/references/rule.md

  • Network accessline 7
    --- Authenticated flows should not silently erase work. The [WCAG guidance for timing-adjustable content](https://www.w3.org/WAI/WCAG22/Understanding/timing-adjustable.html) treats warning, recovery, and state preservation as part of the sa
  • Network accessline 8
    Authenticated flows should not silently erase work. The [WCAG guidance for timing-adjustable content](https://www.w3.org/WAI/WCAG22/Understanding/timing-adjustable.html) treats warning, recovery, and state preservation as part of the same u
  • Network accessline 55
    // Good: preserve work before redirecting to re-authenticate async function submitProtectedDraft(formData: Record<string, string>) {   const response = await fetch('/api/secure-submit', {
  • Network accessline 56
    async function submitProtectedDraft(formData: Record<string, string>) {   const response = await fetch('/api/secure-submit', {     method: 'POST',
  • Network accessline 57
    const response = await fetch('/api/secure-submit', {
  • Network accessline 72
    async function resumeDraftAfterLogin(draftId: string) {   const response = await fetch(`/api/drafts/${draftId}`)
  • Network accessline 73
    const response = await fetch(`/api/drafts/${draftId}`)
  • Network accessline 80
    This is not just a convenience issue. The [WCAG guidance around time limits](https://www.w3.org/WAI/WCAG22/Understanding/timing-adjustable.html) is about preventing users from losing the context and data they need to complete a task.
  • Network accessline 102
    [Technique G105](https://www.w3.org/WAI/WCAG21/Techniques/general/G105) is a practical recovery pattern when a session expires during a long task.
  • Network accessline 144
    The [timeouts understanding document](https://www.w3.org/WAI/WCAG21/Understanding/timeouts) is a useful baseline here: the policy reason for a timeout may be legitimate, but that does not remove the need to preserve user control where possi
  • Network accessline 153
    Use the [re-authentication guidance](https://www.w3.org/WAI/WCAG22/Understanding/re-authenticating.html) to verify both the warning behavior and the recovery flow, not just the logout timer itself.

skills/share-buttons/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/share-buttons
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/share-buttons ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/share-buttons
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/share-buttons

skills/share-buttons/references/rule.md

  • Network accessline 7
    --- Social sharing buttons give readers a one-click way to share content to their networks, extending reach beyond organic search. The share endpoints for [X/Twitter](https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/o
  • Network accessline 8
    Social sharing buttons give readers a one-click way to share content to their networks, extending reach beyond organic search. The share endpoints for [X/Twitter](https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/overv
  • Network accessline 15
    <!-- X (Twitter) --> <a   href="https://twitter.com/intent/tweet?text=Article+Title&url=https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 16
    <a   href="https://twitter.com/intent/tweet?text=Article+Title&url=https%3A%2F%2Fexample.com%2Farticle"   target="_blank"
  • Network accessline 17
    href="https://twitter.com/intent/tweet?text=Article+Title&url=https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 24
    <!-- LinkedIn --> <a   href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 25
    <a   href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fexample.com%2Farticle"   target="_blank"
  • Network accessline 26
    href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 33
    <!-- Facebook --> <a   href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 34
    <a   href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fexample.com%2Farticle"   target="_blank"
  • Network accessline 35
    href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 42
    <!-- WhatsApp --> <a   href="https://wa.me/?text=Check%20this%20out%3A%20https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 43
    <a   href="https://wa.me/?text=Check%20this%20out%3A%20https%3A%2F%2Fexample.com%2Farticle"   target="_blank"
  • Network accessline 44
    href="https://wa.me/?text=Check%20this%20out%3A%20https%3A%2F%2Fexample.com%2Farticle"
  • Network accessline 62
    const shareLinks = {   twitter: `https://twitter.com/intent/tweet?text=${pageTitle}&url=${pageUrl}`,
  • Network accessline 63
    twitter: `https://twitter.com/intent/tweet?text=${pageTitle}&url=${pageUrl}`,
  • Network accessline 64
    linkedin: `https://www.linkedin.com/sharing/share-offsite/?url=${pageUrl}`,
  • Network accessline 65
    facebook: `https://www.facebook.com/sharer/sharer.php?u=${pageUrl}`,
  • Network accessline 84
    <meta property="og:title" content="Article Title"> <meta property="og:description" content="A brief description."> <meta property="og:image" content="https://example.com/article-cover.jpg">
  • Network accessline 85
    <meta property="og:description" content="A brief description."> <meta property="og:image" content="https://example.com/article-cover.jpg"> <meta property="og:url" content="https://example.com/article">
  • Network accessline 86
    <meta property="og:image" content="https://example.com/article-cover.jpg">
  • Network accessline 87
    <meta property="og:url" content="https://example.com/article">

skills/sitemap-4xx/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-4xx
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-4xx ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/sitemap-4xx
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/sitemap-4xx

skills/sitemap-4xx/references/rule.md

  • Network accessline 7
    --- A sitemap is a promise to search engines that the listed URLs are live, canonical-url, and indexable. [Google's sitemap best practices](https://developers.google.com/search/docs/crawling-indexing/sitemaps/best-practices) and your broade
  • Network accessline 8
    A sitemap is a promise to search engines that the listed URLs are live, canonical-url, and indexable. [Google's sitemap best practices](https://developers.google.com/search/docs/crawling-indexing/sitemaps/best-practices) and your broader [s
  • Network accessline 13
    <!-- sitemap.xml still references deleted blog posts --> <url><loc>https://example.com/blog/old-post-deleted</loc></url>
  • Network accessline 14
    <url><loc>https://example.com/blog/old-post-deleted</loc></url>
  • Network accessline 15
    <url><loc>https://example.com/blog/moved-to-new-section</loc></url>
  • Network accessline 22
    Including 4XX URLs in a sitemap signals poor site maintenance to Google, wastes crawl budget on non-existent pages, and generates errors in [Google Search Console](https://search.google.com/search-console/about) that can mask real indexing 

skills/sitemap-coverage/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-coverage
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-coverage ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/sitemap-coverage
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/sitemap-coverage

skills/sitemap-coverage/references/rule.md

  • Network accessline 7
    --- Sitemap coverage measures how well your sitemap represents the pages you want indexed. [Google's sitemap best practices](https://developers.google.com/search/docs/crawling-indexing/sitemaps/best-practices) and your [noindex-in-sitemap p
  • Network accessline 8
    Sitemap coverage measures how well your sitemap represents the pages you want indexed. [Google's sitemap best practices](https://developers.google.com/search/docs/crawling-indexing/sitemaps/best-practices) and your [noindex-in-sitemap polic
  • Network accessline 13
    <!-- sitemap.xml includes a noindex page — wrong --> <url>   <loc>https://example.com/thank-you</loc>
  • Network accessline 14
    <url>   <loc>https://example.com/thank-you</loc> </url>
  • Network accessline 15
    <loc>https://example.com/thank-you</loc>
  • Network accessline 28
    Pages absent from the sitemap rely entirely on crawl discovery via links, which can delay indexing of new content, especially on large sites or pages with few inbound links. [Google Search Console](https://search.google.com/search-console/a
  • Network accessline 54
    const posts = await fetchPublishedPosts() // Only published posts   return posts.map(post => ({     url: `https://example.com/blog/${post.slug}`,
  • Network accessline 55
    return posts.map(post => ({     url: `https://example.com/blog/${post.slug}`,     lastModified: post.updatedAt,
  • Network accessline 56
    url: `https://example.com/blog/${post.slug}`,

skills/sitemap-domain/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-domain
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-domain ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/sitemap-domain
  • Network accessline 19
    - Every `<loc>` URL must use the same domain and protocol (`https://www.example.com`) as the sitemap file itself
  • Network accessline 20
    - Cross-domain URLs in a sitemap are ignored by Google - Mixing `http://` and `https://` URLs in one sitemap creates conflicting signals - Mixing `www` and non-`www` variants indicates a canonicalization issue to fix first
  • Network accessline 21
    - Mixing `http://` and `https://` URLs in one sitemap creates conflicting signals
  • Network accessline 30
    Update all `<loc>` URLs to use the canonical-url protocol and hostname. If the site is on `https://www.example.com`, every sitemap URL must start with `https://www.example.com/`. Regenerate and resubmit the sitemap.
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/sitemap-domain

skills/sitemap-domain/references/rule.md

  • Network accessline 14
    <url>   <loc>https://old-domain.com/page</loc>   <!-- Wrong domain — ignored -->
  • Network accessline 15
    <loc>https://old-domain.com/page</loc>   <!-- Wrong domain — ignored -->
  • Network accessline 16
    </url> <url>   <loc>http://www.example.com/page</loc>   <!-- Wrong protocol — inconsistent -->
  • Network accessline 17
    <url>   <loc>http://www.example.com/page</loc>   <!-- Wrong protocol — inconsistent --> </url>
  • Network accessline 18
    <loc>http://www.example.com/page</loc>   <!-- Wrong protocol — inconsistent -->
  • Network accessline 19
    </url> <url>   <loc>https://example.com/page</loc>      <!-- Missing www — canonicalization issue -->
  • Network accessline 20
    <url>   <loc>https://example.com/page</loc>      <!-- Missing www — canonicalization issue --> </url>
  • Network accessline 21
    <loc>https://example.com/page</loc>      <!-- Missing www — canonicalization issue -->
  • Network accessline 31
    - All `<loc>` values must match the domain of the sitemap file itself - All URLs must use the same protocol (`https://`)
  • Network accessline 32
    - All URLs must use the same protocol (`https://`)
  • Network accessline 38
    <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 39
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 40
    <url>     <loc>https://www.example.com/</loc>   </url>
  • Network accessline 41
    <loc>https://www.example.com/</loc>
  • Network accessline 42
    </url>   <url>     <loc>https://www.example.com/about</loc>
  • Network accessline 43
    <url>     <loc>https://www.example.com/about</loc>   </url>
  • Network accessline 44
    <loc>https://www.example.com/about</loc>
  • Network accessline 45
    </url>   <url>     <loc>https://www.example.com/blog/my-post</loc>
  • Network accessline 46
    <url>     <loc>https://www.example.com/blog/my-post</loc>   </url>
  • Network accessline 47
    <loc>https://www.example.com/blog/my-post</loc>
  • Network accessline 74
    module.exports = {   env: {     NEXT_PUBLIC_SITE_URL: 'https://www.example.com',
  • Network accessline 75
    env: {     NEXT_PUBLIC_SITE_URL: 'https://www.example.com',   },
  • Network accessline 76
    NEXT_PUBLIC_SITE_URL: 'https://www.example.com',

skills/sitemap-valid/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-valid
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap-valid ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/sitemap-valid
  • Network accessline 26
    Fetch the sitemap and validate it against the sitemaps.org schema. Check that the `xmlns` attribute is `http://www.sitemaps.org/schemas/sitemap/0.9`, all `<loc>` values are absolute URLs, no file exceeds 50,000 URLs or 50 MB, and special ch
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/sitemap-valid

skills/sitemap-valid/references/rule.md

  • Network accessline 13
    <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 14
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 15
    <url>     <loc>https://www.example.com/page/</loc>     <lastmod>2025-03-01</lastmod>
  • Network accessline 16
    <loc>https://www.example.com/page/</loc>
  • Network accessline 49
    <!-- Correct --> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 50
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 56
    <!-- Wrong — XML parse error --> <loc>https://example.com/search?q=shoes&color=red</loc>
  • Network accessline 57
    <loc>https://example.com/search?q=shoes&color=red</loc>
  • Network accessline 59
    <!-- Correct --> <loc>https://example.com/search?q=shoes&amp;color=red</loc>
  • Network accessline 60
    <loc>https://example.com/search?q=shoes&amp;color=red</loc>
  • Network accessline 69
    <!-- Correct --> <loc>https://www.example.com/about</loc>
  • Network accessline 70
    <loc>https://www.example.com/about</loc>
  • Network accessline 78
    <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 79
    <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 80
    <sitemap>     <loc>https://www.example.com/sitemap-1.xml</loc>   </sitemap>
  • Network accessline 81
    <loc>https://www.example.com/sitemap-1.xml</loc>
  • Network accessline 82
    </sitemap>   <sitemap>     <loc>https://www.example.com/sitemap-2.xml</loc>
  • Network accessline 83
    <sitemap>     <loc>https://www.example.com/sitemap-2.xml</loc>   </sitemap>
  • Network accessline 84
    <loc>https://www.example.com/sitemap-2.xml</loc>
  • Network accessline 91
    - [Google Search Console](https://search.google.com/search-console/about) → Sitemaps (shows processing errors)
  • Network accessline 92
    - [XML Sitemap Validator](https://www.xml-sitemaps.com/validate-xml-sitemap.html)

skills/sitemap/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/sitemap ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/sitemap
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/sitemap

skills/sitemap/references/rule.md

  • Network accessline 13
    <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 14
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 15
    <url>     <loc>https://example.com/</loc>     <lastmod>2024-01-15</lastmod>
  • Network accessline 16
    <loc>https://example.com/</loc>
  • Network accessline 20
    </url>   <url>     <loc>https://example.com/about</loc>
  • Network accessline 21
    <url>     <loc>https://example.com/about</loc>     <lastmod>2024-01-10</lastmod>
  • Network accessline 22
    <loc>https://example.com/about</loc>
  • Network accessline 48
    const baseUrl = 'https://example.com'
  • Network accessline 88
    <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 89
    <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Network accessline 90
    <sitemap>     <loc>https://example.com/sitemap-pages.xml</loc>     <lastmod>2024-01-15</lastmod>
  • Network accessline 91
    <loc>https://example.com/sitemap-pages.xml</loc>
  • Network accessline 93
    </sitemap>   <sitemap>     <loc>https://example.com/sitemap-products.xml</loc>
  • Network accessline 94
    <sitemap>     <loc>https://example.com/sitemap-products.xml</loc>     <lastmod>2024-01-14</lastmod>
  • Network accessline 95
    <loc>https://example.com/sitemap-products.xml</loc>
  • Network accessline 97
    </sitemap>   <sitemap>     <loc>https://example.com/sitemap-blog.xml</loc>
  • Network accessline 98
    <sitemap>     <loc>https://example.com/sitemap-blog.xml</loc>     <lastmod>2024-01-13</lastmod>
  • Network accessline 99
    <loc>https://example.com/sitemap-blog.xml</loc>
  • Network accessline 116
    id: number }): Promise ({     url: `https://example.com/products/${product.slug}`,
  • Network accessline 117
    }): Promise ({     url: `https://example.com/products/${product.slug}`,     lastModified: product.updatedAt,
  • Network accessline 118
    url: `https://example.com/products/${product.slug}`,
  • Network accessline 141
    Sitemap: https://example.com/sitemap.xml
  • Network accessline 147
    <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  • Network accessline 148
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  • Network accessline 149
    xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  • Network accessline 150
    <url>     <loc>https://example.com/products/widget</loc>     <image:image>
  • Network accessline 151
    <loc>https://example.com/products/widget</loc>
  • Network accessline 152
    <image:image>       <image:loc>https://example.com/images/widget.jpg</image:loc>       <image:title>Widget Product Photo</image:title>
  • Network accessline 153
    <image:loc>https://example.com/images/widget.jpg</image:loc>
  • Network accessline 155
    </image:image>     <image:image>       <image:loc>https://example.com/images/widget-side.jpg</image:loc>
  • Network accessline 156
    <image:image>       <image:loc>https://example.com/images/widget-side.jpg</image:loc>       <image:title>Widget Side View</image:title>
  • Network accessline 157
    <image:loc>https://example.com/images/widget-side.jpg</image:loc>
  • Network accessline 167
    # Google Search Console # 1. Go to https://search.google.com/search-console
  • Network accessline 168
    # 1. Go to https://search.google.com/search-console
  • Network accessline 173
    # Bing Webmaster Tools # 1. Go to https://www.bing.com/webmasters
  • Network accessline 174
    # 1. Go to https://www.bing.com/webmasters
  • Network accessline 177
    # Programmatic submission (ping) curl "https://www.google.com/ping?sitemap=https://example.com/sitemap.xml"
  • Network accessline 178
    curl "https://www.google.com/ping?sitemap=https://example.com/sitemap.xml"
  • Network accessline 179
    curl "https://www.bing.com/ping?sitemap=https://example.com/sitemap.xml"

skills/skip-link/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/skip-link
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/skip-link ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/skip-link
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/skip-link

skills/skip-navigation/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/skip-navigation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/skip-navigation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/skip-navigation
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/skip-navigation

skills/slug-keywords/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/slug-keywords
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/slug-keywords ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/slug-keywords
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/slug-keywords

skills/slug-keywords/references/rule.md

  • Network accessline 21
    Descriptive URL slugs help users and search engines understand page content before visiting. [Google's URL structure guidance](https://developers.google.com/search/docs/crawling-indexing/url-structure) treats those words as a lightweight re

skills/social-profiles/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/social-profiles
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/social-profiles ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/social-profiles
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/social-profiles

skills/social-profiles/references/rule.md

  • Network accessline 7
    --- Linking to your organization's social media profiles helps search engines connect your website to your brand entity across the web. [Schema.org's `sameAs`](https://schema.org/sameAs) and [Organization structured data](https://developers
  • Network accessline 8
    Linking to your organization's social media profiles helps search engines connect your website to your brand entity across the web. [Schema.org's `sameAs`](https://schema.org/sameAs) and [Organization structured data](https://developers.goo
  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "Organization",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 16
    "@type": "Organization",   "name": "Acme Inc.",   "url": "https://www.acme.com",
  • Network accessline 17
    "name": "Acme Inc.",   "url": "https://www.acme.com",   "logo": "https://www.acme.com/logo.png",
  • Network accessline 18
    "url": "https://www.acme.com",
  • Network accessline 19
    "logo": "https://www.acme.com/logo.png",
  • Network accessline 20
    "sameAs": [     "https://www.linkedin.com/company/acme-inc",     "https://twitter.com/AcmeInc",
  • Network accessline 21
    "https://www.linkedin.com/company/acme-inc",
  • Network accessline 22
    "https://twitter.com/AcmeInc",
  • Network accessline 23
    "https://www.facebook.com/AcmeInc",
  • Network accessline 24
    "https://www.youtube.com/@AcmeInc",
  • Network accessline 25
    "https://github.com/acme-inc"
  • Network accessline 38
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 39
    {   "@context": "https://schema.org",   "@type": "Person",
  • Network accessline 40
    "@context": "https://schema.org",
  • Network accessline 41
    "@type": "Person",   "name": "Jane Smith",   "url": "https://janesmith.dev",
  • Network accessline 42
    "name": "Jane Smith",   "url": "https://janesmith.dev",   "sameAs": [
  • Network accessline 43
    "url": "https://janesmith.dev",
  • Network accessline 44
    "sameAs": [     "https://twitter.com/janesmith",     "https://www.linkedin.com/in/janesmith",
  • Network accessline 45
    "https://twitter.com/janesmith",
  • Network accessline 46
    "https://www.linkedin.com/in/janesmith",
  • Network accessline 47
    "https://github.com/janesmith"
  • Network accessline 56
    <footer>   <nav aria-label="Social media profiles">     <a href="https://www.linkedin.com/company/acme" rel="noopener" target="_blank">
  • Network accessline 57
    <nav aria-label="Social media profiles">     <a href="https://www.linkedin.com/company/acme" rel="noopener" target="_blank">       LinkedIn
  • Network accessline 58
    <a href="https://www.linkedin.com/company/acme" rel="noopener" target="_blank">
  • Network accessline 59
    LinkedIn     </a>     <a href="https://twitter.com/AcmeInc" rel="noopener" target="_blank">
  • Network accessline 60
    </a>     <a href="https://twitter.com/AcmeInc" rel="noopener" target="_blank">       X (Twitter)
  • Network accessline 61
    <a href="https://twitter.com/AcmeInc" rel="noopener" target="_blank">
  • Network accessline 62
    X (Twitter)     </a>     <a href="https://www.facebook.com/AcmeInc" rel="noopener" target="_blank">
  • Network accessline 63
    </a>     <a href="https://www.facebook.com/AcmeInc" rel="noopener" target="_blank">       Facebook
  • Network accessline 64
    <a href="https://www.facebook.com/AcmeInc" rel="noopener" target="_blank">

skills/source-maps/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/source-maps
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/source-maps ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/source-maps
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/source-maps

skills/source-maps/references/rule.md

  • Network accessline 54
    Keep source-map verification tied to the real error-reporting path, because [Sentry’s source map docs](https://docs.sentry.io/platforms/javascript/sourcemaps/) or your tracker’s upload flow matter more than whether the map file exists local
  • Network accessline 56
    - [Sentry Source Map Documentation](https://docs.sentry.io/platforms/javascript/sourcemaps/)

skills/special-chars/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/special-chars
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/special-chars ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/special-chars
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/special-chars

skills/special-chars/references/rule.md

  • Network accessline 7
    --- URL characters fall into two categories in [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986): **unreserved** characters are safe as-is, while **reserved** characters have special meaning and must be encoded when used literally i
  • Network accessline 8
    URL characters fall into two categories in [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986): **unreserved** characters are safe as-is, while **reserved** characters have special meaning and must be encoded when used literally in pa
  • Network accessline 18
    Special characters in URL paths cause inconsistent crawling, broken links when shared, and canonicalization failures when different systems encode them differently. [MDN's percent-encoding reference](https://developer.mozilla.org/en-US/docs

skills/specificity-management/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/specificity-management
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/specificity-management ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/specificity-management
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/specificity-management

skills/speculation-rules/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/speculation-rules
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/speculation-rules ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/speculation-rules
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/speculation-rules

skills/speculation-rules/references/rule.md

  • Network accessline 201
    Keep speculation conservative and follow [MDN's Speculation Rules API guidance](https://developer.mozilla.org/en-US/docs/Web/API/Speculation_Rules_API), because prerendering the wrong destination can waste bandwidth or trigger side effects 

skills/sprite-generation/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/sprite-generation
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/sprite-generation ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/sprite-generation
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/sprite-generation

skills/sprite-generation/references/rule.md

  • Network accessline 56
    <!-- SVG sprite file (icons.svg) --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  • Network accessline 57
    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  • Network accessline 139
    return (     <svg       xmlns="http://www.w3.org/2000/svg"
  • Network accessline 140
    <svg       xmlns="http://www.w3.org/2000/svg"       style={{ position: 'absolute', width: 0, height: 0 }}
  • Network accessline 141
    xmlns="http://www.w3.org/2000/svg"

skills/srcset/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/srcset
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/srcset ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/srcset
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/srcset

skills/srcset/references/rule.md

  • Network accessline 182
    - Run Lighthouse — "Use responsive images" and "Properly size images" audits flag missing srcset - Use [RespImageLint](https://ausi.github.io/respimagelint/) bookmarklet — reports which srcset candidate the browser selected vs what was opti
  • Network accessline 183
    - Use [RespImageLint](https://ausi.github.io/respimagelint/) bookmarklet — reports which srcset candidate the browser selected vs what was optimal

skills/stack-trace-exposure/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/stack-trace-exposure
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/stack-trace-exposure ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/stack-trace-exposure
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/security/stack-trace-exposure

skills/stack-trace-exposure/references/rule.md

  • Network accessline 7
    --- When something goes wrong on the server, the full error detail is essential for debugging, but the [OWASP Error Handling Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Error_Handling_Cheat_Sheet.html) is explicit that it be
  • Network accessline 8
    When something goes wrong on the server, the full error detail is essential for debugging, but the [OWASP Error Handling Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Error_Handling_Cheat_Sheet.html) is explicit that it belong
  • Network accessline 30
    Stack traces reveal file paths, function names, library versions, and sometimes database schema or configuration details. An attacker uses this information to identify the exact version of a framework or ORM, look up known CVEs for that ver
  • Network accessline 254
    1. Trigger a deliberate 500 error in production (or a production-like staging environment) and confirm the response body contains only a generic message and a correlation ID — no stack, no file paths. 2. Search the codebase for patterns lik
  • Network accessline 255
    2. Search the codebase for patterns like `res.json(error)`, `res.send(err.stack)`, and `JSON.stringify(error)` in route handlers, and confirm each is guarded in the way the [OWASP Error Handling Cheat Sheet](https://cheatsheetseries.owasp.o

skills/stop-words/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/stop-words
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/stop-words ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/stop-words
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/stop-words

skills/stop-words/references/rule.md

  • Network accessline 7
    --- Stop words are common function words that carry little semantic weight: articles (a, an, the), prepositions (of, in, for, to, on), and conjunctions (and, but, or). In URL slugs, they add length without improving relevance signals, so th
  • Network accessline 8
    Stop words are common function words that carry little semantic weight: articles (a, an, the), prepositions (of, in, for, to, on), and conjunctions (and, but, or). In URL slugs, they add length without improving relevance signals, so this r

skills/streaming-html/SKILL.md

  • Network accessline 8
    estimatedTime: "45"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/streaming-html
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/streaming-html ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/streaming-html
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/streaming-html

skills/streaming-html/references/rule.md

  • Network accessline 224
    Use [WebPageTest](https://www.webpagetest.org/) or an equivalent waterfall trace to confirm the shell HTML actually arrives before the slow data completes, because streaming only helps when the browser receives and starts parsing that first

skills/structured-data/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/structured-data
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/structured-data ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/structured-data
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/structured-data

skills/structured-data/references/rule.md

  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "Product",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 17
    "name": "Executive Widget",   "description": "Premium quality widget for professionals",   "image": "https://example.com/images/widget.jpg",
  • Network accessline 18
    "description": "Premium quality widget for professionals",   "image": "https://example.com/images/widget.jpg",   "offers": {
  • Network accessline 19
    "image": "https://example.com/images/widget.jpg",
  • Network accessline 22
    "price": "49.99",     "priceCurrency": "USD",     "availability": "https://schema.org/InStock"
  • Network accessline 23
    "priceCurrency": "USD",     "availability": "https://schema.org/InStock"   }
  • Network accessline 24
    "availability": "https://schema.org/InStock"
  • Network accessline 67
    }: ArticleSchemaProps) {   const schema = {     '@context': 'https://schema.org',
  • Network accessline 68
    const schema = {     '@context': 'https://schema.org',     '@type': 'Article',
  • Network accessline 69
    '@context': 'https://schema.org',
  • Network accessline 83
    logo: {         '@type': 'ImageObject',         url: 'https://example.com/logo.png',
  • Network accessline 84
    '@type': 'ImageObject',         url: 'https://example.com/logo.png',       },
  • Network accessline 85
    url: 'https://example.com/logo.png',
  • Network accessline 129
    }: ProductSchemaProps) {   const schema: any = {     '@context': 'https://schema.org',
  • Network accessline 130
    const schema: any = {     '@context': 'https://schema.org',     '@type': 'Product',
  • Network accessline 131
    '@context': 'https://schema.org',
  • Network accessline 140
    price: price.toFixed(2),       priceCurrency: currency,       availability: `https://schema.org/${availability}`,
  • Network accessline 141
    priceCurrency: currency,       availability: `https://schema.org/${availability}`,     },
  • Network accessline 142
    availability: `https://schema.org/${availability}`,
  • Network accessline 171
    const schema = {     '@context': 'https://schema.org',
  • Network accessline 172
    '@context': 'https://schema.org',
  • Network accessline 201
    const schema = {     '@context': 'https://schema.org',
  • Network accessline 202
    '@context': 'https://schema.org',
  • Network accessline 225
    const schema = {     '@context': 'https://schema.org',
  • Network accessline 226
    '@context': 'https://schema.org',
  • Network accessline 227
    '@type': 'Organization',     name: 'Example Company',     url: 'https://example.com',
  • Network accessline 228
    name: 'Example Company',     url: 'https://example.com',     logo: 'https://example.com/logo.png',
  • Network accessline 229
    url: 'https://example.com',
  • Network accessline 230
    logo: 'https://example.com/logo.png',
  • Network accessline 235
    },     sameAs: [       'https://twitter.com/example',
  • Network accessline 236
    sameAs: [       'https://twitter.com/example',       'https://www.linkedin.com/company/example',
  • Network accessline 237
    'https://twitter.com/example',
  • Network accessline 238
    'https://www.linkedin.com/company/example',
  • Network accessline 239
    'https://github.com/example',
  • Network accessline 284
    - Use [Google Rich Results Test](https://search.google.com/test/rich-results)

skills/styles-lint/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/styles-lint
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/styles-lint ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/styles-lint
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/styles-lint

skills/subgrid/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/subgrid
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/subgrid ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/subgrid
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/subgrid

skills/subgrid/references/rule.md

  • Network accessline 7
    --- [CSS subgrid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Subgrid) allows a nested grid container to inherit the track definitions of its parent grid. The [web.dev subgrid guide](https://web.dev/articles/css-subgrid
  • Network accessline 8
    [CSS subgrid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Subgrid) allows a nested grid container to inherit the track definitions of its parent grid. The [web.dev subgrid guide](https://web.dev/articles/css-subgrid) is
  • Network accessline 181
    Use [`Can I Use`](https://caniuse.com/css-subgrid) and `@supports` to provide a fallback for older environments if needed:
  • Network accessline 208
    Use the [MDN subgrid guide](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Subgrid) and [`Can I Use`](https://caniuse.com/css-subgrid) as the baseline when checking alignment across browsers.

skills/subresource-integrity/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/subresource-integrity
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/subresource-integrity ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/subresource-integrity
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/subresource-integrity

skills/subresource-integrity/references/rule.md

  • Network accessline 12
    <!-- ✅ Script with SRI --> <script   src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"
  • Network accessline 13
    <script   src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"   integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs"
  • Network accessline 14
    src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"
  • Network accessline 20
    <link   rel="stylesheet"   href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css"
  • Network accessline 21
    rel="stylesheet"   href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css"   integrity="sha512-NhSC1YmyruXifcj/KFRWoC561YpHpc5Jtzgvbuzx5VozKpWvQ+4nXholtQVC+W5F5HFE2H7seCPUZOHkG8J0g=="
  • Network accessline 22
    href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css"
  • Network accessline 40
    # Or from a URL curl -s https://cdn.example.com/lib.js | openssl dgst -sha384 -binary | openssl base64 -A
  • Network accessline 41
    curl -s https://cdn.example.com/lib.js | openssl dgst -sha384 -binary | openssl base64 -A
  • Network accessline 50
    <!-- Provide multiple hashes for forward compatibility --> <script   src="https://cdn.example.com/app.js"
  • Network accessline 51
    <script   src="https://cdn.example.com/app.js"   integrity="sha256-abc123... sha384-xyz789..."
  • Network accessline 52
    src="https://cdn.example.com/app.js"
  • Network accessline 92
    <!-- From cdnjs.cloudflare.com — hash provided by the CDN --> <script   src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"
  • Network accessline 93
    <script   src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"   integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ=="
  • Network accessline 94
    src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"

skills/svg-inline/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/svg-inline
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/svg-inline ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/svg-inline
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/svg-inline

skills/svg-inline/references/rule.md

  • Network accessline 12
    <!-- ❌ Bad: Unoptimised inline SVG with editor artefacts --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  • Network accessline 13
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  • Network accessline 22
    <!-- ✅ Good: SVGO-optimised inline SVG --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
  • Network accessline 23
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
  • Network accessline 69
    <!-- sprites.svg — referenced once, hidden from view --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  • Network accessline 70
    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">

skills/svg-optimization/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/svg-optimization
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/svg-optimization ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/svg-optimization
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/svg-optimization

skills/svg-optimization/references/rule.md

  • Network accessline 151
    1. Go to https://jakearchibald.github.io/svgomg/
  • Network accessline 162
    <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 26.0.0 --> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
  • Network accessline 163
    <!-- Generator: Adobe Illustrator 26.0.0 --> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"      xmlns:xlink="http://www.w3.org/1999/xlink"
  • Network accessline 164
    <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
  • Network accessline 165
    xmlns:xlink="http://www.w3.org/1999/xlink"
  • Network accessline 175
    <!-- After: Optimized --> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  • Network accessline 176
    <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">

skills/tabindex/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/tabindex
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/tabindex ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/tabindex
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/tabindex

skills/table-duplicate-name/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/table-duplicate-name
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/table-duplicate-name ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/table-duplicate-name
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/table-duplicate-name

skills/table-headers/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/table-headers
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/table-headers ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/table-headers
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/table-headers

skills/tabs-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/tabs-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/tabs-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/tabs-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/tabs-accessibility

skills/td-headers-attr/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/td-headers-attr
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/td-headers-attr ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/td-headers-attr
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/td-headers-attr

skills/tel-mailto/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/tel-mailto
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/tel-mailto ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/tel-mailto
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/tel-mailto

skills/tel-mailto/references/rule.md

  • Network accessline 7
    --- The `tel:` and `mailto:` URI schemes are standard HTML link types that invoke native device capabilities such as the phone dialer and email client. [RFC 3966](https://www.rfc-editor.org/info/rfc3966/) defines the `tel:` syntax, and the 
  • Network accessline 8
    The `tel:` and `mailto:` URI schemes are standard HTML link types that invoke native device capabilities such as the phone dialer and email client. [RFC 3966](https://www.rfc-editor.org/info/rfc3966/) defines the `tel:` syntax, and the same
  • Network accessline 45
    On mobile devices, `tel:` and `mailto:` links trigger the native phone dialer and email client with one tap; plain-text contact info forces copy-paste and measurably reduces contact conversion rates. [MDN's tel-link reference](https://devel

skills/terms-of-service/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/terms-of-service
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/terms-of-service ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/terms-of-service
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/terms-of-service

skills/terms-of-service/references/rule.md

  • Network accessline 7
    --- Terms of Service (ToS), also called Terms and Conditions or Terms of Use, define the legal relationship between your service and its users. They sit alongside disclosures users reasonably need before acting, which is why both the [FTC d
  • Network accessline 8
    Terms of Service (ToS), also called Terms and Conditions or Terms of Use, define the legal relationship between your service and its users. They sit alongside disclosures users reasonably need before acting, which is why both the [FTC discl
  • Network accessline 99
    https://example.com/terms
  • Network accessline 100
    https://example.com/terms-of-service
  • Network accessline 101
    https://example.com/legal/terms

skills/test-coverage/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/test-coverage
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/test-coverage ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/test-coverage
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/test-coverage

skills/text-expansion/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/text-expansion
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/i18n/text-expansion ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/i18n/text-expansion
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/i18n/text-expansion

skills/text-in-images/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/text-in-images
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/text-in-images ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/text-in-images
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/text-in-images

skills/text-resizing/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/text-resizing
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/text-resizing ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/text-resizing
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/text-resizing

skills/text-resizing/references/rule.md

  • Network accessline 7
    --- Text must be resizable to 200% without loss of content or functionality for users with low vision. [WCAG 1.4.4 Resize Text](https://www.w3.org/TR/WCAG21/#resize-text), its [Understanding document](https://www.w3.org/WAI/WCAG21/Understan
  • Network accessline 8
    Text must be resizable to 200% without loss of content or functionality for users with low vision. [WCAG 1.4.4 Resize Text](https://www.w3.org/TR/WCAG21/#resize-text), its [Understanding document](https://www.w3.org/WAI/WCAG21/Understanding

skills/th-has-data-cells/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/th-has-data-cells
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/th-has-data-cells ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/th-has-data-cells
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/accessibility/th-has-data-cells

skills/third-party-cookies/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/third-party-cookies
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/privacy/third-party-cookies ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/privacy/third-party-cookies
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/privacy/third-party-cookies

skills/third-party-cookies/references/rule.md

  • Access to secretsline 15
    [Credential-related source omitted]
  • Network accessline 43
    ### curl Audit
  • Network accessline 46
    # Check for Set-Cookie headers from a page's resources curl -sI https://tracker.example.com/pixel.gif | grep -i set-cookie
  • Network accessline 47
    curl -sI https://tracker.example.com/pixel.gif | grep -i set-cookie
  • Network accessline 77
    <!-- Plausible Analytics — no cookies, no cross-site tracking --> <script defer data-domain="example.com" src="https://plausible.io/js/script.js"></script>
  • Network accessline 78
    <script defer data-domain="example.com" src="https://plausible.io/js/script.js"></script>
  • Network accessline 80
    <!-- Fathom Analytics — GDPR compliant, no cookies --> <script src="https://cdn.usefathom.com/script.js" data-site="ABCDEFGH" defer></script>
  • Network accessline 81
    <script src="https://cdn.usefathom.com/script.js" data-site="ABCDEFGH" defer></script>
  • Network accessline 87
    ❌ Sets third-party tracking cookies <iframe src="https://www.youtube.com/embed/VIDEO_ID"></iframe>
  • Network accessline 88
    <iframe src="https://www.youtube.com/embed/VIDEO_ID"></iframe>
  • Network accessline 90
    ✅ Privacy-enhanced mode — no tracking cookies until play <iframe src="https://www.youtube-nocookie.com/embed/VIDEO_ID"></iframe>
  • Network accessline 91
    <iframe src="https://www.youtube-nocookie.com/embed/VIDEO_ID"></iframe>

skills/third-party-scripts/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/third-party-scripts
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/third-party-scripts ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/third-party-scripts
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/third-party-scripts

skills/third-party-scripts/references/rule.md

  • Network accessline 16
    <!-- Bad: parser-blocking third parties --> <head>   <script src="https://analytics.example.com/track.js"></script>
  • Network accessline 17
    <head>   <script src="https://analytics.example.com/track.js"></script>   <script src="https://chat.example.com/widget.js"></script>
  • Network accessline 18
    <script src="https://analytics.example.com/track.js"></script>
  • Network accessline 19
    <script src="https://chat.example.com/widget.js"></script>
  • Network accessline 20
    <script src="https://reviews.example.com/embed.js"></script>
  • Network accessline 23
    <!-- Better: independent scripts do not block parsing --> <head>   <script src="https://analytics.example.com/track.js" async></script>
  • Network accessline 24
    <head>   <script src="https://analytics.example.com/track.js" async></script>   <script src="https://reviews.example.com/embed.js" defer></script>
  • Network accessline 25
    <script src="https://analytics.example.com/track.js" async></script>
  • Network accessline 26
    <script src="https://reviews.example.com/embed.js" defer></script>
  • Network accessline 42
    const script = document.createElement('script')   script.src = 'https://chat.example.com/widget.js'
  • Network accessline 43
    script.src = 'https://chat.example.com/widget.js'
  • Network accessline 62
    iframe.width = '560'   iframe.height = '315'   iframe.src = `https://www.youtube.com/embed/${target.dataset.videoId}?autoplay=1`
  • Network accessline 63
    iframe.height = '315'   iframe.src = `https://www.youtube.com/embed/${target.dataset.videoId}?autoplay=1`   iframe.title = 'Product demo'
  • Network accessline 64
    iframe.src = `https://www.youtube.com/embed/${target.dataset.videoId}?autoplay=1`
  • Network accessline 109
    Use [PageSpeed Insights](https://pagespeed.web.dev/) or a trace to decide which vendors really belong in the initial route, because the right strategy depends on the measured cost of each script, not just on how important the integration fe
  • Network accessline 150
    Re-check the page with [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/) or a third-party-code trace after every vendor change so you can confirm the route actually got lighter.

skills/title-unique/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/title-unique
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/title-unique ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/title-unique
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/title-unique

skills/title-unique/references/rule.md

  • Network accessline 7
    --- The `<title>` tag is the primary on-page signal for what a page is about. [Google's title link guidance](https://developers.google.com/search/docs/appearance/title-link) makes it clear that duplicate titles tell search engines multiple 
  • Network accessline 8
    The `<title>` tag is the primary on-page signal for what a page is about. [Google's title link guidance](https://developers.google.com/search/docs/appearance/title-link) makes it clear that duplicate titles tell search engines multiple page
  • Network accessline 28
    Duplicate titles prevent Google from determining which page is the authoritative result for a given query, splitting ranking signals and reducing total organic visibility. They also make it harder to write a strong [page title strategy](/en

skills/token-storage-security/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/token-storage-security
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/token-storage-security ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/token-storage-security
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/token-storage-security

skills/token-storage-security/references/rule.md

  • Network accessline 7
    --- Where you store authentication credentials determines your entire XSS attack surface. [HTTP cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies) and browser storage APIs do not offer the same guarantees, and the [OWASP Se
  • Network accessline 8
    [Credential-related source omitted]
  • Access to secretsline 8
    [Credential-related source omitted]
  • Network accessline 11
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 107
    [Credential-related source omitted]
  • Access to secretsline 126
    [Credential-related source omitted]
  • Access to secretsline 140
    [Credential-related source omitted]
  • Access to secretsline 189
    [Credential-related source omitted]
  • Network accessline 206
    await fetch('/api/transfer', {
  • Access to secretsline 231
    [Credential-related source omitted]

skills/touch-targets/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/touch-targets
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/touch-targets ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/touch-targets
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/touch-targets

skills/touch-targets/references/rule.md

  • Network accessline 7
    --- Touch targets are the portions of the screen that respond to user input. [WCAG 2.2 Target Size (Minimum)](https://www.w3.org/TR/WCAG22/#target-size-minimum), the older [WCAG 2.5.5 target size guidance](https://www.w3.org/TR/WCAG21/#targ
  • Network accessline 8
    Touch targets are the portions of the screen that respond to user input. [WCAG 2.2 Target Size (Minimum)](https://www.w3.org/TR/WCAG22/#target-size-minimum), the older [WCAG 2.5.5 target size guidance](https://www.w3.org/TR/WCAG21/#target-s
  • Network accessline 72
    This pattern still needs to satisfy [WCAG 2.5.8 Target Size (Minimum)](https://www.w3.org/TR/WCAG22/#target-size-minimum), so the stretched clickable area should be intentional rather than visually implied.

skills/trailing-slash/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/trailing-slash
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/trailing-slash ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/trailing-slash
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/trailing-slash

skills/trailing-slash/references/rule.md

  • Network accessline 71
    <!-- On https://example.com/about (preferred) -->
  • Network accessline 72
    <link rel="canonical" href="https://example.com/about">
  • Network accessline 74
    <!-- If the trailing slash version also serves: --> <!-- On https://example.com/about/ -->
  • Network accessline 75
    <!-- On https://example.com/about/ -->
  • Network accessline 76
    <link rel="canonical" href="https://example.com/about">
  • Network accessline 82
    <!-- Canonical points to trailing slash but all internal links omit it --> <link rel="canonical" href="https://example.com/about/">
  • Network accessline 83
    <link rel="canonical" href="https://example.com/about/">
  • Network accessline 86
    <!-- Sitemap mixes conventions --> <loc>https://example.com/about</loc>
  • Network accessline 87
    <loc>https://example.com/about</loc>
  • Network accessline 88
    <loc>https://example.com/contact/</loc>
  • Network accessline 94
    curl -I https://example.com/about
  • Network accessline 95
    curl -I https://example.com/about/

skills/translation-strings/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/translation-strings
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/translation-strings ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/translation-strings
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/translation-strings

skills/translation-strings/references/rule.md

  • Network accessline 7
    --- Internationalised strings are more than translated text — they are message templates that the i18n library fills with runtime values. [ICU MessageFormat](https://unicode-org.github.io/icu/userguide/format_parse/messages/) and [`Intl.Plu
  • Network accessline 8
    Internationalised strings are more than translated text — they are message templates that the i18n library fills with runtime values. [ICU MessageFormat](https://unicode-org.github.io/icu/userguide/format_parse/messages/) and [`Intl.PluralR
  • Network accessline 102
    ### [react-i18next](https://react.i18next.com/) (i18next plurals)
  • Network accessline 228
    1. Search the codebase for patterns like `t('key') + ` or `` `${t('key')}` `` — all occurrences should be replaced with placeholder interpolation as described by [ICU MessageFormat](https://unicode-org.github.io/icu/userguide/format_parse/m

skills/trust-signals/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/trust-signals
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/trust-signals ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/trust-signals
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/trust-signals

skills/trust-signals/references/rule.md

  • Network accessline 7
    --- Trust signals are visible cues that demonstrate your organization's credibility, expertise, and reliability. [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/guidelines.raterhub.com/en//searchqualityevaluat
  • Network accessline 8
    Trust signals are visible cues that demonstrate your organization's credibility, expertise, and reliability. [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/guidelines.raterhub.com/en//searchqualityevaluatorgu
  • Network accessline 19
    <img src="/icons/google-stars.svg" alt="Google Reviews">   <span>4.8/5 from 312 Google Reviews</span>   <a href="https://g.page/your-business/review">Read reviews</a>
  • Network accessline 20
    <span>4.8/5 from 312 Google Reviews</span>   <a href="https://g.page/your-business/review">Read reviews</a> </div>
  • Network accessline 21
    <a href="https://g.page/your-business/review">Read reviews</a>
  • Network accessline 38
    <div class="certifications">   <a href="https://certification-body.com/verify/your-cert-id" rel="noopener">
  • Network accessline 39
    <a href="https://certification-body.com/verify/your-cert-id" rel="noopener">
  • Network accessline 40
    <img src="/badges/iso-27001.png" alt="ISO 27001 Certified">   </a>   <a href="https://another-body.com/member/your-id" rel="noopener">
  • Network accessline 41
    </a>   <a href="https://another-body.com/member/your-id" rel="noopener">     <img src="/badges/bbb-accredited.png" alt="BBB Accredited Business">
  • Network accessline 42
    <a href="https://another-body.com/member/your-id" rel="noopener">
  • Network accessline 63
    Google's Quality Rater Guidelines explicitly evaluate trustworthiness as a core page quality signal; pages lacking visible trust evidence score lower in manual quality assessments that influence ranking systems. In practice, that usually me
  • Network accessline 67
    Google's Quality Rater Guidelines (Section 3) describe four dimensions of quality, and [Google's E-E-A-T overview](https://developers.google.com/search/docs/fundamentals/creating-helpful-content#what-is-eeeat) is a useful companion referenc

skills/ttfb/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/ttfb
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/ttfb ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/ttfb
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/performance/ttfb

skills/ttfb/references/rule.md

  • Network accessline 55
    - [Lighthouse](https://developers.google.com/web/tools/lighthouse) (check for "server-response-time")
  • Network accessline 56
    - [PageSpeed Insights](https://pagespeed.web.dev/)
  • Network accessline 57
    - Browser DevTools Network tab (look at the "TTFB" in the timing breakdown) - [WebPageTest](https://www.webpagetest.org/) - [KeyCDN TTFB Checker](https://tools.keycdn.com/performance)
  • Network accessline 58
    - [WebPageTest](https://www.webpagetest.org/)
  • Network accessline 59
    - [KeyCDN TTFB Checker](https://tools.keycdn.com/performance)

skills/twitter-cards/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/twitter-cards
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/twitter-cards ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/twitter-cards
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/twitter-cards

skills/twitter-cards/references/rule.md

  • Network accessline 40
    <meta name="twitter:title" content="How to Improve Core Web Vitals">   <meta name="twitter:description" content="Practical steps to improve LCP, CLS, and INP for better search ranking.">   <meta name="twitter:image" content="https://example
  • Network accessline 41
    <meta name="twitter:description" content="Practical steps to improve LCP, CLS, and INP for better search ranking.">   <meta name="twitter:image" content="https://example.com/images/article-cover.jpg">   <meta name="twitter:image:alt" conten
  • Network accessline 42
    <meta name="twitter:image" content="https://example.com/images/article-cover.jpg">

skills/type-coercion/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/type-coercion
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/type-coercion ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/type-coercion
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/type-coercion

skills/type-only-imports/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/type-only-imports
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/type-only-imports ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/type-only-imports
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/type-only-imports

skills/type-only-imports/references/rule.md

  • Network accessline 7
    --- TypeScript's [`import type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export) syntax explicitly marks an import as type-only, guaranteeing that the compiler erases it completel
  • Network accessline 8
    TypeScript's [`import type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export) syntax explicitly marks an import as type-only, guaranteeing that the compiler erases it completely fr
  • Network accessline 73
    With [`verbatimModuleSyntax`](https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax) enabled, this becomes a compiler error:
  • Network accessline 85
    Add the [`consistent-type-imports` rule](https://typescript-eslint.io/rules/consistent-type-imports/) to enforce `import type` via your linter, independently of TypeScript version:
  • Network accessline 131
    The [TypeScript 3.8 type-only import notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export) and the [`consistent-type-imports` rule](https://typescript-eslint.io/rules/consistent-

skills/typescript-strict-mode/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/typescript-strict-mode
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/typescript-strict-mode ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/typescript-strict-mode
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/typescript-strict-mode

skills/typescript-strict-mode/references/rule.md

  • Network accessline 7
    --- TypeScript's [`strict`](https://www.typescriptlang.org/tsconfig#strict) mode is a single flag that enables a group of compile-time checks covering the most common sources of runtime errors. Enabling it from the start of a project costs 
  • Network accessline 8
    TypeScript's [`strict`](https://www.typescriptlang.org/tsconfig#strict) mode is a single flag that enables a group of compile-time checks covering the most common sources of runtime errors. Enabling it from the start of a project costs almo
  • Network accessline 53
    Without strict mode, TypeScript allows implicit `any` types, ignores possible `null` or `undefined` values, and silently accepts unsound function assignments — meaning the type system gives a false sense of safety. The [TSConfig strict refe
  • Network accessline 198
    Use the [TSConfig strict reference](https://www.typescriptlang.org/tsconfig#strict) as the source of truth for which checks the compiler should enforce, and keep the [typed-linting guidance](https://typescript-eslint.io/troubleshooting/type

skills/unique-id/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/unique-id
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/unique-id ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/unique-id
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/unique-id

skills/unique-id/references/rule.md

  • Network accessline 529
    <!-- Use W3C Markup Validator to check for duplicate IDs --> <!-- https://validator.w3.org/ -->
  • Network accessline 530
    <!-- https://validator.w3.org/ -->

skills/unit-tests/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/unit-tests
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/unit-tests ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/unit-tests
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/testing/unit-tests

skills/unit-tests/references/rule.md

  • Network accessline 303
    const response = await fetch(`/api/users/${id}`)
  • Network accessline 357
    // Mock environment variables vi.stubEnv('API_URL', 'https://test-api.com')
  • Network accessline 358
    vi.stubEnv('API_URL', 'https://test-api.com')

skills/unused-css/SKILL.md

  • Network accessline 8
    estimatedTime: "25"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/unused-css
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/unused-css ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/unused-css
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/unused-css

skills/unused-css/references/rule.md

  • Network accessline 92
    // Navigate through pages   await page.goto('https://example.com')
  • Network accessline 93
    await page.goto('https://example.com')
  • Network accessline 95
    await page.goto('https://example.com/about')
  • Network accessline 189
    # CLI usage uncss index.html > cleaned.css uncss http://localhost:3000 > cleaned.css
  • Network accessline 191
    uncss http://localhost:3000 > cleaned.css
  • Network accessline 492
    const dynamicPurge = new DynamicPurgeCSS({   pages: [     'http://localhost:3000',
  • Network accessline 493
    pages: [     'http://localhost:3000',     'http://localhost:3000/about',
  • Network accessline 494
    'http://localhost:3000',
  • Network accessline 495
    'http://localhost:3000/about',
  • Network accessline 496
    'http://localhost:3000/contact'

skills/video-accessibility/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/video-accessibility
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/video-accessibility ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/video-accessibility
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/video-accessibility

skills/video-accessibility/references/rule.md

  • Network accessline 279
    const src = provider === 'youtube'     ? `https://www.youtube-nocookie.com/embed/${videoId}?cc_load_policy=1`
  • Network accessline 280
    ? `https://www.youtube-nocookie.com/embed/${videoId}?cc_load_policy=1`
  • Network accessline 281
    : `https://player.vimeo.com/video/${videoId}?texttrack=en`

skills/video-captions/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/video-captions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/video-captions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/video-captions
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/video-captions

skills/video-captions/references/rule.md

  • Network accessline 7
    --- Captions provide a synchronized text-based representation of all audio content in a video. [WCAG 1.2.2 Captions (Prerecorded)](https://www.w3.org/TR/WCAG21/#captions-prerecorded), [WCAG 1.2.4 Captions (Live)](https://www.w3.org/TR/WCAG2
  • Network accessline 8
    Captions provide a synchronized text-based representation of all audio content in a video. [WCAG 1.2.2 Captions (Prerecorded)](https://www.w3.org/TR/WCAG21/#captions-prerecorded), [WCAG 1.2.4 Captions (Live)](https://www.w3.org/TR/WCAG21/#c
  • Network accessline 56
    The distinction between captions, subtitles, and transcripts matters because [WebVTT](https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API) and [WebAIM's media guidance](https://webaim.org/techniques/captions/) expect captions to inc

skills/video-optimization/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/video-optimization
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/performance/video-optimization ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/performance/video-optimization
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/performance/video-optimization

skills/video-thumbnail/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/video-thumbnail
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/video-thumbnail ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/video-thumbnail
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/html/video-thumbnail

skills/video/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/video
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/video ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/video
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/video

skills/video/references/rule.md

  • Network accessline 13
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 14
    {   "@context": "https://schema.org",   "@type": "VideoObject",
  • Network accessline 15
    "@context": "https://schema.org",
  • Network accessline 17
    "name": "How to Build a Next.js App from Scratch",   "description": "A step-by-step tutorial covering Next.js 14 App Router, data fetching, and deployment.",   "thumbnailUrl": "https://example.com/images/nextjs-tutorial-thumb.jpg",
  • Network accessline 18
    "description": "A step-by-step tutorial covering Next.js 14 App Router, data fetching, and deployment.",   "thumbnailUrl": "https://example.com/images/nextjs-tutorial-thumb.jpg",   "uploadDate": "2025-02-15T10:00:00+00:00"
  • Network accessline 19
    "thumbnailUrl": "https://example.com/images/nextjs-tutorial-thumb.jpg",
  • Network accessline 32
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 33
    {   "@context": "https://schema.org",   "@type": "VideoObject",
  • Network accessline 34
    "@context": "https://schema.org",
  • Network accessline 37
    "description": "A step-by-step tutorial covering Next.js 14 App Router, data fetching, and deployment to Vercel.",   "thumbnailUrl": [     "https://example.com/images/nextjs-tutorial-thumb.jpg"
  • Network accessline 38
    "thumbnailUrl": [     "https://example.com/images/nextjs-tutorial-thumb.jpg"   ],
  • Network accessline 39
    "https://example.com/images/nextjs-tutorial-thumb.jpg"
  • Network accessline 41
    "uploadDate": "2025-02-15T10:00:00+00:00",   "duration": "PT12M30S",   "contentUrl": "https://example.com/videos/nextjs-tutorial.mp4",
  • Network accessline 42
    "duration": "PT12M30S",   "contentUrl": "https://example.com/videos/nextjs-tutorial.mp4",   "embedUrl": "https://www.youtube.com/embed/dQw4w9WgXcQ",
  • Network accessline 43
    "contentUrl": "https://example.com/videos/nextjs-tutorial.mp4",
  • Network accessline 44
    "embedUrl": "https://www.youtube.com/embed/dQw4w9WgXcQ",
  • Network accessline 79
    <!-- Page with embedded YouTube video --> <iframe   src="https://www.youtube.com/embed/VIDEO_ID"
  • Network accessline 80
    <iframe   src="https://www.youtube.com/embed/VIDEO_ID"   title="How to Build a Next.js App"
  • Network accessline 81
    src="https://www.youtube.com/embed/VIDEO_ID"
  • Network accessline 86
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 87
    {   "@context": "https://schema.org",   "@type": "VideoObject",
  • Network accessline 88
    "@context": "https://schema.org",
  • Network accessline 90
    "name": "How to Build a Next.js App",   "description": "Complete tutorial...",   "thumbnailUrl": "https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg",
  • Network accessline 91
    "description": "Complete tutorial...",   "thumbnailUrl": "https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg",   "uploadDate": "2025-02-15",
  • Network accessline 92
    "thumbnailUrl": "https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg",
  • Network accessline 93
    "uploadDate": "2025-02-15",   "embedUrl": "https://www.youtube.com/embed/VIDEO_ID" }
  • Network accessline 94
    "embedUrl": "https://www.youtube.com/embed/VIDEO_ID"
  • Network accessline 103
    1. [Google Rich Results Test](https://search.google.com/test/rich-results) — check for VideoObject eligibility

skills/view-transitions/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/view-transitions
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/view-transitions ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/view-transitions
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/view-transitions

skills/view-transitions/references/rule.md

  • Network accessline 7
    --- The [View Transitions API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API) provides a two-step mechanism: capture a screenshot of the current state, update the DOM to the new state, then animate between the two sc
  • Network accessline 8
    The [View Transitions API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API) provides a two-step mechanism: capture a screenshot of the current state, update the DOM to the new state, then animate between the two screen

skills/viewport-zoom/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/viewport-zoom
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/viewport-zoom ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/viewport-zoom
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/accessibility/viewport-zoom

skills/viewport/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/viewport
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/viewport ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/viewport
  • Network accessline 44
    Rule page: https://frontendchecklist.io/rules/html/viewport

skills/viewport/references/rule.md

  • Network accessline 182
    - **Chrome DevTools**: Device simulation mode - **Firefox DevTools**: Responsive design mode - **Mobile-Friendly Test**: [Google's Mobile-Friendly Test](https://search.google.com/test/mobile-friendly)
  • Network accessline 183
    - **Firefox DevTools**: Responsive design mode - **Mobile-Friendly Test**: [Google's Mobile-Friendly Test](https://search.google.com/test/mobile-friendly) - **Real Device Testing**: Always test on actual devices
  • Network accessline 184
    - **Mobile-Friendly Test**: [Google's Mobile-Friendly Test](https://search.google.com/test/mobile-friendly)

skills/visual-regression/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/visual-regression
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/testing/visual-regression ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/testing/visual-regression
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/testing/visual-regression

skills/w3c-compliant/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/w3c-compliant
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/w3c-compliant ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/w3c-compliant
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/w3c-compliant

skills/w3c-compliant/references/rule.md

  • Network accessline 16
    # Online validator # Visit: https://validator.w3.org/
  • Network accessline 17
    # Visit: https://validator.w3.org/
  • Network accessline 144
    .pipe(htmlValidator({       format: 'json',       validator: 'https://validator.w3.org/nu/'
  • Network accessline 145
    format: 'json',       validator: 'https://validator.w3.org/nu/'     }))
  • Network accessline 146
    validator: 'https://validator.w3.org/nu/'
  • Network accessline 371
    - html-validate dist/**/*.html     - |       curl -H "Content-Type: text/html; charset=utf-8" \
  • Network accessline 372
    - |       curl -H "Content-Type: text/html; charset=utf-8" \            --data-binary @dist/index.html \
  • Network accessline 373
    curl -H "Content-Type: text/html; charset=utf-8" \
  • Network accessline 375
    https://validator.w3.org/nu/?out=json
  • Network accessline 397
    - id: w3c-validate         name: W3C HTML Validator         entry: bash -c 'for file in "$@"; do curl -H "Content-Type: text/html; charset=utf-8" --data-binary "@$file" "https://validator.w3.org/nu/?out=text" | grep -q "Error" && exit 1; do
  • Network accessline 398
    name: W3C HTML Validator         entry: bash -c 'for file in "$@"; do curl -H "Content-Type: text/html; charset=utf-8" --data-binary "@$file" "https://validator.w3.org/nu/?out=text" | grep -q "Error" && exit 1; done' --         language: sy
  • Network accessline 399
    entry: bash -c 'for file in "$@"; do curl -H "Content-Type: text/html; charset=utf-8" --data-binary "@$file" "https://validator.w3.org/nu/?out=text" | grep -q "Error" && exit 1; done' --
  • Network accessline 580
    cy.request({         method: 'POST',         url: 'https://validator.w3.org/nu/?out=json',
  • Network accessline 581
    method: 'POST',         url: 'https://validator.w3.org/nu/?out=json',         headers: {
  • Network accessline 582
    url: 'https://validator.w3.org/nu/?out=json',

skills/weak-internal-links/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/weak-internal-links
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/weak-internal-links ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/weak-internal-links
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/weak-internal-links

skills/weak-internal-links/references/rule.md

  • Network accessline 7
    --- Internal links serve two purposes: they help search engines discover pages through crawling, and they distribute ranking authority (PageRank) across the site. Pages that receive few internal links are both harder to discover and treated
  • Network accessline 8
    Internal links serve two purposes: they help search engines discover pages through crawling, and they distribute ranking authority (PageRank) across the site. Pages that receive few internal links are both harder to discover and treated as 
  • Network accessline 24
    Internal links are how search engines discover pages and how PageRank flows through a site — pages with few internal links are effectively demoted in the crawl priority queue. Google's overview of [how crawling works](https://developers.goo

skills/web-app-manifest/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/web-app-manifest
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/web-app-manifest ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/web-app-manifest
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/web-app-manifest

skills/web-storage/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/web-storage
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/javascript/web-storage ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/javascript/web-storage
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/javascript/web-storage

skills/webfont-format/SKILL.md

  • Network accessline 8
    estimatedTime: "20"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/webfont-format
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/css/webfont-format ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/css/webfont-format
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/css/webfont-format

skills/webfont-format/references/rule.md

  • Network accessline 170
    <!-- Preconnect to external font services -->   <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 171
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 172
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

skills/webp-format/SKILL.md

  • Network accessline 8
    estimatedTime: "15"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/webp-format
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/images/webp-format ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/images/webp-format
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/images/webp-format

skills/webpagetest/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/webpagetest
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/html/webpagetest ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/html/webpagetest
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/html/webpagetest

skills/webpagetest/references/rule.md

  • Network accessline 16
    # Public WebPageTest (free) # Visit: https://www.webpagetest.org/
  • Network accessline 17
    # Visit: https://www.webpagetest.org/
  • Network accessline 178
    // Check for uncompressed resources     const uncompressed = firstView.requests.filter(req =>
  • Network accessline 179
    const uncompressed = firstView.requests.filter(req =>
  • Access to secretsline 263
    [Credential-related source omitted]
  • Network accessline 396
    plugins: [     new PerformanceBudgetPlugin({       url: 'https://your-deployed-site.com',
  • Network accessline 397
    [Credential-related source omitted]
  • Network accessline 398
    url: 'https://your-deployed-site.com',
  • Access to secretsline 399
    [Credential-related source omitted]
  • Access to secretsline 453
    [Credential-related source omitted]
  • Network accessline 454
    run: |         npm install -g webpagetest         node scripts/webpagetest-runner.js https://staging.your-site.com
  • Network accessline 456
    node scripts/webpagetest-runner.js https://staging.your-site.com
  • Network accessline 534
    // Build request dependency map     this.requests.forEach(request => {
  • Network accessline 535
    this.requests.forEach(request => {
  • Network accessline 581
    // Find requests without caching     const uncached = this.requests.filter(req =>
  • Network accessline 582
    const uncached = this.requests.filter(req =>
  • Network accessline 601
    const analysis = {       totalRequests: this.requests.length,       totalBytes: this.requests.reduce((sum, req) => sum + req.bytesIn, 0),
  • Network accessline 602
    totalRequests: this.requests.length,       totalBytes: this.requests.reduce((sum, req) => sum + req.bytesIn, 0),       resourceTypes: {},
  • Network accessline 603
    totalBytes: this.requests.reduce((sum, req) => sum + req.bytesIn, 0),
  • Network accessline 614
    // Group by content type     this.requests.forEach(request => {
  • Network accessline 615
    this.requests.forEach(request => {
  • Access to secretsline 809
    [Credential-related source omitted]
  • Network accessline 945
    start() {     this.app.listen(this.port, () => {       console.log(`Performance dashboard running on http://localhost:${this.port}`)
  • Network accessline 946
    this.app.listen(this.port, () => {       console.log(`Performance dashboard running on http://localhost:${this.port}`)     })
  • Network accessline 947
    console.log(`Performance dashboard running on http://localhost:${this.port}`)
  • Access to secretsline 954
    [Credential-related source omitted]
  • Network accessline 957
    {       name: 'production',       url: 'https://example.com',
  • Network accessline 958
    name: 'production',       url: 'https://example.com',       location: 'Dulles:Chrome',
  • Network accessline 959
    url: 'https://example.com',
  • Network accessline 963
    {       name: 'staging',       url: 'https://staging.example.com',
  • Network accessline 964
    name: 'staging',       url: 'https://staging.example.com',       location: 'London:Chrome',
  • Network accessline 965
    url: 'https://staging.example.com',
  • Network accessline 990
    // Identify critical rendering path issues function analyzeCriticalPath(waterfallData) {   const criticalResources = waterfallData.requests.filter(req =>
  • Network accessline 991
    function analyzeCriticalPath(waterfallData) {   const criticalResources = waterfallData.requests.filter(req =>     req.contentType?.includes('text/html') ||
  • Network accessline 992
    const criticalResources = waterfallData.requests.filter(req =>
  • Network accessline 1015
    // Analyze image optimization opportunities function analyzeImageOptimization(waterfallData) {   const images = waterfallData.requests.filter(req =>
  • Network accessline 1016
    function analyzeImageOptimization(waterfallData) {   const images = waterfallData.requests.filter(req =>     req.contentType?.startsWith('image/')
  • Network accessline 1017
    const images = waterfallData.requests.filter(req =>

skills/website-search/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/website-search
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/website-search ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/website-search
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/website-search

skills/website-search/references/rule.md

  • Network accessline 15
    Wikipedia https://www.wikipedia.org
  • Network accessline 16
    https://www.wikipedia.org
  • Network accessline 29
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 30
    {   "@context": "https://schema.org",   "@type": "WebSite",
  • Network accessline 31
    "@context": "https://schema.org",
  • Network accessline 32
    "@type": "WebSite",   "name": "My Site",   "url": "https://www.example.com",
  • Network accessline 33
    "name": "My Site",   "url": "https://www.example.com",   "potentialAction": {
  • Network accessline 34
    "url": "https://www.example.com",
  • Network accessline 37
    "target": {       "@type": "EntryPoint",       "urlTemplate": "https://www.example.com/search?q={search_term_string}"
  • Network accessline 38
    "@type": "EntryPoint",       "urlTemplate": "https://www.example.com/search?q={search_term_string}"     },
  • Network accessline 39
    "urlTemplate": "https://www.example.com/search?q={search_term_string}"
  • Network accessline 52
    https://www.example.com/search?q={search_term_string}
  • Network accessline 53
    https://www.example.com/search/{search_term_string}/
  • Network accessline 62
    {   "@type": "SearchAction",   "target": "https://example.com/search?q={search_term_string}"
  • Network accessline 63
    "@type": "SearchAction",   "target": "https://example.com/search?q={search_term_string}" }
  • Network accessline 64
    "target": "https://example.com/search?q={search_term_string}"
  • Network accessline 78
    1. [Google's Rich Results Test](https://search.google.com/test/rich-results) → test your homepage URL

skills/word-count/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/word-count
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/word-count ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/word-count
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/word-count

skills/word-count/references/rule.md

  • Network accessline 7
    --- Thin content refers to pages that provide little unique value relative to the user's search intent. Google's guidance on [helpful, reliable, people-first content](https://developers.google.com/search/docs/fundamentals/creating-helpful-c
  • Network accessline 8
    Thin content refers to pages that provide little unique value relative to the user's search intent. Google's guidance on [helpful, reliable, people-first content](https://developers.google.com/search/docs/fundamentals/creating-helpful-conte
  • Network accessline 21
    Google's quality systems penalise pages that provide little original value — thin pages on important topics lose rankings to competitors with more comprehensive, useful content. The [thin content spam policy](https://developers.google.com/s
  • Network accessline 25
    Google's [spam policies](https://developers.google.com/search/docs/essentials/spam-policies#thin-content) identify these as thin content patterns:

skills/x-content-type/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/x-content-type
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/x-content-type ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/x-content-type
  • Network accessline 31
    Add X-Content-Type-Options: nosniff to all HTTP responses. Configure it at the web server level (Nginx, Apache) or in your application framework, and verify with curl -I https://example.com.
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/x-content-type

skills/x-content-type/references/rule.md

  • Network accessline 7
    --- [`X-Content-Type-Options: nosniff`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) is a simple, one-line security header that prevents browsers from interpreting files differently from the `Content-Typ
  • Network accessline 8
    [`X-Content-Type-Options: nosniff`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) is a simple, one-line security header that prevents browsers from interpreting files differently from the `Content-Type` d
  • Network accessline 42
    With `nosniff`, the browser strictly enforces the declared `Content-Type` and refuses to execute the file as script, which lines up with the [Fetch standard's MIME-type blocking rules](https://fetch.spec.whatwg.org/#should-response-to-reque

skills/x-frame-options/SKILL.md

  • Network accessline 8
    estimatedTime: "5"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/x-frame-options
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/security/x-frame-options ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/security/x-frame-options
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 46
    Rule page: https://frontendchecklist.io/rules/security/x-frame-options

skills/x-frame-options/references/rule.md

  • Network accessline 7
    --- [Clickjacking](https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html), also called UI redressing, is an attack where a malicious page embeds your application in a hidden or transparent iframe and tricks us
  • Network accessline 8
    [Clickjacking](https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html), also called UI redressing, is an attack where a malicious page embeds your application in a hidden or transparent iframe and tricks users 
  • Network accessline 108
    The [`Content-Security-Policy: frame-ancestors`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) directive supersedes `X-Frame-Options` and is more flexible:
  • Network accessline 117
    # Allow specific trusted domains (not possible with X-Frame-Options) Content-Security-Policy: frame-ancestors 'self' https://trusted-partner.com
  • Network accessline 118
    Content-Security-Policy: frame-ancestors 'self' https://trusted-partner.com

skills/ymyl-detection/SKILL.md

  • Network accessline 8
    estimatedTime: "10"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/ymyl-detection
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/seo/ymyl-detection ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/seo/ymyl-detection
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/seo/ymyl-detection

skills/ymyl-detection/references/rule.md

  • Network accessline 7
    --- YMYL (Your Money or Your Life) is Google's term for content that could significantly affect a person's health, safety, financial stability, or wellbeing. In [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/
  • Network accessline 8
    YMYL (Your Money or Your Life) is Google's term for content that could significantly affect a person's health, safety, financial stability, or wellbeing. In [Google's Quality Rater Guidelines](https://static.googleusercontent.com/media/guid
  • Network accessline 44
    <!-- In-text citation example --> <p>According to the   <a href="https://www.cdc.gov/diabetes/data/statistics-report/index.html">
  • Network accessline 45
    <p>According to the   <a href="https://www.cdc.gov/diabetes/data/statistics-report/index.html">     CDC's 2023 National Diabetes Statistics Report
  • Network accessline 46
    <a href="https://www.cdc.gov/diabetes/data/statistics-report/index.html">
  • Network accessline 67
    Google's Quality Rater Guidelines require YMYL pages to meet higher E-E-A-T standards than general content — a YMYL page without visible expertise and trust signals will be rated low quality regardless of technical SEO. Google's explanation
  • Network accessline 111
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 112
    {   "@context": "https://schema.org",   "@type": "MedicalWebPage",
  • Network accessline 113
    "@context": "https://schema.org",
  • Network accessline 118
    "honorificSuffix": "MD",     "medicalSpecialty": "Endocrinology",     "url": "https://example.com/about/dr-sarah-chen"
  • Network accessline 119
    "medicalSpecialty": "Endocrinology",     "url": "https://example.com/about/dr-sarah-chen"   },
  • Network accessline 120
    "url": "https://example.com/about/dr-sarah-chen"

skills/zoom-reflow/SKILL.md

  • Network accessline 8
    estimatedTime: "30"   source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/zoom-reflow
  • Network accessline 9
    source: frontendchecklist.io   url: https://frontendchecklist.io/rules/accessibility/zoom-reflow ---
  • Network accessline 10
    url: https://frontendchecklist.io/rules/accessibility/zoom-reflow
  • Network accessline 45
    Rule page: https://frontendchecklist.io/rules/accessibility/zoom-reflow

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 2 facts
Signal confidence: 498 facts

and 448 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md packages/cli/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md packages/cli/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md packages/cli/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md packages/cli/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Add this badge to your README

It updates every night and links to this page.

thedaviddias/Front-End-Checklist: #23 on hotskills, 74.7k stars

[![thedaviddias/Front-End-Checklist on hotskills](https://hotskills.dev/badge/thedaviddias-front-end-checklist.svg)](https://hotskills.dev/skill/thedaviddias-front-end-checklist/)