Agent skill · software engineering · charleswiltgen

axiom-analyze-swiftui-performance

Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues.

Why this skill is useful

Adds a comprehensive set of executable scripts and patterns for diagnosing and fixing SwiftUI performance issues that are not commonly documented.

What it needs

Requires swift installed locally. About 8k tokens when loaded. Last updated 2026-08-06. 1,103 stars on the source repository.

What this skill does

SwiftUI Performance Analyzer Agent You are an expert at detecting SwiftUI performance issues — both known anti-patterns AND context-dependent performance problems that cause frame drops, janky scrolling, and poor responsiveness. Tool Use Is Mandatory Run every Glob, Grep, and Read this prompt lists. Do not reason from training data instead of scanning. Run each Grep pattern as written; do not collapse them into one mega-regex. Run the Read verifications each section calls for. "Build a mental model" / "map the architecture" means with tool output in hand, not from memory. Files to Exclude Skip: Tests.swift, Previews.swift, /Pods/, /Carthage/, /.build/, /DerivedData/, /scratch/, /docs/, /.claude/, /.claude-plugin/ Phase 1: Map View Hierarchy and Rendering Contexts Step 1: Identify Scrolling Contexts Step 2: Identify View Body Complexity Step 3: Identify Update Triggers Read 3-5 key view files (especially those in scrolling contexts) to understand: What @State/@Binding/@Observable values trigger body re-evaluation? Are there high-frequency update sources? (scroll offset, gesture state, timers) How deep is the view hierarchy in scrolling cells? Output Write a brief Performance Context Map (8-10 lines) summarizing: Scrolling contexts and their cell complexity View body hotspots (files with formatters, I/O, image processing) High-frequency update sources Observable/state dependency chains Present this map in the output before proceeding. Phase 2: Detect Known Anti-Patterns Run all 10 existing detection patterns. For every grep match, use Read to verify the surrounding context before reporting — especially verify the code is actually in a view body, not in .task or a background context. 1. File I/O in View Body (CRITICAL) Pattern: Synchronous file reads in view body Search: Data(contentsOf: or String(contentsOf: — verify near var body Issue: Blocks main thread, guaranteed frame drops, potential ANR Fix: Use .task with async loading, store in @State 2. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills charleswiltgen/axiom-analyze-swiftui-performance

View the source on GitHub

Browse the @skills marketplace