core-web-vitals · kostja94 — Claude Code skill: setup
This skill diagnoses LCP, INP, and CLS problems and turns them into prioritized fixes. Use it when page performance or technical SEO needs a closer look.
npx skills add kostja94/marketing-skills --skill core-web-vitals -a claude-codeWhat core-web-vitals does
The skill works with the three Core Web Vitals: LCP for the largest visible element, INP for interaction response, and CLS for unexpected movement on the page. It helps identify the failing metric and organize the fixes by likely impact.
Its assessment uses the GSC Core Web Vitals report, PageSpeed Insights, and Chrome DevTools. It considers the page type and likely LCP element, then checks server response time, render-blocking assets, images, JavaScript tasks, event handlers, and dynamic content. When present, contextus.md is read before the project material is assessed.
The LCP image should not be lazy-loaded; use loading="eager" for it. GSC CWV reporting is handled by the separate google-search-console skill.
What it helps with
- identify whether LCP, INP, or CLS is failing
- rank performance fixes by impact
- improve the rendering of the main page element
- trace JavaScript delays and layout shifts
Example prompts for the agent
- Audit this page and explain what is hurting LCP.
- Create a prioritized fix plan for the current INP and CLS issues.
- Review the PageSpeed Insights results and suggest code changes.
How to install core-web-vitals
1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill core-web-vitals -a claude-code2Manually: put the files in place
~/.claude/skills/core-web-vitals/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/core-web-vitals/
1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill core-web-vitals -a codex2Manually: put the files in place
.agents/skills/core-web-vitals/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill core-web-vitals -a cursor2Manually: put the files in place
.cursor/skills/core-web-vitals/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install kostja94/marketing-skills core-web-vitals2Manually: put the files in place
.github/skills/core-web-vitals/SKILL.md1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill core-web-vitals -a gemini-cli2Platform CLI
gemini skills install https://github.com/kostja94/marketing-skills --path skills/seo/technical/core-web-vitalsManually: put the files in place
.devin/skills/core-web-vitals/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill core-web-vitals -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about core-web-vitals
How do I install core-web-vitals in Claude Code?
Run npx skills add kostja94/marketing-skills --skill core-web-vitals -a claude-code, then check ~/.claude/skills/core-web-vitals/SKILL.md.
What does core-web-vitals do?
It reviews LCP, INP, and CLS, connects each problem to likely causes, and produces a prioritized fix plan. The assessment can use GSC, PageSpeed Insights, and Chrome DevTools.
Which metrics does the skill cover?
It covers LCP, INP, and CLS. The description also mentions FID because INP replaced it.
Source text
SKILL.md · MIT
--- name: core-web-vitals description: When the user wants to optimize Core Web Vitals, fix LCP, INP, or CLS issues. Also use when the user mentions "Core Web Vitals," "CWV," "LCP," "INP," "CLS," "FID," "page speed," "page performance," "Largest Contentful Paint," "Interaction to Next Paint," "Cumulative Layout Shift," or "Page Experience." For GSC CWV, use google-search-console. metadata: version: 1.0.2 --- # SEO Technical: Core Web Vitals Guides optimization of Core Web Vitals (CWV)—Google's user experience metrics that affect search ranking. CWV are confirmed ranking factors for mobile and desktop. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope (Technical SEO) - **LCP** (Largest Contentful Paint): Loading performance; time to render largest content element - **INP** (Interaction to Next Paint): Responsiveness; replaced FID on March 12, 2024 - **CLS** (Cumulative Layout Shift): Visual stability; unexpected layout shifts ## Target Thresholds (75th percentile, field data) | Metric | Target | Good | Needs Improvement | Poor | |--------|--------|------|-------------------|------| | **LCP** | ≤2.5s | ≤2.5s | 2.5–4.0s | >4.0s | | **INP** | ≤200ms | ≤200ms | 200–500ms | >500ms | | **CLS** | <0.1 | ≤0.1 | 0.1–0.25 | >0.25 | **Source**: [Google Page Experience](https://developers.google.com/search/docs/appearance/page-experience) ## Initial Assessment **Project context:** Read root `contextus.md` when present and load only the modules relevant to this task. Without Contextus, use available project material or user-provided facts and ask for missing information; do not create a parallel context system. Identify: 1. **Tools**: GSC Core Web Vitals report, PageSpeed Insights, Chrome DevTools 2. **Metrics**: Which metric is failing (LCP, INP, CLS) 3. **Page type**: Hero, article, product, list—LCP candidate differs ## LCP Optimization LCP measures the time until the largest content element (image, video, or text block) is visible. | Cause | Fix | |-------|-----| | **Slow server response** | Reduce TTFB; use CDN; optimize server | | **Render-blocking resources** | Defer non-critical CSS/JS; inline critical CSS | | **Large images** | WebP/AVIF; compress; `width`/`height` to prevent CLS; see **image-optimization** | | **Client-side rendering** | SSR/SSG for above-fold content; see **rendering-strategies** | | **Third-party scripts** | Load async; defer non-critical | **LCP candidates**: Hero image, large text block, video poster. Ensure above-fold images use `loading="eager"` (default); never lazy-load LCP. ## INP Optimization INP measures responsiveness—time from user interaction to next paint. Replaced FID on March 12, 2024. | Cause | Fix | |-------|-----| | **Long-running JS** | Break tasks >50ms; use `requestIdleCallback`; Web Workers | | **Heavy event handlers** | Debounce/throttle; defer non-critical work | | **Main thread blocking** | Reduce third-party scripts; defer non-critical JS | | **Layout thrashing** | Batch DOM reads/writes; avoid forced reflows | ## CLS Optimization CLS measures unexpected layout shifts. | Cause | Fix | |-------|-----| | **Images without dimensions** | Always set `width` and `height` attributes | | **Dynamic content** | Reserve space for ads, embeds; use `min-height` | | **Web fonts** | `font-display: optional` or `swap`; preload critical fonts | | **Animations** | Use `transform` instead of `top`/`left`/`width` | **Reserve space**: For images, ads, embeds—define dimensions before load. Avoid inserting content above existing content without reserved space. ## Tools & Monitoring | Tool | Use | |------|-----| | **GSC** | Core Web Vitals report; URL grouping; field data | | **PageSpeed Insights** | Lab + field data; mobile + desktop | | **Chrome DevTools** | Performance panel; LCP element; layout shift overlay | ## Output Format - **Current state**: Which metrics fail (LCP, INP, CLS) - **Prioritized fixes**: By impact - **References**: [Web Vitals](https://web.dev/vitals/), [Page Experience](https://developers.google.com/search/docs/appearance/page-experience) ## Related Skills - **image-optimization**: LCP image optimization; WebP; lazy loading (below-fold only) - **google-search-console**: CWV report; field data monitoring - **mobile-friendly**: Mobile-first indexing; mobile CWV targets - **rendering-strategies**: SSR/SSG for LCP; content in initial HTML - **site-crawlability**: Redirect chains waste crawl; fix for performance
© kostja94 · MIT · kostja94/marketing-skills
Similar skills
Everything for SEO and GEO →core-web-vitals by other authors comes first.