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.
git clone --depth 1 https://github.com/SteveGJones/ai-first-sdlc-practicesWrote 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.
[](https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/ios-performance-specialist)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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
- 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.
- 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 indidFinishLaunching, priority inversions); cold vs warm vs resume and iOS-15 pre-warming; measurement (DYLD_PRINT_STATISTICS, App Launch template,XCTApplicationLaunchMetric,MXAppLaunchMetric, Organizer Launch Time). - 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/unstableForEachidentity) and remedies via the SwiftUI instrument; list/scroll and image-decode performance. - 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);autoreleasepoolfor tight temporary-heavy loops. - 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/backgroundURLSession, coalesced timers, work while charging/Wi-Fi). - MetricKit:
MXMetricManagersubscription; aggregated metrics (MXAppLaunchMetric,MXHangMetric, hitch metrics,MXMemoryMetric,MXCPUMetric,MXDiskIOMetric,MXBatteryMetric, asMXHistograms) delivered ~daily; diagnostics (iOS 14+:MXCrashDiagnostic,MXHangDiagnostic,MXCPUExceptionDiagnostic,MXDiskWriteExceptionDiagnostic, withMXCallStackTree); and Xcode Organizer ▸ Metrics (field data by version/device; Xcode 26 trending insights). - 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). - Measurement discipline: XCTest performance tests (
measure(metrics:)withXCTClockMetric,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.
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.
- 6d ago First seen · 177 lines · 114 tokens per session scan A c67d4e5b54aa
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.
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…
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…
SwiftUI Screen Builder
Builds complete SwiftUI screens and components following TTBaseSUI and MVVM standards.
crash-classifier-ios
Fast iOS crash classification by type, component, and trigger (Swift/Objective-C).
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…
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.