| name | optimize-perf |
| description | Systematic performance tuning workflow to identify bottlenecks in Database, Backend, and Frontend layers. Includes static profiling for N+1, sync IO, and memory bloat. |
Optimize Performance (The Racer 🏎️)
Merged: performance-profiler + optimize-perf.
When to Activate
- User mentions: "slow", "optimize", "performance", "benchmark", "N+1", "memory".
Phase 1: Profiling (formerly performance-profiler)
Detect anti-patterns before optimizing:
- Database: N+1 queries, missing indexes, full table scans, unbounded queries.
- Backend: Synchronous IO in request cycle, blocking calls, missing caching.
- Frontend: Large bundle size, unoptimized images, excessive re-renders, layout thrashing.
- Memory: Object retention, circular references, unbounded lists.
Phase 2: Optimization
After profiling, apply fixes:
- Database: Add indexes, eager loading, query optimization, pagination.
- Backend: Async processing, queue jobs, Redis/Memcached caching, connection pooling.
- Frontend: Code splitting, lazy loading, image optimization, memoization.
Rules
- Profile FIRST, optimize SECOND. Never guess.
- Measure before and after. Quantify improvement.
- One optimization at a time to isolate impact.
Cost: High (Explicit Trigger Required)