跳到主内容
智客 ZICQ

技能库 智客分类:Agent 工作流 web-perf

Web Perf

审计,诊断,或优化网站加载和互动性能,Core Web Vitals,和灯塔性能分数.

70664 安装量

官方网址:skills.sh

技能介绍

先看中文介绍;官方 description 原文单独保留,不改写 SKILL.md。

做什么

审计,诊断,或优化网站加载和互动性能,Core Web Vitals,和灯塔性能分数.

何时用

官方 description 未单独写出 Use when。按规范,代理会在用户任务与这段 description 的关键词匹配时激活本技能。

代理如何加载

按 Agent Skills 渐进披露:启动时只加载 name 与 description(约 100 token);任务匹配后才读入整份 SKILL.md 正文;scripts/、references/、assets/ 仅在需要时再读。 本文件正文结构:Web Performance Audit、Retrieval Sources、FIRST: Verify MCP Tools Available、Key Guidelines、Quick Reference、Workflow。 其中含规范建议的小节:分步指令。

文件分析

文件分析:这是一份仅含 SKILL.md 的指令型技能,代理激活后整份正文进入上下文。

官方 description(原文)

Audit, diagnose, or optimize website loading and interaction performance, Core Web Vitals, and Lighthouse performance scores.

Web Performance AuditRetrieval SourcesFIRST: Verify MCP Tools AvailableKey GuidelinesQuick ReferenceWorkflowPhase 1: Performance TracePhase 2: Core Web Vitals AnalysisPhase 3: Network AnalysisPhase 4: Accessibility SnapshotPhase 5: Codebase AnalysisDetect Framework & Bundler

来源分类:skills.sh agent-skill

SKILL.md 与 Agent 调用

官方规范 ↗
name
web-perf
description
Audit, diagnose, or optimize website loading and interaction performance, Core Web Vitals, and Lighthouse performance scores.
  1. 发现技能客户端向 Agent 提供名称与描述目录。
  2. 匹配与调用用户指定或任务匹配后,载入 SKILL.md 指令。
  3. 按需加载按步骤读取参考文档、使用脚本与素材。

具体调用语法与可用工具以目标 Agent 客户端为准。 查看调用机制说明 ↗

安装这个技能

Skills CLI ↗

先选择目标 Agent 和安装范围,保留技能包的附属文件,安装后检查客户端能否发现该技能。

交给 Agent 安装

复制安装指令给支持 Agent Skills 的代理,确认其中的目标目录与客户端匹配。

把 Agent Skill「web-perf」安装到我的项目:SKILL.md 原文与官方 description 见 https://zicq.com/zh/skills/skl-70ec923911710dd7-Web-Perf.html
请存为 .cursor/skills/web-perf/SKILL.md 或 .claude/skills/web-perf/SKILL.md,frontmatter 的 name 与 description 保持原样,不要改写。

GitHub 完整包 ↗

终端安装 · Skills CLI

需要 Node.js 与 npx。先查看仓库技能列表,确认实际名称。

npx skills add 'https://github.com/cloudflare/skills' --list

npx skills add 'https://github.com/cloudflare/skills' --skill 'web-perf'

CLI 会交互选择目标 Agent,默认安装到项目;用户级安装使用 -g。先通过查看命令核对仓库内容,再用 npx skills list 检查已安装技能。

