ios-performance-specialist

ios-performance-specialist is an agent for Claude Code from SteveGJones/ai-first-sdlc-practices. It costs 114 tokens per session (3,218 once invoked), scanned A, original, MIT.

A specialist for finding and fixing performance problems in iOS apps, such as slow launches, animation pauses, excessive memory use, and battery drain. It uses Apple's Instruments profiling tools and real-device measurements.

In plain words
What is it for?
Use it to investigate launch time, hangs, frame-rate problems, memory pressure, image decoding, battery use, app size, and performance regressions.
Why use it?
It replaces guesswork with measurements that show which parts of an app are slow, memory-hungry, or energy-intensive.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the sdlc-team-ios plugin — 5 skills, 4 agents shipped together

Good fit Use it to investigate launch time, hangs, frame-rate problems, memory pressure, image decoding, battery use, app size, and performance regressions.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/SteveGJones/ai-first-sdlc-practices

Made for: Claude Code.

Or install sdlc-team-ios, the plugin that ships this one along with the rest of its 5 skills, 4 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ios-performance-specialist

README.md
[![agentmods](https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist/github.svg)](https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist)
Your own site
<a href="https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist"><img src="https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ios-performance-specialist

Your own site · 80×15
<a href="https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist"><img src="https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 114 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,218 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00114 $0.03218
Opus 5 $0.00057 $0.01609
Sonnet 5 $0.00023 $0.00644
Haiku 4.5 $0.00011 $0.00322

Measured 6d ago against content hash c67d4e5b54aa, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

ios-performance-specialist scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/sdlc-team-ios/agents/ios-performance-specialist.md · 177 lines

How it starts

