ChatGPT
Claude
Codex CLI
Cohere
Cursor
DeepSeek
Gemini
GitHub Copilot
GLM
Grok
Kimi
Llama
MiniMax
Mistral
OpenAI
opencode
Skill
performance-profiling
Performance profiling principles. Measurement, analysis, and optimization techniques.
Virus-scanned
Reviewed automatically before listing.
Download
sickn33-agentic-awesome-skills-skills_performance-profiling-286166a.zip · 2 KB
This skill couldn't be refreshed from GitHub on the last check — you're seeing the last imported snapshot.
Install
skills CLI
npx skills add https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/performance-profiling
Claude Code
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install sickn33-agentic-awesome-skills@llmmart
Git
git clone https://github.com/sickn33/agentic-awesome-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole sickn33/agentic-awesome-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Performance Profiling
Measure, analyze, optimize - in that order.
🔧 Runtime Scripts
Execute these for automated profiling:
| Script | Purpose | Usage |
|---|---|---|
scripts/lighthouse_audit.py |
Lighthouse performance audit | python scripts/lighthouse_audit.py https://example.com |
1. Core Web Vitals
Targets
| Metric | Good | Poor | Measures |
|---|---|---|---|
| LCP | < 2.5s | > 4.0s | Loading |
| INP | < 200ms | > 500ms | Interactivity |
| CLS | < 0.1 | > 0.25 | Stability |
When to Measure
| Stage | Tool |
|---|---|
| Development | Local Lighthouse |
| CI/CD | Lighthouse CI |
| Production | RUM (Real User Monitoring) |
2. Profiling Workflow
The 4-Step Process
1. BASELINE → Measure current state
2. IDENTIFY → Find the bottleneck
3. FIX → Make targeted change
4. VALIDATE → Confirm improvement
Profiling Tool Selection
| Problem | Tool |
|---|---|
| Page load | Lighthouse |
| Bundle size | Bundle analyzer |
| Runtime | DevTools Performance |
| Memory | DevTools Memory |
| Network | DevTools Network |
3. Bundle Analysis
What to Look For
| Issue | Indicator |
|---|---|
| Large dependencies | Top of bundle |
| Duplicate code | Multiple chunks |
| Unused code | Low coverage |
| Missing splits | Single large chunk |
Optimization Actions
| Finding | Action |
|---|---|
| Big library | Import specific modules |
| Duplicate deps | Dedupe, update versions |
| Route in main | Code split |
| Unused exports | Tree shake |
4. Runtime Profiling
Performance Tab Analysis
| Pattern | Meaning |
|---|---|
| Long tasks (>50ms) | UI blocking |
| Many small tasks | Possible batching opportunity |
| Layout/paint | Rendering bottleneck |
| Script | JavaScript execution |
Memory Tab Analysis
| Pattern | Meaning |
|---|---|
| Growing heap | Possible leak |
| Large retained | Check references |
| Detached DOM | Not cleaned up |
5. Common Bottlenecks
By Symptom
| Symptom | Likely Cause |
|---|---|
| Slow initial load | Large JS, render blocking |
| Slow interactions | Heavy event handlers |
| Jank during scroll | Layout thrashing |
| Growing memory | Leaks, retained refs |
6. Quick Win Priorities
| Priority | Action | Impact |
|---|---|---|
| 1 | Enable compression | High |
| 2 | Lazy load images | High |
| 3 | Code split routes | High |
| 4 | Cache static assets | Medium |
| 5 | Optimize images | Medium |
7. Anti-Patterns
| ❌ Don't | ✅ Do |
|---|---|
| Guess at problems | Profile first |
| Micro-optimize | Fix biggest issue |
| Optimize early | Optimize when needed |
| Ignore real users | Use RUM data |
Remember: The fastest code is code that doesn't run. Remove before optimizing.
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Files (agentic-awesome-skills)
-
scripts
-
lighthouse_audit.py 2.6 KB
#!/usr/bin/env python3 """ Skill: performance-profiling Script: lighthouse_audit.py Purpose: Run Lighthouse performance audit on a URL Usage: python lighthouse_audit.py https://example.com Output: JSON with performance scores Note: Requires lighthouse CLI (npm install -g lighthouse) """ import subprocess import json import sys import os import tempfile def run_lighthouse(url: str) -> dict: """Run Lighthouse audit on URL.""" try: with tempfile.NamedTemporaryFile(suffix='.json', delete=False) as f: output_path = f.name result = subprocess.run( [ "lighthouse", url, "--output=json", f"--output-path={output_path}", "--chrome-flags=--headless", "--only-categories=performance,accessibility,best-practices,seo" ], capture_output=True, text=True, timeout=120 ) if os.path.exists(output_path): with open(output_path, 'r') as f: report = json.load(f) os.unlink(output_path) categories = report.get("categories", {}) return { "url": url, "scores": { "performance": int(categories.get("performance", {}).get("score", 0) * 100), "accessibility": int(categories.get("accessibility", {}).get("score", 0) * 100), "best_practices": int(categories.get("best-practices", {}).get("score", 0) * 100), "seo": int(categories.get("seo", {}).get("score", 0) * 100) }, "summary": get_summary(categories) } else: return {"error": "Lighthouse failed to generate report", "stderr": result.stderr[:500]} except subprocess.TimeoutExpired: return {"error": "Lighthouse audit timed out"} except FileNotFoundError: return {"error": "Lighthouse CLI not found. Install with: npm install -g lighthouse"} def get_summary(categories: dict) -> str: """Generate summary based on scores.""" perf = categories.get("performance", {}).get("score", 0) * 100 if perf >= 90: return "[OK] Excellent performance" elif perf >= 50: return "[!] Needs improvement" else: return "[X] Poor performance" if __name__ == "__main__": if len(sys.argv) < 2: print(json.dumps({"error": "Usage: python lighthouse_audit.py <url>"})) sys.exit(1) result = run_lighthouse(sys.argv[1]) print(json.dumps(result, indent=2))
-
-
SKILL.md 3.5 KB
--- name: performance-profiling description: "Performance profiling principles. Measurement, analysis, and optimization techniques." risk: critical source: community date_added: "2026-02-27" --- # Performance Profiling > Measure, analyze, optimize - in that order. ## 🔧 Runtime Scripts **Execute these for automated profiling:** | Script | Purpose | Usage | |--------|---------|-------| | `scripts/lighthouse_audit.py` | Lighthouse performance audit | `python scripts/lighthouse_audit.py https://example.com` | --- ## 1. Core Web Vitals ### Targets | Metric | Good | Poor | Measures | |--------|------|------|----------| | **LCP** | < 2.5s | > 4.0s | Loading | | **INP** | < 200ms | > 500ms | Interactivity | | **CLS** | < 0.1 | > 0.25 | Stability | ### When to Measure | Stage | Tool | |-------|------| | Development | Local Lighthouse | | CI/CD | Lighthouse CI | | Production | RUM (Real User Monitoring) | --- ## 2. Profiling Workflow ### The 4-Step Process ``` 1. BASELINE → Measure current state 2. IDENTIFY → Find the bottleneck 3. FIX → Make targeted change 4. VALIDATE → Confirm improvement ``` ### Profiling Tool Selection | Problem | Tool | |---------|------| | Page load | Lighthouse | | Bundle size | Bundle analyzer | | Runtime | DevTools Performance | | Memory | DevTools Memory | | Network | DevTools Network | --- ## 3. Bundle Analysis ### What to Look For | Issue | Indicator | |-------|-----------| | Large dependencies | Top of bundle | | Duplicate code | Multiple chunks | | Unused code | Low coverage | | Missing splits | Single large chunk | ### Optimization Actions | Finding | Action | |---------|--------| | Big library | Import specific modules | | Duplicate deps | Dedupe, update versions | | Route in main | Code split | | Unused exports | Tree shake | --- ## 4. Runtime Profiling ### Performance Tab Analysis | Pattern | Meaning | |---------|---------| | Long tasks (>50ms) | UI blocking | | Many small tasks | Possible batching opportunity | | Layout/paint | Rendering bottleneck | | Script | JavaScript execution | ### Memory Tab Analysis | Pattern | Meaning | |---------|---------| | Growing heap | Possible leak | | Large retained | Check references | | Detached DOM | Not cleaned up | --- ## 5. Common Bottlenecks ### By Symptom | Symptom | Likely Cause | |---------|--------------| | Slow initial load | Large JS, render blocking | | Slow interactions | Heavy event handlers | | Jank during scroll | Layout thrashing | | Growing memory | Leaks, retained refs | --- ## 6. Quick Win Priorities | Priority | Action | Impact | |----------|--------|--------| | 1 | Enable compression | High | | 2 | Lazy load images | High | | 3 | Code split routes | High | | 4 | Cache static assets | Medium | | 5 | Optimize images | Medium | --- ## 7. Anti-Patterns | ❌ Don't | ✅ Do | |----------|-------| | Guess at problems | Profile first | | Micro-optimize | Fix biggest issue | | Optimize early | Optimize when needed | | Ignore real users | Use RUM data | --- > **Remember:** The fastest code is code that doesn't run. Remove before optimizing. ## When to Use This skill is applicable to execute the workflow or actions described in the overview. ## Limitations - Use this skill only when the task clearly matches the scope described above. - Do not treat the output as a substitute for environment-specific validation, testing, or expert review. - Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.