⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
Swiftui Performance Audit
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.
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
4.1k downloads · 137 installs · 5 stars on ClawHub · checked Sep 30, 2026
// README
SwiftUI Performance Audit
Attribution: copied from @Dimillian’s Dimillian/Skills (2025-12-31).
Overview
Audit SwiftUI view performance end-to-end, from instrumentation and baselining to root-cause analysis and concrete remediation steps.
Workflow Decision Tree
If the user provides code, start with "Code-First Review."
If the user only describes symptoms, ask for minimal code/context, then do "Code-First Review."
If code review is inconclusive, go to "Guide the User to Profile" and ask for a trace or screenshots.
- Code-First Review
Collect:
Target view/feature code.
Data flow: state, environment, observable models.
Symptoms and reproduction steps.
Focus on:
View invalidation storms from broad state changes.
Unstable identity in lists (id churn, UUID() per render).
Heavy work in body (formatting, sorting, image decoding).
Layout thrash (deep stacks, GeometryReader , preference chains).
Large images without downsampling or resizing.
Over-animated hierarchies (implicit animations on large trees).
Provide:
Likely root causes with code references.
Suggested fixes and refactors.
If needed, a minimal repro or instrumentation suggestion.
- Guide the User to Profile
Explain how to collect data with Instruments:
Use the SwiftUI template in Instruments (Release build).
Reproduce the exact interaction (scroll, navigation, animation).
Capture SwiftUI timeline and Time Profiler.
Export or screenshot the relevant lanes and the call tree.
Ask for:
Trace export or screenshots of SwiftUI lanes + Time Profiler call tree.
Device/OS/build configuration.
- Analyze and Diagnose
Prioritize likely SwiftUI culprits:
View invalidation storms from broad state changes.
Unstable identity in lists (id churn, UUID() per render).
Heavy work in body (formatting, sorting, image decoding).
Layout thrash (deep stacks, GeometryReader , preference chains).
Large images without downsampling or resizing.
Over-animated hierarchies (implicit animations on large trees).
Summarize findings with evidence from traces/logs.
- Remediate
Apply targeted fixes:
Narrow state scope (@State /@Observable closer to leaf views).
Stabilize identities for ForEach and lists.
Move heavy work out of body (precompute, cache, @State ).
Use equatable() or value wrappers for expensive subtrees.
Downsample images before rendering.
Reduce layout complexity or use fixed sizing where possible.
Common Code Smells (and Fixes)
Look for these patterns during code review.
Expensive formatters in body
swiftvar body: some View { let number = NumberFormatter() // slow allocation let measure = MeasurementFormatter() // slow allocation Text(measure.string(from: .init(value: meters, unit: .meters))) }
Prefer cached formatters in a model or a dedicated helper:
swiftfinal class DistanceFormatter { static let shared = DistanceFormatter() let number = NumberFormatter() let measure = MeasurementFormatter() }
Computed properties that do heavy work
swiftvar filtered: [Item] { items.filter { $0.isEnabled } // runs on every body eval }
Prefer precompute or cache on change:
swift@State private var filtered: [Item] = [] // update filtered when inputs change
Sorting/filtering in body or ForEach
swiftList { ForEach(items.sorted(by: sortRule)) { item in Row(item) } }
Prefer sort once before view updates:
swiftlet sortedItems = items.sorted(by: sortRule)
Inline filtering in ForEach
swiftForEach(items.filter { $0.isEnabled }) { item in Row(item) }
Prefer a prefiltered collection with stable identity.
Unstable identity
swiftForEach(items, id: .self) { item in Row(item) }
Avoid id: .self for non-stable values; use a stable ID.
Image decoding on the main thread
swiftImage(uiImage: UIImage(data: data)!)
Prefer decode/downsample off the main thread and store the result.
Broad dependencies in observable models
swift@Observable class Model { var items: [Item] = [] }
var body: some View { Row(isFavorite: model.items.contains(item)) }
Prefer granular view models or per-item state to reduce update fan-out.
- Verify
Ask the user to re-run the same capture and compare with baseline metrics. Summarize the delta (CPU, frame drops, memory peak) if provided.
Outputs
Provide:
A short metrics table (before/after if available).
Top issues (ordered by impact).
Proposed fixes with estimated effort.
References
Add Apple documentation and WWDC resources under references/ as they are supplied by the user.
Optimizing SwiftUI performance with Instruments: references/optimizing-swiftui-performance-instruments.md
Understanding and improving SwiftUI performance: references/understanding-improving-swiftui-performance.md
Understanding hangs in your app: references/understanding-hangs-in-your-app.md
Demystify SwiftUI performance (WWDC23): references/demystify-swiftui-performance-wwdc23.md
Read more
Related skills
More in Development
Downloads
Security auditPass
Last updated4mo ago Current versionv1.0.0
LicenseMIT-0 Report
Bookmark5 Downloads
Security auditPass
Last updated4mo ago Current versionv1.0.0
LicenseMIT-0 Report
ClawHubSkills and plugins for OpenClaw agents. Part of the wider OpenClaw ecosystem. Explore docs Browse SkillsPluginsOfficialAudits
Publish Publish SkillPublish PluginCreate org
Ecosystem OverviewOpenClawDocsBlog
Community GitHubDiscord
Built alongside the OpenClaw ecosystem LobsterCrabboxClickClackCrabfleetOctopoolClawSweeperagent-skillsdiscrawlgitcrawlslacrawlnotcrawltelecrawlgraincrawlcrawlkitcrawlbaracpxmcporterTachikomaclawpatchclawbenchPeekaboocookbookplugin-inspectorwacrawlcrabpotAll projectsLobsterCrabboxClickClackCrabfleetOctopoolClawSweeperagent-skillsdiscrawlgitcrawlslacrawlnotcrawltelecrawlgraincrawlcrawlkitcrawlbaracpxmcporterTachikomaclawpatchclawbenchPeekaboocookbookplugin-inspectorwacrawlcrabpotAll projects
© 2026 OpenClaw Foundation Status·Deployed on Vercel·Powered by Convex
....:: clawhub/openclaw ::.... skills plugins publishers trust signals :::: signed manifests ::::: moderated releases ::::: version history :::: openclaw ecosystem crabbox clickclack crawler packs gateway plugins
install scan publish verify @@ gateway @@ registry @@ agents @@ hooks runners slash-commands skill.md templates scanners review-bots ---- downloads installs stars lineage ownership docs package integrity 30 skills 12 plugins /api/v1/skills /owners /audit /ship openclaw ecosystem crabbox clickclack crawler packs gateway plugins safe browse paths official gateways publisher handles org trust :::: signed manifests ::::: moderated releases ::::: version history :::: ---- downloads installs stars lineage ownership docs package integrity ....:: clawhub/openclaw ::.... skills plugins publishers trust signals hooks runners slash-commands skill.md templates scanners review-bots safe browse paths official gateways publisher handles org trust >>> install scan publish verify @@ gateway @@ registry @@ agents @@ openclaw ecosystem crabbox clickclack crawler packs gateway plugins ....:: clawhub/openclaw ::.... skills plugins publishers trust signals 30 skills 12 plugins /api/v1/skills /owners /audit /ship ---- downloads installs stars lineage ownership docs package integrity >>> install scan publish verify @@ gateway @@ registry @@ agents @@ :::: signed manifests ::::: moderated releases ::::: version history :::: safe browse paths official gateways publisher handles org trust 30 skills 12 plugins /api/v1/skills /owners /audit /ship hooks runners slash-commands skill.md templates scanners review-bots ....:: clawhub/openclaw ::.... skills plugins publishers trust signals :::: signed manifests ::::: moderated releases ::::: version history :::: openclaw ecosystem crabbox clickclack crawler packs gateway plugins install scan publish verify @@ gateway @@ registr
// HOW IT'S BUILT
KEY FILES