Performance Optimizer
SKILL.md
Performance Optimizer
Instructions
Optimize Leavn app performance:
-
Find main thread operations:
- Search for regex in View body
- Find CGContext/UIGraphicsImageRenderer in Views
- Look for
DispatchQueue.main.asyncchains - Check for heavy computation in computed properties
-
Fix patterns:
// BEFORE - Main thread blocking let result = expensiveRegex() // AFTER - Background Task.detached { let result = await expensiveWork() await MainActor.run { updateUI(result) } } -
Add lazy loading:
- Use
.onAppearwith viewport tracking - LazyVStack for long lists
- Defer AI transformations until visible
- Use
-
Optimize lookups:
// BEFORE - O(n) array.contains { $0.id == id } // AFTER - O(1) private lazy var idSet = Set(array.map(\.id)) idSet.contains(id) -
Cache computations:
- Move from View to ViewModel
- Invalidate cache on data change
- Use
didSetobservers
Use this skill when: UI is laggy, scrolling stutters, app feels slow, CPU usage high