Agent skill
performance-optimization
Full-stack performance analysis, optimization patterns, and monitoring strategies
Install this agent skill to your Project
npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/ariegoldkin/performance-optimization
SKILL.md
Performance Optimization Skill
Comprehensive frameworks for analyzing and optimizing application performance across the entire stack.
When to Use
- Application feels slow or unresponsive
- Database queries taking too long
- Frontend bundle size too large
- API response times exceed targets
- Core Web Vitals need improvement
- Preparing for scale or high traffic
Performance Targets
Core Web Vitals (Frontend)
| Metric | Good | Needs Work |
|---|---|---|
| LCP (Largest Contentful Paint) | < 2.5s | < 4s |
| INP (Interaction to Next Paint) | < 200ms | < 500ms |
| CLS (Cumulative Layout Shift) | < 0.1 | < 0.25 |
| TTFB (Time to First Byte) | < 200ms | < 600ms |
Backend Targets
| Operation | Target |
|---|---|
| Simple reads | < 100ms |
| Complex queries | < 500ms |
| Write operations | < 200ms |
| Index lookups | < 10ms |
Bottleneck Categories
| Category | Symptoms | Tools |
|---|---|---|
| Network | High TTFB, slow loading | Network tab, WebPageTest |
| Database | Slow queries, pool exhaustion | EXPLAIN ANALYZE, pg_stat_statements |
| CPU | High usage, slow compute | Profiler, flame graphs |
| Memory | Leaks, GC pauses | Heap snapshots |
| Rendering | Layout thrashing | React DevTools, Performance tab |
Database Optimization
Key Patterns
- Add Missing Indexes - Turn
Seq ScanintoIndex Scan - Fix N+1 Queries - Use JOINs or
includeinstead of loops - Cursor Pagination - Never load all records
- Connection Pooling - Manage connection lifecycle
Quick Diagnostics
-- Find slow queries (PostgreSQL)
SELECT query, calls, mean_time / 1000 as mean_seconds
FROM pg_stat_statements ORDER BY total_time DESC LIMIT 10;
-- Verify index usage
EXPLAIN ANALYZE SELECT * FROM orders WHERE user_id = 123;
See
templates/database-optimization.tsfor N+1 fixes and pagination patterns
Caching Strategy
Cache Hierarchy
L1: In-Memory (LRU, memoization) - fastest
L2: Distributed (Redis/Memcached) - shared
L3: CDN (edge, static assets) - global
L4: Database (materialized views) - fallback
Cache-Aside Pattern
const cached = await redis.get(key);
if (cached) return JSON.parse(cached);
const data = await db.query(...);
await redis.setex(key, 3600, JSON.stringify(data));
return data;
See
templates/caching-patterns.tsfor full implementation
Frontend Optimization
Bundle Optimization
- Code Splitting -
lazy()for route-based splitting - Tree Shaking - Import only what you need
- Image Optimization - WebP/AVIF, lazy loading, proper sizing
Rendering Optimization
- Memoization -
memo(),useCallback(),useMemo() - Virtualization - Render only visible items in long lists
- Batch DOM Operations - Read all, then write all
See
templates/frontend-optimization.tsxfor patterns
Analysis Commands
# Lighthouse audit
lighthouse http://localhost:3000 --output=json
# Bundle analysis
npx @next/bundle-analyzer # Next.js
npx vite-bundle-visualizer # Vite
API Optimization
Response Optimization
- Field Selection - Return only requested fields
- Compression - Enable gzip/brotli (threshold: 1KB)
- ETags - Enable 304 responses for unchanged data
- Pagination - Cursor-based for large datasets
See
templates/api-optimization.tsfor middleware examples
Monitoring Checklist
Before Launch
- Lighthouse score > 90
- Core Web Vitals pass
- Bundle size within budget
- Database queries profiled
- Compression enabled
- CDN configured
Ongoing
- Performance monitoring active
- Alerting for degradation
- Lighthouse CI in pipeline
- Weekly query analysis
- Real User Monitoring (RUM)
See
templates/performance-metrics.tsfor Prometheus metrics setup
Extended Thinking Triggers
Use Opus 4.5 extended thinking for:
- Complex debugging - Multiple potential causes
- Architecture decisions - Caching strategy selection
- Trade-off analysis - Memory vs CPU vs latency
- Root cause analysis - Performance regression investigation
Templates Reference
| Template | Purpose |
|---|---|
database-optimization.ts |
N+1 fixes, pagination, pooling |
caching-patterns.ts |
Redis cache-aside, memoization |
frontend-optimization.tsx |
React memo, virtualization, code splitting |
api-optimization.ts |
Compression, ETags, field selection |
performance-metrics.ts |
Prometheus metrics, performance budget |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
perigon-backend
Perigon ASP.NET Core + EF Core + Aspire conventions
perigon-agent
Pointers for Copilot/agents to apply Perigon conventions
perigon-angular
Angular 21+ standalone/Material/signal conventions for Perigon WebApp
fastapi-mastery
Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.
context7-efficient
Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.
browser-use
Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.
Didn't find tool you were looking for?