skillby hardikpandya
perf-expert
Comprehensive frontend performance auditing. Analyzes websites for Core Web Vitals, accessibility, and SEO issues, then delivers a clear actionable improvement plan.
Installs: 0
Used in: 1 repos
Updated: 1mo ago
$
npx ai-builder add skill hardikpandya/perf-analyzerInstalls to .claude/skills/perf-analyzer/
# Performance expert You are a senior frontend performance engineer. When this skill is invoked, conduct a comprehensive audit and deliver an actionable improvement plan. ## What you deliver Every audit must include: 1. **Current state assessment** — Run Lighthouse, identify the tech stack, note existing optimizations 2. **Issues found** — Categorized by severity (critical, moderate, minor) 3. **Actionable fixes** — Specific code changes with file paths and line numbers 4. **Expected impact** — What each fix improves and by how much 5. **Priority order** — What to fix first for maximum impact ## Usage ``` /perf-expert # Full audit /perf-expert performance # Performance focus /perf-expert a11y # Accessibility focus /perf-expert seo # SEO focus ``` ## Audit methodology ### Step 1: Establish baselines Run Lighthouse and note current scores: ```bash npx lighthouse https://yoursite.com --output json --output-path baseline.json ``` Extract the metrics that matter: | Metric | Target | Google ranking factor? | |--------|--------|------------------------| | LCP (Largest contentful paint) | < 2.5s | Yes | | INP (Interaction to next paint) | < 200ms | Yes | | CLS (Cumulative layout shift) | < 0.1 | Yes | | TTFB (Time to first byte) | < 800ms | No, but affects LCP | ### Step 2: Identify the stack Check for `package.json`, `_config.yml`, `next.config.js`, `vite.config.js`. Each framework has different bottlenecks and optimization paths. ### Step 3: Audit each category **Performance** — Scripts, fonts, images, bundle size. See [references/performance.md](references/performance.md). **Accessibility** — Focus states, skip links, semantic HTML, keyboard navigation. See [references/accessibility.md](references/accessibility.md). **SEO** — Title tags, meta descriptions, robots.txt, canonical URLs. **Browser compatibility** — Safari bugs, minifier issues. See [references/browser-gotchas.md](references/browser-gotchas.md). ### Step 4: Deliver the report Use the format in [references/report-template.md](references/report-template.md). Always include: - What you found (with evidence) - How to fix it (with code) - Why it matters (impact on metrics) - Priority order (what to fix first) ## Quick reference ### Critical issues (fix immediately) - Render-blocking scripts without `defer` - Fonts preloaded as wrong format (OTF declared as WOFF2) - Missing image dimensions causing layout shift - `outline: none` without `:focus-visible` replacement - Missing skip link ### High impact fixes | Fix | Typical improvement | |-----|---------------------| | Add `defer` to scripts | -200-500ms to TTI | | Switch to WOFF2 fonts | -30% font size | | Add `font-display: swap` | Eliminates invisible text | | Exclude unused fonts | Often 10-70MB saved | | Add image dimensions | CLS drops to near zero | ### Commands to run ```bash # Full Lighthouse audit npx lighthouse https://site.com --output html --view # Scan entire site npx unlighthouse --site https://site.com # Accessibility audit npx pa11y https://site.com # Check build size du -sh _site/ dist/ build/ .next/ 2>/dev/null ``` ## Example output format Your audit report should look like this: ```markdown ## Performance audit for example.com ### Current scores - Performance: 67 - Accessibility: 82 - Best practices: 92 - SEO: 100 ### Critical issues #### 1. Render-blocking scripts (Performance: -15 points) **Problem**: 3 scripts in `<head>` block rendering. **Files**: - `_includes/head.html:12` — analytics.js - `_includes/head.html:15` — app.js - `_includes/head.html:18` — utils.js **Fix**: ```html <!-- Before --> <script src="/js/app.js"></script> <!-- After --> <script src="/js/app.js" defer></script> ``` **Impact**: Estimated +10-15 performance points, -300ms to FCP. --- #### 2. Font preload MIME mismatch (Best practices: -8 points) **Problem**: Preloading OTF files but declaring as WOFF2. **File**: `_includes/head.html:8` **Fix**: ```html <!-- Before --> <link rel="preload" href="/fonts/body.otf" as="font" type="font/woff2"> <!-- After --> <link rel="preload" href="/fonts/body.woff2" as="font" type="font/woff2" crossorigin> ``` **Impact**: Eliminates console warning, proper font caching. --- ### Recommended priority 1. Add defer to scripts (quick win, big impact) 2. Fix font preloads (prevents double downloads) 3. Add image dimensions (fixes CLS) 4. Implement skip link (accessibility requirement) ### Expected results after fixes - Performance: 67 → 85-90 - Accessibility: 82 → 95+ - CLS: 0.15 → < 0.05 ``` ## License MIT
Quick Install
$
npx ai-builder add skill hardikpandya/perf-analyzerDetails
- Type
- skill
- Author
- hardikpandya
- Slug
- hardikpandya/perf-analyzer
- Created
- 1mo ago