Swiftui performance inspector
Skill Xopoko/build-swift-apps/skills/swiftui-performance-inspector
Swift-focused AI agent skills for iOS and macOS: build, debug, simulator, SwiftUI, Xcode, App Store workflows. Part of Plug'n Skills.
npx -y skills add Xopoko/build-swift-apps --skill swiftui-performance-inspectorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Audit SwiftUI runtime performance from code and profiling evidence for slow rendering, janky scrolling, high CPU or memory, excessive updates, hangs, and layout thrash.
SKILL.md
2.7 KB, 539 tokens by cl100k_base, as published. Nobody here has run it
SwiftUI Performance Inspector
Diagnose from code first, then request profiling evidence when code review cannot explain the symptom.
Workflow
- Classify the symptom: slow rendering, scrolling jank, high CPU, memory growth, hangs, broad updates, or layout thrash.
- If code is available, review with
references/code-smells.md. - If code is missing, ask for the smallest useful slice: target view, data flow, reproduction steps, device/simulator, build config, and deployment target.
- If runtime evidence is needed, use
references/profiling-intake.mdfor the exact Instruments checklist. - Report likely causes, evidence, fixes, and validation steps using
references/report-template.mdwhen useful.
Code Review Focus
- invalidation storms from broad observation or environment reads
- unstable identity in
List/ForEach - heavy derived work in
bodyor view builders - layout thrash from complex hierarchy,
GeometryReader, or preferences - main-thread image decode/resize or other expensive work
- animation and transition work applied too broadly
Profiling Evidence
Ask for SwiftUI timeline or Time Profiler export/screenshots, device/OS/build configuration, exact profiled interaction, and before/after metrics when comparing changes.
Map evidence to invalidation, identity churn, layout, main-thread work, image cost, animation cost, or hangs. Distinguish trace-backed findings from code-level suspicion and state what evidence would reduce uncertainty.
Fix Defaults
- narrow state scope and observation fan-out
- stabilize list identities
- move heavy work out of
bodyinto model/service precomputation, memoized helpers, background preprocessing, or input-driven derived state - use
@Stateonly for view-owned state, not arbitrary caches - use
equatable()only when equality is cheaper than recomputing and inputs are value-semantic - downsample images before rendering
- reduce layout complexity or add stable sizing where appropriate
Output
Provide a short metrics table when available, top issues ordered by impact, proposed fixes with effort, and verification steps.
References
references/profiling-intake.mdreferences/code-smells.mdreferences/report-template.mdreferences/optimizing-swiftui-performance-instruments.mdreferences/understanding-improving-swiftui-performance.mdreferences/understanding-hangs-in-your-app.mdreferences/demystify-swiftui-performance-wwdc23.md
Use current Apple Developer docs when Instruments or SwiftUI performance guidance may have changed.