Performance Optimization
Triage skill for performance issues. Routes to the correct sub-tool or reference based on bottleneck type.
Decision Tree
code
Performance Issue?
├── Database (slow queries, N+1, indexes, pagination)
│ → Invoke database-optimization skill (covers all DB patterns)
├── Frontend (rendering, bundle size, change detection)
│ → ⚠️ MUST READ docs/claude/frontend-patterns.md
│ → Key: OnPush, trackBy, lazy loading, virtual scroll, tree-shaking
├── API/Endpoint (response time, payload, serialization)
│ → ⚠️ MUST READ references/performance-patterns.md (parallel queries, caching, DTOs)
├── Background Jobs (throughput, batch processing)
│ → ⚠️ MUST READ references/performance-patterns.md (bounded parallelism, batch ops)
└── Cross-Service (message bus, eventual consistency)
→ ⚠️ MUST READ references/performance-patterns.md (payload size, idempotency)
Quick Assessment Checklist
- •Identify bottleneck type using decision tree above
- •Measure baseline (response time, query count, bundle size)
- •Route to correct sub-tool or reference
- •Apply patterns from the routed resource
- •Verify improvement against baseline
- •Monitor for regressions
EP-Specific Quick Wins
- •Parallel tuple queries:
var (a, b) = await (queryA, queryB); - •Eager loading:
repo.GetAllAsync(filter, ct, e => e.Related) - •Projections:
.Select(e => new { e.Id, e.Name })instead of full entity - •Full-text search:
searchService.Search(q, text, Entity.SearchColumns()) - •Batch updates:
repo.UpdateManyAsync(items, dismissSendEvent: true, checkDiff: false) - •Paged processing:
PageBy(skip, take)at database level
For detailed patterns, profiling commands, and anti-patterns:
⚠️ MUST READ: .claude/skills/arch-performance-optimization/references/performance-patterns.md
Approval Gate
Present findings and optimization plan. Wait for explicit user approval before making changes -- performance optimizations can have wide-reaching side effects.
IMPORTANT Task Planning Notes
- •Always plan and break many small todo tasks
- •Always add a final review todo task to review the works done at the end to find any fix or enhancement needed