Agent skill · software engineering · steipete

native-app-performance

Native app performance: xctrace, Time Profiler, traces, hotspots.

Why this skill is useful

Adds 3 executable scripts for profiling and analyzing native app performance that aren't in public docs.

What it needs

Requires python, xcode installed locally. About 1k tokens when loaded. Last updated 2026-08-06. 6,510 stars on the source repository.

What this skill does

Native App Performance (CLI-only) Goal: record Time Profiler via xctrace, extract samples, symbolicate, and propose hotspots without opening Instruments. Quick start (CLI) 1) Record Time Profiler (attach): 2) Record Time Profiler (launch): 3) Extract time samples: 4) Get load address for symbolication: 5) Symbolicate + rank hotspots: Workflow notes Always confirm you’re profiling the correct binary (local build vs /Applications). Prefer direct binary path for --launch. Ensure you trigger the slow path during capture (menu open/close, refresh, etc.). If stacks are empty, capture longer or avoid idle sections. xcrun xctrace help record and xcrun xctrace help export show correct flags. Included scripts scripts/recordtimeprofiler.sh: record via attach or launch. scripts/extracttimesamples.py: export time-sample XML from a trace. scripts/tophotspots.py: symbolicate and rank top app frames. Gotchas ASLR means you must use the runtime TEXT load address from vmmap. If using a new build, update the --binary path; symbols must match the trace. CLI-only flow: no need to open Instruments if stacks are symbolicated via atos.

How to use it

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

@skills steipete/native-app-performance

View the source on GitHub

Browse the @skills marketplace