axiom-accessibility
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance,…
Use when the user wants a comprehensive project-wide audit, full health check, or scan across all domains.
Claude Code
$ npx -y skills add charleswiltgen/axiom --skill axiom-health-check --agent claude-code
Codex
$ npx skills add charleswiltgen/axiom --skill axiom-health-check -a codex -y
Cursor
$ npx skills add charleswiltgen/axiom --skill axiom-health-check -a cursor -y
Gemini CLI
$ npx skills add charleswiltgen/axiom --skill axiom-health-check -a gemini-cli -y
GitHub Copilot
$ npx skills add charleswiltgen/axiom --skill axiom-health-check -a github-copilot -y
OpenCode
$ npx skills add charleswiltgen/axiom --skill axiom-health-check -a opencode -y
Windsurf
$ npx skills add charleswiltgen/axiom --skill axiom-health-check -a windsurf -y
name: axiom-health-check description: Use when the user wants a comprehensive project-wide audit, full health check, or scan across all domains. license: MIT
Run specialized Axiom auditor procedures using the execution mode below, collect their findings, deduplicate by file:line, and produce a unified health report.
Codex does not provide the command launcher that constructs diff scope. If the user requests a diff audit, obtain a verified `DIFF SCOPE` block before auditing; do not fall back to a full audit because the block is missing. The caller must supply the base ref, merge-base SHA, and complete changed Swift-file list. Full audits require no scope block.
Skip: `*Tests.swift`, `*Previews.swift`, `*/Pods/*`, `*/Carthage/*`, `*/.build/*`, `*/DerivedData/*`, `*/scratch/*`, `*/docs/*`, `*/.claude/*`, `*/.claude-plugin/*`
Before anything else, parse the launch prompt for three optional blocks emitted by the `axiom-health-check` command:
DIFF SCOPE Base ref: <base> Merge-base: <full-SHA> Changed Swift files (N): <paths>
Determines the audit's file universe:
`EXCLUSIONS: skip <auditor>, skip <auditor>` — drop the listed auditors from Phase 1's run list. Acknowledge them in the user-facing summary.
`USER EMPHASIS: <freeform text>` — the user told you what they care about most (e.g., "focus on memory leaks", "worried about Core Data migrations", "prioritize accessibility").
Emphasis affects **ordering and highlighting, never inclusion or exclusion**:
If no `USER EMPHASIS` block is present, fall back to severity-only ordering.
Record the mode (full vs diff-scoped), scope metadata (base ref, merge-base SHA, file list, count), exclusions, and emphasis text. Subsequent phases reference this.
Gather the Swift-file universe according to Phase 0 mode:
Then use Grep over that file set to detect framework signals.
These auditors apply to every iOS project:
| Auditor | Reason | |---------|--------| | memory-auditor | Memory leaks affect all apps | | security-privacy-scanner | Privacy compliance is mandatory | | accessibility-auditor | Accessibility is required for App Store | | swift-performance-analyzer | Performance affects all apps | | modernization-helper | Deprecated API detection | | codable-auditor | Serialization issues are universal |
Run these only when their framework signals are present in the codebase:
| Signal (grep pattern) | Auditor | |----------------------|---------| | `import SwiftUI` | swiftui-performance-analyzer, swiftui-architecture-auditor, swiftui-layout-auditor, swiftui-nav-auditor | | `import SwiftData` or `@Model` | swiftdata-auditor | | `import CoreData` or `.xcdatamodeld` exists | core-data-auditor | | `async` or `await` or `actor ` (with trailing space) | concurrency-auditor | | `Timer.scheduledTimer` or `CLLocationManager` | energy-auditor | | `AVCaptureSession` | camera-auditor | | `LanguageModelSession` or `@Generable` | foundation-models-auditor | | `import StoreKit` or `Product.products(for:` or `Transaction.updates` | iap-auditor | | `@AppIntent(.tool` or `@AppIntent([.tool` or `ToolIntent`, `@Dependency` in a file that also contains `AppIntent`, or a `.skillsbundle` exists | siri-ai-auditor | | `import SpriteKit` | spritekit-auditor | | `NWConnection` or `NetworkConnection` | networking-auditor | | `NSUbiquitousKeyValueStore` or `CKContainer` or `CloudKit` | icloud-auditor | | `registerMigration` or `DatabaseMigrator` or `ALTER TABLE` | database-schema-auditor | | `import GRDB` or `DatabaseQueue` or `DatabasePool` | grdb-performance-auditor | | `NSTextLayoutManager` or `TextKit` | textkit-auditor | | `UIScreen.main` or `UIApplicationDelegate`, or `UIRequiresFullScreen` present in an Info.plist | resize-auditor | | `override func mouseDown`, `nextEvent(matching:` or `- (void)mouseDown:` in a macOS target | touch-auditor | | `NavigationStack` or `sheet(` or `TabView` | ux-flow-auditor | | `FileManager` or `UserDefaults` or `.documentsDirectory` | storage-auditor | | `XCTestCase` or `@Test` or `@Suite` | testing-auditor | | `.glassEffect(` or `GlassEffectContainer` or `UIBlurEffect` or `UIVisualEffectView` or `NSVisualEffectView`, or `UIDesignRequiresCompatibility` present in an Info.plist | liquid-glass-auditor | | Screenshots folder exists (`Screenshots/` or `marketing/`) | screenshot-validator |
If the user says "skip X" or "exclude X", remove that auditor from the run list. Acknowledge which auditors were excluded and why.
Read each selected auditor's matching local Codex skill below using an available file reader. If using Axiom MCP instead, call `axiom_get_agent` with the canonical auditor name (the left column below), not `axiom_read_skill` with a gener
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.
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance,…
Use when implementing, testing, or evaluating ANY Apple Intelligence, on-device AI, or speech-to-text feature. Covers Foundation…
Use when the user has a crash log (.ips, MetricKit JSON, legacy .crash text, .xccrashpoint bundle, or pasted text) that needs…
Use when the user mentions Swift performance audit, code optimization, or performance review — ARC issues, allocation patterns,…
Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues — expensive bodies,…
Use when the user mentions flaky tests, tests that pass locally but fail in CI, race conditions in tests, or needs to diagnose…
Decompile Android APK, XAPK, JAR, and AAR files using jadx or Fernflower/Vineflower. Reverse engineer Android apps, extract HTTP…