The Test Suite workflow has failed on every push since it was added. Three tests in scripts/methodology-leak.test.ts read `.claude/rules/skill-development.md` and `.claude/skills/preflight/skills/behavioral-testing.md` and die with ENOENT in CI, because `.claude/` is gitignored: those files exist on a maintainer's machine and nowhere else. Locally the suite is 518/518; in a fresh checkout it was 515/518. The tests themselves are sound — they guard a real invariant, that behavioral-test methodology stays out of the file the harness appends to every skill-file Read, so it cannot reach a GREEN arm and confound a behavioral test. The subjects are just local dev state, so the precondition is "this checkout has dev state" and the tests skip when it does not. They still run wherever the state exists, which is the only place the leak they guard against could actually occur. The second test deliberately gates on the presence of the RULES file rather than its own subject: deleting the canonical file while the rules file remains is the "fixed it by deleting the content" regression it exists to catch, and it must fail then, not skip. Verified in three checkouts: dev state present 3 pass / 0 skip; no dev state 3 skip / 0 fail; rules file present with the canonical file deleted 1 fail. Before the change, the first two were 3 fail and the third was 3 fail. The workflow did its job here — it is the first thing to run this suite outside a maintainer's machine, and it found a suite that could not pass outside one.
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