agentsclimarketplace

Native app performance

Skill mouadja02/skills/skills/coding/native-app-performance

A curated collection of agent skills for your AI agents - engineering craft, prompt engineering, design, growth marketing, ...

Install
npx -y skills add mouadja02/skills --skill native-app-performance

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Native macOS/iOS app performance: xctrace, Time Profiler, traces, hotspot analysis — CLI-only.

SKILL.md

2.4 KB, 565 tokens by cl100k_base, as published. Nobody here has run it

Native App Performance (CLI-only)

Attribution: Sourced from steipete/agent-scripts by Peter Steinberger.

Goal: record Time Profiler via xctrace, extract samples, symbolicate, and propose hotspots without opening Instruments.

Related skill: For Instruments UI workflows and trace export details, see instruments-profiling.

When to Use

  • CLI-only profiling without opening Instruments GUI
  • Symbolicating stack traces with atos and vmmap
  • Ranking hotspots from xctrace time-profile samples
  • Headless or SSH-based performance analysis

Quick Start (CLI)

1. Record Time Profiler (attach)

# Start app yourself, then attach
xcrun xctrace record --template 'Time Profiler' --time-limit 90s --output /tmp/App.trace --attach <pid>

2. Record Time Profiler (launch)

xcrun xctrace record --template 'Time Profiler' --time-limit 90s --output /tmp/App.trace --launch -- /path/App.app/Contents/MacOS/App

3. Extract time samples

xcrun xctrace export --input /tmp/App.trace \
  --xpath '/trace-toc/run[@number="1"]/data/table[@schema="time-profile"]' \
  --output /tmp/time-sample.xml

4. Get load address for symbolication

# While app is running
vmmap <pid> | rg -m1 "__TEXT" -n

5. Symbolicate + rank hotspots

# Symbolicate using atos
atos -o /path/App.app/Contents/MacOS/App -l <load-address> <address>

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.

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.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.