Agent skill

core-web-vitals

Measure and optimize Core Web Vitals (LCP, INP, CLS). Use when implementing CWV tracking or debugging performance.

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/nexus-labs-automation/web-observability/tree/main/skills/core-web-vitals

SKILL.md

Core Web Vitals

Measure the three metrics Google uses to assess user experience.

The Three Metrics

Metric Measures Good Poor
LCP Loading - Largest Contentful Paint ≤2.5s >4.0s
INP Interactivity - Interaction to Next Paint ≤200ms >500ms
CLS Visual Stability - Cumulative Layout Shift ≤0.1 >0.25

Key Principles

  1. Always include attribution - Without it, you can't debug
  2. Track all three - INP replaced FID, don't skip it
  3. Track by route - Aggregate data hides problems
  4. Alert on poor vitals - Don't just log, enable alerts

Attribution = Actionable

Without With
"LCP is 3.2s" "LCP is 3.2s, caused by hero-image.jpg"
Can't fix Actionable

Common Causes

LCP

  • Large hero images → Optimize, preload
  • Slow TTFB → CDN, improve server
  • Render-blocking resources → Defer non-critical

INP

  • Long JS tasks → Break into chunks
  • Heavy event handlers → Debounce
  • Third-party scripts → Defer, lazy load

CLS

  • Images without dimensions → Set width/height
  • Dynamic content → Reserve space
  • Web fonts → font-display: optional

Implementation

See templates/web-vitals.ts for production-ready code.

Use Read tool to load template when generating implementation.

Anti-Patterns

See references/anti-patterns.md for:

  • CWV without attribution
  • Missing INP tracking
  • Blocking main thread with telemetry

Related

  • skills/hydration-performance - SSR impact on LCP
  • skills/bundle-performance - JS impact on INP
  • references/core-web-vitals.md - Deep dive

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results