How to install core-web-vitals
npx skills add https://github.com/kostja94/marketing-skills --skill core-web-vitalsFull instructions (SKILL.md)
Source of truth, from kostja94/marketing-skills.
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
Initial Assessment
Check for project context first: If .claude/project-context.md or .cursor/project-context.md exists, read it for site URL.
Identify:
- Tools: GSC Core Web Vitals report, PageSpeed Insights, Chrome DevTools
- Metrics: Which metric is failing (LCP, INP, CLS)
- 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, 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
Related skills
More from kostja94/marketing-skills and the wider catalog.

creator-program
When the user wants to plan, implement, or optimize creator program strategy. Also use when the user mentions "creator program," "creator partnership," "content co-creation," "creator ambassador," "creator economy," "creator collaboration," "UGC program," "creator incentives," or "creator community." For influencers, use influencer-marketing.

cta-generator
When the user wants to design, optimize, or audit call-to-action (CTA) buttons. Also use when the user mentions "CTA," "call to action," "button design," "conversion button," "primary action," "CTA copy," "button text," "CTA placement," "conversion CTA," or "action button." For landing pages, use landing-page-generator.

ctv-ads
When the user wants to run CTV, OTT, or streaming TV ads. Also use when the user mentions "CTV ads," "connected TV," "OTT advertising," "streaming ads," "TV ads," "Hulu ads," "Roku ads," "YouTube TV ads," or "programmatic TV." For paid mix, use paid-ads-strategy.

customer-stories-page-generator
When the user wants to create, optimize, or audit customer stories or case study pages. Also use when the user mentions "case studies," "customer stories," "success stories," "testimonials page," "case study," "customer proof," "social proof page," or "results page." For testimonial components, use testimonials-generator.

directory-listing-ads
When the user wants to run paid ads within directories or marketplaces. Also use when the user mentions "Taaft ads," "Shopify App Store ads," "G2 sponsored," "Capterra ads," "directory ads," "marketplace ads," "paid listing," "sponsored listing," or "directory promotion." For organic listings, use directory-submission.

directory-submission
When the user wants to submit a product or app to directories, curated lists, launch platforms, or app stores—and needs ready-to-paste copy per platform. Reads project-context.md when present. Also use when the user mentions "directory submission," "get listed," "app store listing," "submit to directories," "curated list," "best tools list," "Taaft," "Product Hunt," "directory ads," "newsletter feature," "directory campaign," "tailor description per platform," "Shopify App Store," "Chrome Web Store," "navigation site," or "product directory." For Product Hunt launch day tactics (hunter, first comment, timing), use product-hunt-launch. For full 0→1 channel planning, use cold-start-strategy.