Third suite of the corpus audit. 7 files, 3,181 lines, 99 code blocks, audited by four agents plus the three small files by hand. Compiles at the iOS 18 floor with -emit-sil (never -typecheck alone, which cannot see the ownership checker) and runs on iOS and tvOS 27.2 simulators where the claim was behavioural. Two findings were invisible to any compiler and both sat on the suite's core promises. tvos.md taught that tvOS has no Documents directory and that all local storage is Cache. Verified on a tvOS 27.2 simulator: the directory is returned, it exists, writes succeed, and the file survives terminate + relaunch. Library/Application Support is returned as a URL but does not exist until created, so the table's "Exists?" column was inverted for both rows. The section now teaches the real constraint — no guaranteed-persistent local storage — and the prose and table agree. deep-link-debugging.md presents `simctl openurl` as the unattended primitive behind /axiom:screenshot and the simulator-tester agent. It is not: on a simulator that has not approved the scheme once, the first call raises a modal confirmation, exits 0, and delivers nothing, so the follow-up screenshot captures the alert. Reproduced on a virgin device and on an already-booted one with the app reinstalled; fixed with a verified first-run pre-approval step. Also: transferable-ref.md claimed the importing closure cannot await — it is `async throws` and the block compiles clean, so the whole workaround was unnecessary — and its "RIGHT" pattern did not compile and, repaired naively, silently dropped the value it fetched. The queryItems helper offered as the safe alternative to force-unwrapping trapped on a repeated key. ownership-conventions.md taught that `borrowing` avoids a copy (same SIL; the default already borrows) and that `consuming` invalidates a copyable value (only `~Copyable` does), and quoted three diagnostics the 6.4 compiler never emits. tvos.md taught subclassing AVPlayerViewController and the player gesture recognizer that the WWDC session it cites says to avoid. swift-modern.md claimed SwiftUI does not re-export UIKit; its umbrella header does, on both iOS and macOS. The fix pass was told to compile and run blocks extracted verbatim from the edited file rather than probes written alongside — and for the first time in this audit the harness caught its own work: three bugs in the ownership fix pass, a `~Copyable` global consume twice and a diagnostic that would not have fired. Verified: 519/519 unit tests, pre-deploy --static clean, distributions regenerated.
Axiom
Battle-tested skills, agents, and tools for modern Apple OS development — Swift 6, SwiftUI, Liquid Glass, Apple Intelligence, and more. Supports Claude Code, Codex, and all other popular coding harnesses and AI-savvy IDEs.
What is Axiom?
Axiom gives AI coding assistants deep Apple OS development expertise — the kind that prevents data loss from bad migrations, catches memory leaks before users complain, and stops you from spending 30 minutes debugging a zombie xcodebuild process.
- 276 skills covering UI, data, concurrency, performance, networking, accessibility, and more
- 42 agents that autonomously scan for issues (memory leaks, concurrency violations, build problems)
- 17 commands for quick audits and diagnostics
- xclog — a built-in console capture tool that gives AI assistants access to simulator and device logs
- xcsym — a built-in crash symbolication tool for
.ips, MetricKit, and Apple's legacy.crashtext crashes, with automatic dSYM discovery and pattern categorization - xcui — a built-in tool to drive and validate the simulator UI and accessibility (tap by accessibility ID, dump the accessibility tree, check VoiceOver and Dynamic Type)
- xcprof — a built-in tool to record and analyze CPU/performance traces (xctrace) without opening Instruments
Every discipline skill is TDD-tested against real developer pressure scenarios. Learn more about quality.
OS 27 in progress. Axiom is on a 27.x beta that tracks Apple's OS 27 developer betas — OS-27 coverage lands continuously through the beta season. Guidance for OS 26 and earlier stays stable.
Installation
Claude Code (native plugin)
/plugin marketplace add CharlesWiltgen/Axiom
Then search for "axiom" in the /plugin menu and install.
Cursor (native plugin)
Axiom's generated Cursor plugin includes 27 skill routers, 42 agents, 17 /axiom-* commands, advisory hooks, and automatic discovery of its MCP server configuration. See the Cursor install and support guide for the macOS support boundary and local installation steps.
MCP (VS Code, Cursor MCP-only, Gemini CLI, and more)
See the MCP setup guide.
Pi (terminal coding agent)
pi install git:github.com/CharlesWiltgen/Axiom
One command installs the skills plus the /axiom-* commands and hooks. See the Pi setup guide.
Xcode (Claude Agent / Codex)
See the Xcode integration guide.
Getting Started
Skills activate automatically based on your questions. Just ask:
"I'm getting BUILD FAILED in Xcode"
"How do I fix Swift 6 concurrency errors?"
"My app has memory leaks"
"I need to add a database column safely"
"Show me what my app is logging"
"Symbolicate this crash file"
You can also use commands directly:
/axiom:console # Capture simulator console output
/axiom:analyze-crash # Parse and triage .ips, MetricKit, or .crash reports
/axiom:fix-build # Diagnose build failures
/axiom:audit memory # Scan for memory leaks
/axiom:audit concurrency # Check for data races
/axiom:health-check # Run all relevant auditors
Documentation
Full documentation, skill catalog, and guides at charleswiltgen.github.io/Axiom.
Community
- r/axiomdev — Version announcements with changelogs
- Report issues or request features
- Share usage patterns and questions