Token导航 LogoToken导航TokenDH.com
研究检索external-servicegithub未标认证来源可访问许可证需确认审计提醒

webperf-core-web-vitalswebperf 核心 Web Vitals

Agent Skill

webperf-core-web-vitals 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,856

周安装

119

GitHub Stars

1,437

下载量

952
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:webperf-core-web-vitals(webperf 核心 Web Vitals)
来源仓库:https://github.com/nucliweb/webperf-snippets
仓库路径:skills/webperf-core-web-vitals
安装命令:
npx skills add https://github.com/nucliweb/webperf-snippets --skill webperf-core-web-vitals
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/nucliweb/webperf-snippets --skill webperf-core-web-vitals

简介

webperf-core-web-vitals 用于查找、检索和筛选相关信息。

  • 适用于根据关键词或任务场景从来源中获取信息的场景。
  • 通过 npx skills add 命令安装,建议查看原始 README 掌握用法。
  • 使用前需确认权限与维护状态,避免触发联网或文件操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

WebPerf: Core Web Vitals

JavaScript snippets for measuring web performance in Chrome DevTools. Execute with mcp__chrome-devtools__evaluate_script, capture output with mcp__chrome-devtools__get_console_message.

Scripts

  • scripts/CLS.js — Cumulative Layout Shift (CLS)
  • scripts/INP.js — Interaction to Next Paint (INP)
  • scripts/LCP-Image-Entropy.js — LCP Image Entropy
  • scripts/LCP-Subparts.js — LCP Subparts
  • scripts/LCP-Trail.js — LCP Trail
  • scripts/LCP-Video-Candidate.js — LCP Video Candidate
  • scripts/LCP.js — Largest Contentful Paint (LCP)

Common Workflows

Complete Core Web Vitals Audit

When the user asks for a comprehensive Core Web Vitals analysis or "audit CWV":

  1. LCP.js - Measure Largest Contentful Paint
  2. CLS.js - Measure Cumulative Layout Shift
  3. INP.js - Measure Interaction to Next Paint
  4. LCP-Subparts.js - Break down LCP timing phases
  5. LCP-Trail.js - Track LCP candidate evolution

LCP Deep Dive

When LCP is slow or the user asks "debug LCP" or "why is LCP slow":

  1. LCP.js - Establish baseline LCP value
  2. LCP-Subparts.js - Break down into TTFB, resource load, render delay
  3. LCP-Trail.js - Identify all LCP candidates and changes
  4. LCP-Image-Entropy.js - Check if LCP image has visual complexity issues
  5. LCP-Video-Candidate.js - Detect if LCP is a video (poster or video element)

CLS Investigation

When layout shifts are detected or the user asks "debug CLS" or "layout shift issues":

  1. CLS.js - Measure overall CLS score
  2. Layout-Shift-Loading-and-Interaction.js *(pending — available in webperf-interaction skill)*
  3. Cross-reference with webperf-loading skill:

- Find-Above-The-Fold-Lazy-Loaded-Images.js (lazy images causing shifts) - Fonts-Preloaded-Loaded-and-used-above-the-fold.js (font swap causing shifts)

INP Debugging

When interactions feel slow or the user asks "debug INP" or "slow interactions":

  1. INP.js - Measure overall INP value; call getINP() after interactions, getINPDetails() for full list
  2. Interactions.js *(pending — available in webperf-interaction skill)*
  3. Input-Latency-Breakdown.js *(pending — available in webperf-interaction skill)*
  4. Long-Animation-Frames.js *(pending — available in webperf-interaction skill)*
  5. Long-Animation-Frames-Script-Attribution.js *(pending — available in webperf-interaction skill)*

Video as LCP Investigation

When LCP is a video element (detected by LCP-Video-Candidate.js):

  1. LCP-Video-Candidate.js - Identify video as LCP candidate
  2. Video-Element-Audit.js (from Media skill) - Audit video loading strategy
  3. LCP-Subparts.js - Analyze video loading phases
  4. Cross-reference with webperf-loading skill:

