Instruments Analyzer exports .trace files captured programmatically or via Instruments (file → save) into DuckDB with Parquet backing, giving your agents full SQL access to CPU profiling, animation hitches, SwiftUI view updates, Core Animation frame lifetimes, RunLoop activity, signposts, and 30+ other tables.
Key features:
1. Natural Language Queries. Since it’s just a skill, you can ask “why did scroll lag in this trace” rather than dig through WWDC videos to understand which instruments to use and how to use them.
2. Derived views for analysis: Frame-level analysis, cascade analysis, and per-frame attribution are available via prepared views (prepare_analysis.py), making it easy to query performance metrics without manual preprocessing.
3. Scroll & animation jank workflow: Optional workflow for diagnosing scroll lag or animation stutter, only loads when relevant.
Install as a Claude Code skill or with whatever agent you’re building with.
HelloMCP•1h ago
Curious how well this holds up across different traces. Instruments data can be pretty noisy and context-dependent. @jlreyes - do the derived views generalize, or do you end up encoding a lot of assumptions about what “jank” looks like?
jlreyes•1h ago
Where the AI trips up is getting distracted by aggregate signals instead of digging deep into root causing specific frame drops, but I see humans and existing tooling getting distracted by that too.
Root causes are often context-dependent, but they tend to cluster into a handful of common issues. If you're able to enable the new swiftui instrument (from WWDC 2025), the entire attribute graph is encoded, and it can get you to the precise issue quite well.