阅读排版
--- name: web-perf description: Audit, diagnose, or optimize website loading and interaction performance, Core Web Vitals, and Lighthouse performance scores. --- # Web Performance Audit Your knowledge of web performance metrics, thresholds, and tooling APIs may be outdated. **Prefer retrieval over pre-training** when citing specific numbers or recommendations. ## Retrieval Sources | Source | How to retrieve | Use for | |--------|----------------|---------| | web.dev | `https://web.dev/articles/vitals` | Core Web Vitals thresholds, definitions | | Chrome DevTools docs | `https://developer.chrome.com/docs/devtools/performance` | Tooling APIs, trace analysis | | Lighthouse scoring | `https://developer.chrome.com/docs/lighthouse/performance/performance-scoring` | Score weights, metric thresholds | ## FIRST: Verify MCP Tools Available Discover available browser and performance tools before starting. Use the capabilities available for the requested audit. If trace tools are unavailable, continue any useful source or network analysis and state which measurements could not be collected. If the user wants Chrome DevTools MCP setup, consult its [installation guide](https://github.com/ChromeDevTools/chrome-devtools-mcp#quick-start) and use the latest package version. Only change MCP configuration when setup is within the user's authorized scope; otherwise ask first. For clients using `command` and `args`, an example server entry is: ```json "chrome-devtools": { "command": "npx", "args": ["-y", "chrome-devtools-mcp@latest"] } ``` ## Key Guidelines - **Be assertive**: Verify claims by checking network requests, DOM, or codebase—then state findings definitively. - **Verify before recommending**: Confirm something is unused before suggesting removal. - **Quantify impact**: Use estimated savings from insights. Don't prioritize changes with 0ms impact. - **Skip non-issues**: If render-blocking resources have 0ms estimated impact, note but don't recommend action. - **Be specific**: Say "compress hero.png (450KB) to WebP" not "optimize images". - **Prioritize ruthlessly**: A site with 200ms LCP and 0 CLS is already excellent—say so. ## Quick Reference | Task | Tool Call | |------|-----------| | Load page | `navigate_page(url: "...")` | | Start trace | `performance_start_trace(autoStop: true, reload: true)` | | Analyze insight | `performance_analyze_insight(insightSetId: "...", insightName: "...")` | | List requests | `list_network_requests(resourceTypes: ["Script", "Stylesheet", ...])` | | Request details | `get_network_request(reqid: )` | | A11y snapshot | `take_snapshot(verbose: true)` | ## Workflow Copy this checklist to track progress: ``` Audit Progress: - [ ] Phase 1: Performance trace (navigate + record) - [ ] Phase 2: Core Web Vitals analysis (includes CLS culprits) - [ ] Phase 3: Network analysis - [ ] Phase 4: Accessibility snapshot - [ ] Phase 5: Codebase analysis (skip if third-party site) ``` ### Phase 1: Performance Trace 1. Navigate to the target URL: ``` navigate_page(url: "") ``` 2. Start a performance trace with reload to capture cold-load metrics: ``` performance_start_trace(autoStop: true, reload: true) ``` 3. Wait for trace completion, then retrieve results. **Troubleshooting:** - If trace returns empty or fails, verify the page loaded correctly with `navigate_page` first - If insight names don't match, inspect the trace response to list available insights ### Phase 2: Core Web Vitals Analysis Use `performance_analyze_insight` to extract key metrics. **Note:** Insight names may vary across Chrome DevTools versions. If an insight name doesn't work, check the `insightSetId` from the trace response to discover available insights. Common insight names: | Metric | Insight Name | What to Look For | |--------|--------------|------------------| | LCP | `LCPBreakdown` | Time to largest contentful paint; breakdown of TTFB, resource load, render delay | | CLS | `CLSCulprits` | Elements causing layout shifts (images without dimensions, injected content, font swaps) | | Render Blocking | `RenderBlocking` | CSS/JS blocking first paint | | Document Latency | `DocumentLatency` | Server response time issues | | Network Dependencies | `NetworkRequestsDepGraph` | Request chains delaying critical resources | Example: ``` performance_analyze_insight(insightSetId: "", insightName: "LCPBreakdown") ``` **Key thresholds (good/needs-improvement/poor):** - TTFB: < 800ms / < 1.8s / > 1.8s - FCP: < 1.8s / < 3s / > 3s - LCP: < 2.5s / < 4s / > 4s - INP: < 200ms / < 500ms / > 500ms - TBT: < 200ms / < 600ms / > 600ms - CLS: < 0.1 / < 0.25 / > 0.25 - Speed Index: < 3.4s / < 5.8s / > 5.8s ### Phase 3: Network Analysis List all network requests to identify optimization opportunities: ``` list_network_requests(resourceTypes: ["Script", "Stylesheet", "Document", "Font", "Image"]) ``` **Look for:** 1. **Render-blocking resources**: JS/CSS in `` without `async`/`defer`/`media` attributes 2. **Network chains**: Resources discovered late because they depend on other resources loading first (e.g., CSS imports, JS-loaded fonts) 3. **Missing preloads**: Critical resources (fonts, hero images, key scripts) not preloaded 4. **Caching issues**: Missing or weak `Cache-Control`, `ETag`, or `Last-Modified` headers 5. **Large payloads**: Uncompressed or oversized JS/CSS bundles 6. **Unused preconnects**: If flagged, verify by checking if ANY requests went to that origin. If zero requests, it's definitively unused—recommend removal. If requests exist but loaded late, the preconnect may still be valuable. For detailed request info: ``` get_network_request(reqid: ) ``` ### Phase 4: Accessibility Snapshot Take an accessibility tree snapshot: ``` take_snapshot(verbose: true) ``` **Flag high-level gaps:** - Missing or duplicate ARIA IDs - Elements with poor contrast ratios (check against WCAG AA: 4.5:1 for normal text, 3:1 for large text) - Focus traps or missing focus indicators - Interactive elements without accessible names ## Phase 5: Codebase Analysis **Skip if auditing a third-party site without codebase access.** Analyze the codebase to understand where improvements can be made. ### Detect Framework & Bundler Search for configuration files to identify the stack: | Tool | Config Files | |------|--------------| | Webpack | `webpack.config.js`, `webpack.*.js` | | Vite | `vite.config.js`, `vite.config.ts` | | Rollup | `rollup.config.js`, `rollup.config.mjs` | | esbuild | `esbuild.config.js`, build scripts with `esbuild` | | Parcel | `.parcelrc`, `package.json` (parcel field) | | Next.js | `next.config.js`, `next.config.mjs` | | Nuxt | `nuxt.config.js`, `nuxt.config.ts` | | SvelteKit | `svelte.config.js` | | Astro | `astro.config.mjs` | Also check `package.json` for framework dependencies and build scripts. ### Tree-Shaking & Dead Code - **Webpack**: Check for `mode: 'production'`, `sideEffects` in package.json, `usedExports` optimization - **Vite/Rollup**: Tree-shaking enabled by default; check for `treeshake` options - **Look for**: Barrel files (`index.js` re-exports), large utility libraries imported wholesale (lodash, moment) ### Unused JS/CSS - Check for CSS-in-JS vs. static CSS extraction - Look for PurgeCSS/UnCSS configuration (Tailwind's `content` config) - Identify dynamic imports vs. eager loading ### Polyfills - Check for `@babel/preset-env` targets and `useBuiltIns` setting - Look for `core-js` imports (often oversized) - Check `browserslist` config for overly broad targeting ### Compression & Minification - Check for `terser`, `esbuild`, or `swc` minification - Look for gzip/brotli compression in build output or server config - Check for source maps in production builds (should be external or disabled) ## Output Format Present findings as: 1. **Core Web Vitals Summary** - Table with metric, value, and rating (good/needs-improvement/poor) 2. **Top Issues** - Prioritized list of problems with estimated impact (high/medium/low) 3. **Recommendations** - Specific, actionable fixes with code snippets or config changes 4. **Codebase Findings** - Framework/bundler detected, optimization opportunities (omit if no codebase access)

