File contents Performance Profiler
When to activate
User runs /profile-performance or requests profiling of a component for render bottlenecks, optimization opportunities, and Core Web Vitals compliance.
When NOT to use
General component audits (use /component-auditor instead)
Accessibility reviews (use /review-a11y instead)
Server-side performance (this is frontend-only)
Instructions
Establish baseline metrics
Measure initial render time (with React DevTools Profiler)
Record re-render frequency and duration
Capture bundle size contribution (with webpack-bundle-analyzer)
Baseline Core Web Vitals (LCP, FID, CLS)
Identify bottlenecks
Unnecessary re-renders (children, props changes)
Expensive computations (unmoized selectors, filters)
Layout thrashing (reading then writing DOM in loops)
Large bundle dependencies (suggest tree-shaking)
Profile recommendations
useMemo for expensive computations
useCallback for dependent callbacks (event handlers, memo deps)
React.memo for pure components
Code splitting for lazy-loaded components
Virtualization for long lists
Measure post-optimization
Re-measure same metrics after change
Calculate improvement % (target >10% for significant changes)
Compare against Core Web Vitals targets
Document findings
Before/after metrics (render time, re-renders, bundle size)
Specific code examples for optimization
Estimated user impact (perceived performance improvement)
Example
User: "Profile this DataTable component — it feels slow."
Response:
Baseline: 320ms initial render, 45 re-renders/input change, 85KB bundle
Bottleneck: Entire table re-renders on every row filter (no memoization)
Recommendation: Wrap rows in React.memo, use useMemo for filtered data
Optimization: 120ms initial render (62% faster), 2 re-renders/input (95% fewer), same bundle
Impact: LCP improves from 2.8s to 1.9s, perceived snappiness increases
1 --- 2 name: performance-profiler-2 3 description: Performance Profiler 4 --- 5 # Performance Profiler 6 7 ## When to activate 8 9 User runs `/profile-performance` or requests profiling of a component for render bottlenecks, optimization opportunities, and Core Web Vitals compliance. 10 11 ## When NOT to use 12 13 - General component audits (use `/component-auditor` instead) 14 - Accessibility reviews (use `/review-a11y` instead) 15 - Server-side performance (this is frontend-only) 16 17 ## Instructions 18 19 1. **Establish baseline metrics** 20 - Measure initial render time (with React DevTools Profiler) 21 - Record re-render frequency and duration 22 - Capture bundle size contribution (with webpack-bundle-analyzer) 23 - Baseline Core Web Vitals (LCP, FID, CLS) 24 25 2. **Identify bottlenecks** 26 - Unnecessary re-renders (children, props changes) 27 - Expensive computations (unmoized selectors, filters) 28 - Layout thrashing (reading then writing DOM in loops) 29 - Large bundle dependencies (suggest tree-shaking) 30 31 3. **Profile recommendations** 32 - `useMemo` for expensive computations 33 - `useCallback` for dependent callbacks (event handlers, memo deps) 34 - `React.memo` for pure components 35 - Code splitting for lazy-loaded components 36 - Virtualization for long lists 37 38 4. **Measure post-optimization** 39 - Re-measure same metrics after change 40 - Calculate improvement % (target >10% for significant changes) 41 - Compare against Core Web Vitals targets 42 43 5. **Document findings** 44 - Before/after metrics (render time, re-renders, bundle size) 45 - Specific code examples for optimization 46 - Estimated user impact (perceived performance improvement) 47 48 ## Example 49 50 User: "Profile this DataTable component — it feels slow." 51 52 Response: 53 - **Baseline:** 320ms initial render, 45 re-renders/input change, 85KB bundle 54 - **Bottleneck:** Entire table re-renders on every row filter (no memoization) 55 - **Recommendation:** Wrap rows in `React.memo`, use `useMemo` for filtered data 56 - **Optimization:** 120ms initial render (62% faster), 2 re-renders/input (95% fewer), same bundle 57 - **Impact:** LCP improves from 2.8s to 1.9s, perceived snappiness increases
UitbreidenOS/UitKit/tree/main/professional-stacks/frontend_engineer_stack/skills/performance-profiler commit 09cc115ae8
Frequently asked questions How do I install the Performance Profiler skill? Run npx skillmds@latest add uitbreidenos/performance-profiler-2 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Performance Profiler skill do? Performance Profiler It is listed under Coding & Dev Tools on SkillMD.
Is Performance Profiler safe to use? This skill has not completed SkillMD's automated safety review yet. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Performance Profiler? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Performance Profiler free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Performance Profiler? UitbreidenOS (@uitbreidenos) published this skill. Their other Agent Skills are listed on their SkillMD profile.