Skip to content
Marketing
Skill

/cwv-audit

Core Web Vitals Reference — LCP, INP, CLS thresholds, root causes, optimization fixes, CrUX BigQuery queries, web-vitals library usage, and SEO impact

From plugin
claude-code-marketing-skills
11462 skills

Claude Code

$ npx -y skills add cognyai/claude-code-marketing-skills --skill cwv-audit --agent claude-code

SKILL.md

cwv-audit.SKILL.md
name: cwv-audit
description: Core Web Vitals Reference — LCP, INP, CLS thresholds, root causes, optimization fixes, CrUX BigQuery queries, web-vitals library usage, and SEO impact
version: "1.1.1"
author: Cogny AI
platforms: []
user-invocable: true
argument-hint: "<metric or topic>"
allowed-tools:
  - WebFetch
  - WebSearch
  - Bash
  - Read
  - Write
  # Search Console tools (when connected via Cogny MCP)
  - mcp__cogny__refresh_mcp_discovery
  - mcp__cogny__mcp__Google_Search_Console__tool_list_properties
  - mcp__cogny__mcp__Google_Search_Console__tool_get_search_analytics
  - mcp__cogny__mcp__Google_Search_Console__tool_inspect_url
  # GA4 tools
  - mcp__cogny__mcp__Google_Analytics_4__tool_run_report
  - mcp__cogny__mcp__Google_Analytics_4__tool_get_property
  - mcp__cogny__mcp__Google_Analytics_4__tool_list_custom_dimensions
  # Provider discovery
  - mcp__cogny__list_integrations
  # Microsoft Clarity (read-only, 10 API requests/day per project)
  - mcp__cogny__mcp__Microsoft_Clarity__get_live_insights
  - mcp__cogny__mcp__Microsoft_Clarity__get_insights_history
  - mcp__cogny__mcp__Microsoft_Clarity__get_api_quota

Core Web Vitals Reference

Complete technical reference for Core Web Vitals (LCP, INP, CLS): thresholds, common causes, fixes, measurement tools, CrUX BigQuery queries, web-vitals library setup, and SEO ranking impact.

Full docs: https://cogny.com/docs/core-web-vitals

Usage

/cwv-audit                       # Full CWV overview and audit guidance
/cwv-audit LCP                   # Deep-dive into LCP causes and fixes
/cwv-audit INP                   # Deep-dive into INP causes and fixes
/cwv-audit CLS                   # Deep-dive into CLS causes and fixes
/cwv-audit CrUX competitor       # CrUX competitor comparison queries
/cwv-audit monitoring            # GA4 + BigQuery monitoring setup
/cwv-audit web-vitals            # web-vitals library integration guide

Instructions

You are a Core Web Vitals performance expert. Use this reference to help users understand CWV metrics, diagnose performance issues, write CrUX BigQuery queries, set up monitoring, and optimize their sites for better user experience and SEO rankings.

When the user asks a question, find the relevant section below and provide precise, actionable answers. If Search Console or GA4 MCP tools are available, use them to pull real data for the user's site.

If the user provides a specific metric or topic as an argument, focus on that area. Otherwise, provide an overview of all three vitals and their current thresholds.

Works with

The reference needs no accounts. For a real site, pull field data in this order:

| Job | Primary | Also answers it | No account | |-----|---------|-----------------|------------| | p75 LCP / INP / CLS per URL or origin | CrUX via PageSpeed Insights API (Bash curl `https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=<url>&strategy=mobile&key=<free API key>`) | CrUX API (key required), CrUX BigQuery (Cloud only) | Same PSI call, free key | | Your own RUM (if `web-vitals` sends events to GA4) | GA4 `tool_run_report` | GA4 BigQuery export SQL below (Cloud only) | — | | Which slow pages matter (traffic weighting) | Google Search Console `tool_get_search_analytics` (`dimensions: ["page"]`) | GA4 `tool_run_report` (`screenPageViews` by `pagePath`) | `site:` search | | Interaction pain that often sits behind bad INP | Microsoft Clarity `get_live_insights` | — | — |

**PSI and CrUX without an account (reliable path):** keyless PSI calls share a quota and often return HTTP 429. Ask the user for a free Google Cloud API key (enable "PageSpeed Insights API" and "Chrome UX Report API") and append `&key=<key>`; Google recommends a key for anything automated (https://developers.google.com/speed/docs/insights/v5/get-started).

curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=<url>&strategy=mobile&category=performance&key=$PSI_KEY" -o psi.json -w "%{http_code}\n"
# Field data straight from CrUX (key required, 150 queries/min, free):
curl -s -X POST "https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=$PSI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":"https://www.example.com","formFactor":"PHONE"}'

If PSI returns 429 (or `loadingExperience` has no `metrics`) and there's no key, report **"no field data"** for LCP/INP/CLS. Don't estimate p75 from lab numbers or from experience; run the lab checklist below instead and label it lab.

**Lab checklist without PSI (curl only, no JS execution):**

U="<url>"
curl -sL -o page.html -w "TTFB %{time_starttransfer}s | total %{time_total}s | HTML %{size_download} B | redirects %{num_redirects}\n" "$U"
# Render-blocking: <script src> in <head> without async/defer/type=module, and stylesheets
sed -n '1,/<\/head>/p' page.html | grep -oiE '<script[^>]+src=[^>]*>' | grep -viE 'async|defer|type="module"'
sed -n '1,/<\/head>/p' page.html | grep -oiE '<link[^>]+rel="?stylesheet[^>]*>'
# JS / CSS weight: fetch each referenced asset and sum size_download
grep -oiE '(src|href)="[^"]+\.(js|css)[^"]*"' page.html | head -30
# Image formats and lazy-loading / dimensions (CLS)
grep -oiE '<img[^>]+>' page.html | grep -oiE '\.(jpe?g|png|gif|webp|avif|svg)' | sort | uniq -c
grep -oiE '<img[^>]+>' page.html | grep -viE 'width=' | head

Flag: TTFB > 0.8 s, > 1 MB of JS or > 150 KB of CSS, render-blocking scripts in `<head>`, JPEG/PNG heroes with no WebP/AVIF, `<img>` without width/height, `loading="lazy"` on the likely LCP image. Resolve relative asset URLs against the page URL before fetching them.

**GA4 (Solo or Cloud):** If Cogny isn't connected, skip this and note what connecting adds (your own RUM by page and device, traffic-weighted priorities). `mcp__cogny__mcp__Google_Analytics_4__tool_run_report` with `property_id`, `date_ranges` (last 28 days), `dimensions: ["eventName", "pagePath", "deviceCategory"]`, `metrics: ["eventCount", "eventValue"]`, filtered to

Read more
@cognyai
Ships withclaude-code-marketing-skills

AI marketing skills for Claude Code, Cursor, Windsurf, and other AI coding tools. Audit SEO, analyze ads, research competitors, qualify leads — all from your terminal. Free skills need no account. Premium skills connect your real data for $9/mo.

Stars on GitHub

Momentum

stars in total
114
Star history of cognyai/claude-code-marketing-skills on GitHub, a chart by star-history.com

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag3w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about cwv-audit.

Which coding agents can use cwv-audit?
cwv-audit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.