相关技能

Agent 工作流

Skill Creator

创造有效技能指南。 当用户想创造出新的技能(或更新现有的技能),以专业知识,工作流程,或工具集成来扩展克洛德的能力时,应该使用这种技能.

Agent 工作流

Clawdhub

使用ClawdHub CLI搜索,安装,更新并发布从taladhub.com的代理技能. 需要获取苍蝇上的新技能时使用,将安装的技能同步到最新版本或特定版本,或者发布 npm-instainddhub CLI 的新/更新的技能文件夹.

Agent 工作流

Agent Team Orchestration

管弦乐团多代理团队,任务设定周期,交接协议,审查工作流程. 使用时间: (1)建立2+特派员队伍,具有不同专业,(2)确定任务路线和生命周期(收录框_ spec_建设_审查_完成),(3)在特派员之间制定交接协议,(4)建立审查和质量关口,(5)管理特派员之间的交流和文物共享.

Agent 工作流

Superpowers

Spec-first,TDD,子代理驱动的软件开发工作流程. 当:(1)构建任何新功能或应用——触发脑暴_计划_子代理执行回路,(2)调试出一个bug或测试失败——触发系统性的根起过程,(3)用户说"让我们构建","帮助我计划","我想添加X",或"这个被打破",(4)完成一个功…