- Resource-Hints-Validation.js (check for video preload) - Priority-Hints-Audit.js (check for fetchpriority on video)

Image as LCP Investigation

When LCP is an image (most common case):

  1. LCP.js - Measure LCP timing
  2. LCP-Subparts.js - Break down timing phases
  3. LCP-Image-Entropy.js - Analyze image complexity
  4. Cross-reference with webperf-media skill:

- Image-Element-Audit.js (check format, dimensions, lazy loading)

  1. Cross-reference with webperf-loading skill:

- Find-Above-The-Fold-Lazy-Loaded-Images.js (check if incorrectly lazy) - Priority-Hints-Audit.js (check for fetchpriority="high") - Resource-Hints-Validation.js (check for preload)

Decision Tree

Use this decision tree to automatically run follow-up snippets based on results:

After LCP.js

  • If LCP > 2.5s → Run LCP-Subparts.js to diagnose which phase is slow
  • If LCP > 4.0s (poor) → Run full LCP deep dive workflow (5 snippets)
  • If LCP candidate is an image → Run LCP-Image-Entropy.js and webperf-media:Image-Element-Audit.js
  • If LCP candidate is a video → Run LCP-Video-Candidate.js and webperf-media:Video-Element-Audit.js
  • Always runLCP-Trail.js to understand candidate evolution

After LCP-Subparts.js

  • If TTFB phase > 600ms → Switch to webperf-loading skill and run TTFB-Sub-Parts.js
  • If Resource Load Time > 1500ms → Run:

1. webperf-loading:Resource-Hints-Validation.js (check for preload/preconnect) 2. webperf-loading:Priority-Hints-Audit.js (check fetchpriority) 3. webperf-loading:Find-render-blocking-resources.js (competing resources)

  • If Render Delay > 200ms → Run:

1. webperf-loading:Find-render-blocking-resources.js (blocking CSS/JS) 2. webperf-loading:Script-Loading.js (parser-blocking scripts) 3. webperf-interaction:Long-Animation-Frames.js (main thread blocking)

After LCP-Trail.js

  • If many LCP candidate changes (>3) → This causes visual instability, investigate:

1. webperf-loading:Find-Above-The-Fold-Lazy-Loaded-Images.js (late-loading images) 2. webperf-loading:Fonts-Preloaded-Loaded-and-used-above-the-fold.js (font swaps) 3. CLS.js (layout shifts contributing to LCP changes)

  • If final LCP candidate appears late → Run webperf-loading:Resource-Hints-Validation.js
  • If early candidate was replaced → Understand why initial content was pushed down (likely CLS issue)

After LCP-Image-Entropy.js

  • If entropy is very high → Image is visually complex, recommend:

- Modern formats (WebP, AVIF) - Appropriate compression - Potentially a placeholder strategy

  • If entropy is low → Image may be over-optimized or placeholder-like
  • If large file size detected → Run webperf-media:Image-Element-Audit.js for format/sizing analysis

After LCP-Video-Candidate.js

  • If video is LCP → Run:

1. webperf-media:Video-Element-Audit.js (check poster, preload, formats) 2. webperf-loading:Priority-Hints-Audit.js (check fetchpriority on poster) 3. LCP-Subparts.js (analyze video loading phases)

  • If poster image is LCP → Treat as image LCP (run image workflows)

After CLS.js

  • If CLS > 0.1 → Run webperf-interaction:Layout-Shift-Loading-and-Interaction.js *(pending — available in webperf-interaction skill)*
  • If CLS > 0.25 (poor) → Run comprehensive shift investigation:

1. webperf-loading:Find-Above-The-Fold-Lazy-Loaded-Images.js (images without dimensions) 2. webperf-loading:Fonts-Preloaded-Loaded-and-used-above-the-fold.js (font loading strategy) 3. webperf-loading:Critical-CSS-Detection.js (late-loading styles) 4. webperf-media:Image-Element-Audit.js (missing width/height)

  • If CLS = 0 → Confirm with multiple page loads (might be timing-dependent)

