MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Performance-Optimization

Performance-Optimization是一款code方向的AI技能,核心价值是Comprehensive web performance standards based on Core Web Vitals (LCP, INP, CLS), with 50+ anti-patterns, detection regex, framework-specific fixes for modern web frameworks, and modern API guidance,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

Comprehensive web performance standards based on Core Web Vitals (LCP, INP, CLS), with 50+ anti-patterns, detection regex, framework-specific fixes for modern web frameworks, and modern API guidance.

Last verified on: 2026-05-30
mkdir -p ./skills/performance-optimization && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/performance-optimization/SKILL.md -o ./skills/performance-optimization/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Performance Standards


Comprehensive performance rules for web application development. Every anti-pattern includes a severity classification, detection method, Core Web Vitals metric impacted, and corrective code examples.


**Severity levels:**


- **CRITICAL** — Directly degrades a Core Web Vital past the "poor" threshold. Must be fixed before merge.

- **IMPORTANT** — Measurably impacts user experience. Fix in same sprint.

- **SUGGESTION** — Optimization opportunity. Plan for a future iteration.


---


Core Web Vitals Quick Reference


LCP (Largest Contentful Paint)


**Good: < 2.5s | Needs Improvement: 2.5-4s | Poor: > 4s**


Measures when the largest visible content element finishes rendering. Four sequential phases:


| Phase | Target | What It Measures |

|-------|--------|-----------------|

| TTFB | ~40% of budget | Server response time |

| Resource Load Delay | < 10% | Time between TTFB and LCP resource fetch start |

| Resource Load Duration | ~40% | Download time for the LCP resource |

| Element Render Delay | < 10% | Time between download and paint |


INP (Interaction to Next Paint)


**Good: < 200ms | Needs Improvement: 200-500ms | Poor: > 500ms**


Measures latency of all user interactions, reports the worst. Three phases:


| Phase | Optimization |

|-------|-------------|

| Input Delay | Break long tasks, yield to browser |

| Processing Time | Keep handlers < 50ms |

| Presentation Delay | Minimize DOM size, avoid forced layout |


> **Diagnostic tool:** Use the Long Animation Frames (LoAF) API (Chrome 123+) to debug INP issues. LoAF provides better attribution than the legacy Long Tasks API, including script source and rendering time.


CLS (Cumulative Layout Shift)


**Good: < 0.1 | Needs Improvement: 0.1-0.25 | Poor: > 0.25**


Layout shift sources: images without dimensions, dynamically injected content, web font FOUT, late-loading ads. Shifts within 500ms of user interaction are exempt.


---


Loading and LCP Anti-Patterns (L1-L10)


L1: Render-Blocking CSS Without Critical Extraction


- **Severity**: CRITICAL

- **Detection**: `<link.*rel="stylesheet"` in `<head>` loading large CSS

- **CWV**: LCP


html
<!-- BAD -->
<link rel="stylesheet" href="/styles/main.css" />

<!-- GOOD — inline critical CSS (extracted at build time), preload the rest -->
<style>/* critical above-fold CSS, inlined by a tool like Critters/Beasties */</style>
<link rel="preload" href="/styles/main.css" as="style" />
<link rel="stylesheet" href="/styles/main.css" />

Prefer build-time critical CSS extraction (e.g., Critters, Beasties, Next.js `experimental.optimizeCss`) plus a normal `<link rel="stylesheet">`. Avoid the older `media="print" onload="this.media='all'"` trick: inline event handlers are blocked under a strict CSP (no `'unsafe-inline'` / no `script-src-attr 'unsafe-inline'`), which would prevent the stylesheet from ever activating and cause a styling regression. If non-critical CSS truly must be deferred, load it via an **external** script that swaps `media`, not an inline handler.


L2: Render-Blocking Synchronous Script


- **Severity**: CRITICAL

- **Detection**: `<script.*src=` without `async|defer|type="module"`

- **CWV**: LCP


html
<!-- BAD -->
<script src="/vendor/analytics.js"></script>

<!-- GOOD -->
<script src="/vendor/analytics.js" defer></script>

L3: Missing Preconnect to Critical Origins


- **Severity**: IMPORTANT

- **Detection**: Third-party API/CDN URLs without `<link rel="preconnect">`

- **CWV**: LCP


html
<link rel="preconnect" href="https://api.example.com" />
<link rel="dns-prefetch" href="https://analytics.example.com" />

L4: Missing Preload for LCP Resource


- **Severity**: CRITICAL

- **Detection**: LCP image/font not preloaded

- **CWV**: LCP


html
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high" />

L5: Client-Side Data Fetching for Main Content


- **Severity**: CRITICAL

- **Detection**: `useEffect.*fetch|useEffect.*axios|ngOnInit.*subs

🎯 Best For

  • UI designers
  • Product designers
  • Claude users
  • GitHub Copilot users
  • Software engineers

💡 Use Cases

  • Generating component mockups
  • Creating design system tokens
  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Performance-Optimization to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Does this work with Figma?

Some design skills integrate with Figma plugins. Check the Works With section for supported tools.

Is Performance-Optimization compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Performance-Optimization?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Performance-Optimization?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/performance-optimization/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping usability testing

AI-generated designs should be validated with real users before development.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills