skills/guide-swiftui-performance-audit/SKILL.md
Audit and improve SwiftUI runtime performance from code review and architecture. Use for requests to diagnose slow rendering, janky scrolling, high CPU/memory usage, excessive view updates, or layout thrash in SwiftUI apps, and to provide guidance for user-run Instruments profiling when code review alone is insufficient.
npx skillsauth add vabole/apple-skills guide-swiftui-performance-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guide Skill — This is an expert workflow/pattern guide, not API reference documentation. Originally from Dimillian/Skills by Thomas Ricouard. MIT License.
Use this skill to diagnose SwiftUI performance issues from code first, then request profiling evidence when code review alone cannot explain the symptoms.
references/code-smells.md.references/profiling-intake.md.references/report-template.md.Collect:
@State, @Binding, environment dependencies, and observable models.Ask the user to classify the issue if possible:
For the full profiling intake checklist, read references/profiling-intake.md.
Focus on:
ForEach.body or view builders.GeometryReader, or preference chains.Use references/code-smells.md for the detailed smell catalog and fix guidance.
Provide:
If code review does not explain the issue, ask for runtime evidence:
Use references/profiling-intake.md for the exact checklist and collection steps.
Apply targeted fixes:
ForEach and lists.body into derived state updated from inputs, model-layer precomputation, memoized helpers, or background preprocessing. Use @State only for view-owned state, not as an ad hoc cache for arbitrary computation.equatable() only when equality is cheaper than recomputing the subtree and the inputs are truly value-semantic.Use references/code-smells.md for examples, Observation-specific fan-out guidance, and remediation patterns.
Ask the user to re-run the same capture and compare with baseline metrics. Summarize the delta (CPU, frame drops, memory peak) if provided.
Provide:
Use references/report-template.md when formatting the final audit.
references/profiling-intake.mdreferences/code-smells.mdreferences/report-template.mdreferences/ as they are supplied by the user.references/optimizing-swiftui-performance-instruments.mdreferences/understanding-improving-swiftui-performance.mdreferences/understanding-hangs-in-your-app.mdreferences/demystify-swiftui-performance-wwdc23.mddevelopment
API reference: XCUITest. Query for element queries, waiting patterns, Swift 6 @MainActor, assertions, screenshots, launch arguments.
development
API reference: TipKit. Tip protocol, TipView, PopoverTipView, Tips.configure, inline and popover tips.
development
API reference: MapKit for SwiftUI. Map view, Marker, Annotation, camera positions, map features.
development
API reference: Apple Human Interface Guidelines. Query for design patterns, UI components, accessibility, color, typography, layout, haptics.