After INP.js

  • If INP > 200ms → Run webperf-interaction:Interactions.js to identify slow interactions
  • If INP > 500ms (poor) → Run full INP debugging workflow:

1. webperf-interaction:Interactions.js (list all interactions) 2. webperf-interaction:Input-Latency-Breakdown.js (phase breakdown) 3. webperf-interaction:Long-Animation-Frames.js (blocking frames) 4. webperf-interaction:Long-Animation-Frames-Script-Attribution.js (culprit scripts)

  • If specific interaction type is slow (e.g., keyboard) → Focus analysis on that interaction type
  • After INP data is collected → call getINPDetails() for the full sorted interaction list (useful for identifying patterns across multiple slow interactions)

Error Recovery

  • If any script returns status: "error" → Check if the page has finished loading:

- If early in load: wait and re-run the script - If page is an SPA: user may need to navigate to the target route first

  • If LCP.js / LCP-Subparts.js returns status: "error" → Tell the user: "LCP data is not available yet. Please ensure the page has fully loaded, then run the analysis again."
  • If INP.js getINP() returns status: "error" → The getDataFn: "getINP" field signals the agent can retry after user interaction. Prompt the user to click, type, or scroll, then call getINP() again.

Cross-Skill Triggers

Context fork note: This skill runs with context: fork. Cross-skill triggers below are recommendations to report back to the parent agent, not direct calls this subagent can execute. When a cross-skill trigger fires, tell the user which skill and script to run next. Scripts marked *(pending)* are not yet available — skip them and note the limitation.

These triggers recommend using snippets from other skills:

From LCP to Loading Skill

  • If LCP > 2.5s and TTFB phase is dominant → Use webperf-loading skill:

- TTFB.js, TTFB-Sub-Parts.js, Service-Worker-Analysis.js

  • If LCP image is lazy-loaded → Use webperf-loading skill:

- Find-Above-The-Fold-Lazy-Loaded-Images.js

  • If LCP has no fetchpriority → Use webperf-loading skill:

- Priority-Hints-Audit.js

From CLS to Loading Skill

  • If CLS caused by fonts → Use webperf-loading skill:

- Fonts-Preloaded-Loaded-and-used-above-the-fold.js - Resource-Hints-Validation.js (for font preload)

  • If CLS caused by images → Use webperf-media skill:

- Image-Element-Audit.js (check for width/height attributes)

From INP to Interaction Skill

  • If INP > 200ms → Use webperf-interaction skill for full debugging:

- Interactions.js, Input-Latency-Breakdown.js - Long-Animation-Frames.js, Long-Animation-Frames-Script-Attribution.js - LongTask.js (if pre-interaction blocking suspected)

From LCP/INP to Interaction Skill

  • If render delay or interaction delay is high → Use webperf-interaction skill:

- Long-Animation-Frames.js (main thread blocking) - LongTask.js (long tasks delaying rendering)

Multi-Metric Correlation

When multiple CWV metrics are poor, prioritize investigation:

  • If LCP > 2.5s AND CLS > 0.1 → Likely shared root cause:

1. Check for late-loading content pushing LCP element 2. Run LCP-Trail.js to see LCP candidate changes 3. Run Layout-Shift-Loading-and-Interaction.js to correlate timing

  • If LCP > 2.5s AND INP > 200ms → Main thread congestion:

1. Run Long-Animation-Frames.js 2. Run webperf-loading:Script-Loading.js 3. Run webperf-loading:JS-Execution-Time-Breakdown.js

  • If CLS > 0.1 AND INP > 200ms → Layout thrashing or interaction-triggered shifts:

1. Run Layout-Shift-Loading-and-Interaction.js 2. Run Interactions.js 3. Check if shifts occur during/after interactions

References

  • references/snippets.md — Descriptions and thresholds for each script
  • references/schema.md — Return value schema for interpreting script output

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.8%
按下载量换算369

Claude

27.52%
按下载量换算262

Cursor

17.02%
按下载量换算162

Gemini CLI

9.64%
按下载量换算92

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills