axiom-tools

Routes Apple platform questions to Axiom skills and documents xclog, xcsym, xcui, and xcprof tooling.

1.1k|83|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/CharlesWiltgen/Axiom --skill axiom-tools
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: axiom-tools
Source: https://github.com/CharlesWiltgen/Axiom/tree/main/axiom-cursor/skills/axiom-tools
Command: npx skills add https://github.com/CharlesWiltgen/Axiom --skill axiom-tools

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Developers working on iOS, macOS, and other Apple platforms often don't know which diagnostic skill or CLI tool applies to their problem, and they lack a single reference for capturing simulator console logs, symbolicating crash reports, driving simulator UI, and analyzing CPU traces.

Core Features & Use Cases

  • Skill routing and onboarding: Enforces checking Axiom skills before answering iOS/Swift questions, prioritizes build/architecture/implementation skills, and routes multi-domain questions to all relevant routers.
  • Tool references: Documents xclog (simulator console capture), xcsym (crash symbolication for .ips, MetricKit, .crash, and .xccrashpoint files), xcui (simulator UI and accessibility automation), and xcprof (xctrace CPU and network profile analysis).
  • Device control guidance: Covers Device Hub, devicectl, and simctl for headless simulator/device control, screenshots, status-bar overrides, and resizable app sessions.
  • Use Case: A developer pastes a TestFlight crash and asks why it is unsymbolicated; the router directs to the xcsym reference, which runs the full symbolication pipeline and reports per-image UUID mismatches.

Quick Start

Ask how to symbolicate an iOS crash report or capture simulator console output, and follow the routed reference for the matching Axiom tool.

Frequently Asked Questions about axiom-tools

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I capture iOS simulator console output from the command line?

Use xclog, which combines simctl launch --console for print and NSLog output with log stream for os_log and Logger output. Run xclog list to find the bundle ID, then xclog launch with a timeout and max-lines bound for controlled capture.

How do I symbolicate an .ips or MetricKit crash report?

Run xcsym crash on the file; it auto-detects .ips v1/v2, MetricKit JSON, legacy .crash text, and .xccrashpoint bundles, discovers dSYMs from Archives and DerivedData, symbolicates via atos, and emits a pattern_tag classifying the crash.

What is the difference between devicectl and simctl?

devicectl configures and interacts with a booted simulator or physical device through one -d selector, while simctl owns the simulator lifecycle (create, boot, shutdown, erase) and sim-only features like push, privacy permissions, and openurl.

Can I control a simulator without Xcode running?

Yes. devicectl, simctl, and the Axiom tools xclog, xcsym, xcui, and xcprof all run headlessly without Xcode open and without elevated privileges, covering the full scriptable surface for CI workflows.

Why does xcsym report my crash as unsymbolicated?

Run xcsym verify to see per-image UUID and architecture mismatches. Exit code 3 means the crash came from a different build than the local archive; use xcsym find-dsym with the exact UUID from the crash to locate the matching dSYM.

When should I use xcprof instead of Instruments?

Use xcprof when you need a structured, token-lean report from an xctrace recording without opening Instruments.app. It parses cpu-profile and network-connection-stat tables, but Allocations and Leaks data still require Instruments since xctrace cannot export them.