Agent skill · software engineering · sundial-org
native-app-performance
Native macOS/iOS app performance profiling via xctrace/Time Profiler and CLI-only analysis of Instruments traces. Use when asked to profile, attach, record, or analyze Instruments .trace files, find hotspots, or optimize native app performance without opening Instruments UI.
Why this skill is useful
Adds executable scripts for profiling and analyzing native app performance that are not commonly found in public documentation.
What it needs
Requires xcode installed locally. About 1k tokens when loaded. Last updated 2026-03-07. 639 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 sundial-org/native-app-performance