core-web-vitals-tuner — скилл для Claude Code: обзор и установка
Скилл помогает улучшить показатели LCP, INP и CLS с помощью структурированных правок в коде. Они ускоряют рендеринг и отклик страниц.
npx skills add patricio0312rev/skills --skill core-web-vitals-tuner -a claude-codeЧто делает core-web-vitals-tuner
Скилл систематизирует работу над производительностью фронтенда. Он нацелен на три ключевые метрики: Largest Contentful Paint до 2.5 с, Interaction to Next Paint до 200 мс и Cumulative Layout Shift до 0.1.
Внутри собраны готовые шаблоны оптимизации. Для LCP ассистент переписывает теги <img> с добавлением srcset, sizes и fetchpriority="high", предлагает предзагрузку ресурсов и встраивание критического CSS. Для снижения INP скилл внедряет debounce, разделение кода через lazy или вынос тяжёлых расчётов в Web Workers. Проблемы со сдвигами верстки устраняются резервированием места под блоки и правилом aspect-ratio.
Скилл содержит только рекомендации по коду, но сам не запускает замеры в браузере. Для проверки итоговых значений потребуется настроить Lighthouse CI или подключить библиотеку web-vitals.
Какие задачи решает
- ускорить загрузку основного контента и LCP-изображений
- устранить задержки ввода через дебаунс и Web Workers
- предотвратить сдвиги макета с помощью aspect-ratio
- внедрить замеры метрик через библиотеку web-vitals
Примеры запросов агенту
- Оптимизируй загрузку главного баннера для LCP меньше 2.5 секунд
- Устрани сдвиг верстки в контейнере видео через aspect-ratio
- Вынеси тяжёлую обработку поискового запроса в Web Worker для снижения INP
Как установить core-web-vitals-tuner
1Через Skills CLI (Vercel)
npx skills add patricio0312rev/skills --skill core-web-vitals-tuner -a claude-code2Вручную: положить файлы
~/.claude/skills/core-web-vitals-tuner/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/core-web-vitals-tuner/
1Через Skills CLI (Vercel)
npx skills add patricio0312rev/skills --skill core-web-vitals-tuner -a codex2Вручную: положить файлы
.agents/skills/core-web-vitals-tuner/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add patricio0312rev/skills --skill core-web-vitals-tuner -a cursor2Вручную: положить файлы
.cursor/skills/core-web-vitals-tuner/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install patricio0312rev/skills core-web-vitals-tuner2Вручную: положить файлы
.github/skills/core-web-vitals-tuner/SKILL.md1Через Skills CLI (Vercel)
npx skills add patricio0312rev/skills --skill core-web-vitals-tuner -a gemini-cli2Командой платформы
gemini skills install https://github.com/patricio0312rev/skills --path performance/core-web-vitals-tunerВручную: положить файлы
.devin/skills/core-web-vitals-tuner/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add patricio0312rev/skills --skill core-web-vitals-tuner -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о core-web-vitals-tuner
Как установить core-web-vitals-tuner в Claude Code?
Запустите команду npx skills add patricio0312rev/skills --skill core-web-vitals-tuner -a claude-code. Конфигурация запишется в ~/.claude/skills/core-web-vitals-tuner/SKILL.md.
Какие целевые значения метрик задаёт core-web-vitals-tuner?
Инструкция ориентируется на пороговые значения Google: LCP быстрее 2.5 секунд, INP менее 200 миллисекунд и CLS ниже 0.1.
Как проверить результат оптимизации после правок?
Для аудита автор предлагает запуск npm run lighthouse -- --url=https://example.com или вызов функций getCLS, getFID и getLCP из пакета web-vitals в коде проекта.
Исходный текст
SKILL.md · MIT
---
name: core-web-vitals-tuner
description: Systematically improves Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) with prioritized fixes and verification. Use for "Core Web Vitals", "performance", "LCP", "INP", or "CLS".
---
# Core Web Vitals Tuner
Improve LCP, INP, and CLS systematically.
## LCP Optimization (<2.5s)
**Prioritized Fixes:**
1. **Optimize images** (Biggest impact)
```html
<!-- Before -->
<img src="hero.jpg" />
<!-- After -->
<img
src="hero.jpg"
srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w"
sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1200px"
loading="eager"
fetchpriority="high"
/>
```
2. **Preload LCP resource**
```html
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high" />
```
3. **Inline critical CSS**
```html
<style>
/* Above-the-fold styles */
.hero {
display: flex;
height: 100vh;
}
</style>
```
4. **Use CDN**
- Serve images from CloudFront/Cloudflare
- Enable HTTP/2 or HTTP/3
## INP Optimization (<200ms)
**Fixes:**
1. **Debounce expensive interactions**
```typescript
import { debounce } from "lodash";
const handleSearch = debounce((query) => {
fetchResults(query);
}, 300);
```
2. **Use Web Workers for heavy tasks**
```typescript
const worker = new Worker("processor.js");
worker.postMessage(largeData);
worker.onmessage = (e) => console.log(e.data);
```
3. **Code splitting**
```typescript
const HeavyComponent = lazy(() => import("./HeavyComponent"));
```
## CLS Optimization (<0.1)
**Fixes:**
1. **Reserve space for images/ads**
```html
<img src="banner.jpg" width="1200" height="600" />
```
2. **Use CSS aspect-ratio**
```css
.video-container {
aspect-ratio: 16 / 9;
}
```
3. **Avoid injecting content above existing**
```css
.notification {
position: fixed;
top: 0;
}
```
## Verification
```bash
# Lighthouse CI
npm run lighthouse -- --url=https://example.com
# Web Vitals in production
import { getCLS, getFID, getLCP } from 'web-vitals';
getCLS(console.log);
getFID(console.log);
getLCP(console.log);
```
## Output Checklist
- [ ] LCP optimized (<2.5s)
- [ ] INP optimized (<200ms)
- [ ] CLS optimized (<0.1)
- [ ] Monitoring in place
- [ ] Performance regression tests
ENDFILE
© patricio0312rev · MIT · patricio0312rev/skills