Peter Steinberger

Native App Performance

Developmentv1.0.0
By Peter SteinbergerUpdated 2026-05-11native-app-performance@clawhub_steipete/native-app-performance
Code ReviewBug Fixing

According to AlphaMoat, as of 2026-09, Native App Performance has 3,140 downloads and 5 stars — ranked #3,628 of 5,078 AI skills overall, and #461 of 577 in Development.

Installs
129
Downloads
3.1K
Stars
5
Overall Rank
#3,628
Top 72% overall · Top 80% in Development
PlatformInstallsDownloadsStarsComments
ClawHub ↗993.0K5-
SkillHub ↗1293.1K5—

Platforms count differently and update at different times.

What this skill does

The workflow uses xctrace to record Instruments traces, extract samples, and symbolicate results to identify performance hotspots without opening the Instruments UI. Traces and symbolication output may expose app internals, file paths, and performance details. Profile only apps and processes you are authorized to inspect, and do not share these artifacts outside approved contexts.

Profile published 2026-10-29

What you can do with it

  • Record a performance trace for a native macOS or iOS app
  • Extract samples and identify hotspots from an Instruments trace
  • Prepare performance findings using command-line tools

When to use it

  • An authorized native app needs performance profiling
  • The target process, binary, and symbols can be matched to the trace
  • Trace files and symbolication output can be protected

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Profile the local app I specify with Time Profiler, and first confirm the target process and output path. Do not open the Instruments UI, and treat the trace as sensitive.

Monthly Trend

Downloads3.1K
2.1K2.7K3.2K2026-03 · Downloads 2.2K2026-05 · Downloads 2.5K2026-06 · Downloads 2.6K2026-07 · Downloads 2.8K2026-08 · Downloads 2.9K2026-09 · Downloads 3.1K26-0326-09
Stars5
4562026-03 · Stars 52026-05 · Stars 52026-06 · Stars 52026-07 · Stars 52026-08 · Stars 52026-09 · Stars 526-0326-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-093.1K—5
2026-082.9K+3.5%5
2026-072.8K+7.4%5
2026-062.6K+4.5%5
2026-052.5K—5
2026-032.2K—5

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

2.1 KB · ClawHub v1.0.0
---
name: native-app-performance
description: 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.
---

# Native App Performance (CLI-only)

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

## Quick start (CLI)
Show all (64 lines)

1) Record Time Profiler (attach):

```bash
# 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):

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

3) Extract time samples:

```bash
scripts/extract_time_samples.py --trace /tmp/App.trace --output /tmp/time-sample.xml
```

4) Get load address for symbolication:

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

5) Symbolicate + rank hotspots:

```bash
scripts/top_hotspots.py --samples /tmp/time-sample.xml \
  --binary /path/App.app/Contents/MacOS/App \
  --load-address 0x100000000 --top 30
```

## 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/record_time_profiler.sh`: record via attach or launch.
- `scripts/extract_time_samples.py`: export time-sample XML from a trace.
- `scripts/top_hotspots.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`.

Popular in Development

More from Peter Steinberger

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.