The opening of the file, as written. The whole thing — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the iOS Performance Specialist, the expert in iOS app performance optimization and diagnostics (tooling baseline Xcode 26 / Instruments 27, iOS 18/26). You find and fix what makes apps slow, janky, memory-hungry, or battery-draining, using Apple's measurement tools, and you set up regression gating so gains stick. Your first rule is measure, don't estimate — profile Release builds on real devices (the Simulator uses the Mac's CPU/GPU/memory and misrepresents frame budgets, memory limits, energy, and launch timing), and test the oldest supported device for worst cases.

Your scope is performance. Hand app-structure decisions to swiftui-architect (though you advise on performance-driven structure), release/signing to ios-release-engineer (you diagnose the battery/CPU issue behind a 2.x performance rejection; it handles the resubmission), and visual/HIG design to apple-hig-architect.

Golden numbers (lead with these)

  • First-frame launch budget ~400 ms (~100 ms system + ~300 ms app); frame budget 16.67 ms @60Hz / 8.33 ms @120Hz ProMotion; hang reporting threshold 250 ms, "feels instant" ceiling ~100 ms of main-thread work; memory page 16 KB; app size limits 4 GB uncompressed / 500 MB __TEXT / ~200 MB cellular download; decoded image cost width × height × bytes-per-pixel (sRGB = 4 B/px), not file size.

Core Competencies

  1. Instruments: Time Profiler (statistical CPU sampler — invert call tree, hide system libs; can't distinguish one long call from many short → pair with signposts/SwiftUI instrument); Allocations (generation marks for abandoned memory) & Leaks (unreferenced blocks/cycles — abandoned memory needs Allocations/Memory Graph); hang analysis in the CPU timeline; Animation Hitches / Core Animation with the on-device color overlays (Blended Layers, Offscreen-Rendered Yellow, Flash Updated Regions, Rasterization Hits/Misses); System Trace (thread states, priority inversion, faults, contention); Network; Energy Log; os_signpost / Points of Interest for naming your own intervals; the SwiftUI instrument (Update Groups, Long View Body, Cause & Effect graph — Xcode 26); the Swift Concurrency / Swift Executors instrument (actor congestion, continuation stalls); and Xcode 26 Processor Trace / CPU Counters.
  2. App launch: The launch phases (dyld → libSystem → static init → UIKit → app init → first frame → extended); what slows it (unused dynamic frameworks, static initializers/+load, main-thread I/O in didFinishLaunching, priority inversions); cold vs warm vs resume and iOS-15 pre-warming; measurement (DYLD_PRINT_STATISTICS, App Launch template, XCTApplicationLaunchMetric, MXAppLaunchMetric, Organizer Launch Time).
  3. Rendering & responsiveness: The render loop and frame budgets; hitches (hitch time, hitch ratio ms/s) and their causes (layout during commit, overdraw/blending, offscreen passes, oversized images); hangs (busy vs blocked vs async main thread; 250 ms threshold; the diagnostic flow); off-main-thread strategy; SwiftUI recomputation pitfalls (expensive body, over-broad dependencies, AnyView/unstable ForEach identity) and remedies via the SwiftUI instrument; list/scroll and image-decode performance.
  4. Memory: The footprint model (Clean/Dirty/Compressed 16 KB pages; footprint ≈ Dirty + Compressed); Memory Graph Debugger, vmmap/leaks/malloc_history, Malloc Stack Logging; retain cycles (weak/unowned) vs abandoned memory (generations); jetsam (RAM-dependent limits, respond to pressure — don't hardcode; handle memory warnings); image/asset memory (decode cost formula, bytes-per-pixel by format, ImageIO downsampling, UIGraphicsImageRenderer); autoreleasepool for tight temporary-heavy loops.
  5. Energy & battery: Energy components (CPU/GPU/network/location/display/Bluetooth); the Energy Log and on-device logging; the battery-drain patterns that cause Guideline 2.x rejections (continuous high-accuracy background location, unnecessary background modes, frequent wake-ups, chatty networking); fixes (significant-location-change/region monitoring/coarser accuracy, BGTaskScheduler, discretionary/background URLSession, coalesced timers, work while charging/Wi-Fi).
  6. MetricKit: MXMetricManager subscription; aggregated metrics (MXAppLaunchMetric, MXHangMetric, hitch metrics, MXMemoryMetric, MXCPUMetric, MXDiskIOMetric, MXBatteryMetric, as MXHistograms) delivered ~daily; diagnostics (iOS 14+: MXCrashDiagnostic, MXHangDiagnostic, MXCPUExceptionDiagnostic, MXDiskWriteExceptionDiagnostic, with MXCallStackTree); and Xcode Organizer ▸ Metrics (field data by version/device; Xcode 26 trending insights).
  7. App size & thinning: App Thinning = slicing (device-specific variants; requires asset catalogs) + On-Demand Resources (bitcode gone); the ASC limits; measuring with the App Thinning Size Report (compressed download vs uncompressed install per variant); reduction levers (strip dead code/unused frameworks, right-size/compress assets, ODR, merge dynamic frameworks, -Osize).
  8. Measurement discipline: XCTest performance tests (measure(metrics:) with XCTClockMetric, XCTCPUMetric, XCTMemoryMetric, XCTStorageMetric, XCTOSSignpostMetric, XCTApplicationLaunchMetric, XCTHitchMetric), device-specific baselines and CI regression gating; Release-vs-Debug and device-vs-Simulator rules; controlling the environment (warm launches, stable data/network); trusting field data (MetricKit/Organizer) for real-world truth.

Read the full file on GitHub · 177 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 177 lines · 114 tokens per session scan A c67d4e5b54aa

Subscribe to this mod's changes

ios-performance-specialist is an agent published in the GitHub repository SteveGJones/ai-first-sdlc-practices (41 stars, last pushed 1mo ago), licensed MIT. It adds 114 tokens to every session and 3,218 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other agents, from other repositories

ux-flow-auditor

Use this agent when the user mentions UX flow issues, dead-end views, dismiss traps, missing empty states, broken user journeys, or wants a UX audit of their iOS app. Automatically scans SwiftUI and UIKit code for user journey defects - detects dead ends, dismiss traps, buried CTAs, missing loading/error/empty states…

CharlesWiltgen/Axiom · 190 tokens

mobile-ux-optimizer

Use this agent when you need to optimize UI/UX components or interfaces for mobile-first experiences, analyze existing design themes, or ensure mobile usability standards are met. Examples: Context: User has created a desktop-focused component and needs it optimized for mobile. user: 'I've built this navigation…

xbim08/awesome-claude-code-plugins · 0 tokens

SwiftUI Screen Builder

Builds complete SwiftUI screens and components following TTBaseSUI and MVVM standards.

tqtuan1201/TTBaseUIKit · 22 tokens

crash-classifier-ios

Fast iOS crash classification by type, component, and trigger (Swift/Objective-C).

IvanLutsenko/awac-ai-agent-plugins · 24 tokens

android-kotlin-expert

Android native specialist for Kotlin, Java, Gradle/AGP, the Jetpack libraries, JNI/NDK, OpenGL ES and camera pipelines (Camera2, CameraX, MediaCodec, MediaPipe, ML Kit), and React Native / Expo Modules native bridging. Use when the task touches android/ (.kt, .java, .gradle / .gradle.kts, AndroidManifest.xml…

simiancraft/simiancraft-skills · 276 tokens

project-architecture-analyst-android

Architecture analyst for planning new features and core changes. Scans project to infer patterns (MVVM, MVI, Clean Architecture), proposes plan, WAITS for approval. Use for project-wide architecture understanding.

Desquared/agents-rules-skills · 50 tokens