npx skills add ...
npx skills add charleswiltgen/axiom --skill axiom-swiftui
Use when building, fixing, or improving ANY SwiftUI UI — views, navigation, layout, animations, performance, architecture, gestures, debugging, iOS 26 features, iPhone Duo.
npx skills add charleswiltgen/axiom --skill axiom-swiftui
You MUST use this skill for ANY SwiftUI work including views, state, navigation, layout, animations, architecture, gestures, and debugging.
Auditors are skills here. Where this router says "Launch
some-auditoragent", invoke the matching Codex skill instead — same procedure, no Claude Code agent required.Available:
axiom-analyze-swiftui-performance,axiom-audit-liquid-glass,axiom-audit-swiftui-architecture,axiom-audit-swiftui-layout,axiom-audit-swiftui-nav,axiom-audit-textkit,axiom-audit-ux-flow.The ones that shell out — builds, tests, simulators, crash symbolication — need shell access to run.
| Symptom / Task | Reference |
|---|---|
| View not updating | See skills/debugging.md |
| View update still broken after debugging | See skills/debugging-diag.md |
Slow previews / building good previews / @Previewable / PreviewModifier / variant matrix | See skills/previews.md |
Preview API reference (#Preview, traits, modes, Development Assets) | See skills/previews-ref.md |
| Preview crashes / won't load | See skills/debugging.md (Preview Crashes section) |
| Hot reload / live editing / edit the running app on device | See skills/hot-reload.md |
| Navigation issues | See skills/nav.md |
| Navigation still broken after debugging | See skills/nav-diag.md |
| Navigation API reference | See skills/nav-ref.md |
| Layout breaks on iPad/rotation | See skills/layout.md |
| State lost on resize/rotation (scroll, selection, focus, drafts) | See skills/layout.md (State Survives the Transition) |
| Layout API reference | See skills/layout-ref.md |
| Performance/lag/slow scroll | See skills/swiftui-performance.md |
| Architecture/testability | See skills/architecture.md |
@State object rebuilt every view init, or an init assignment ignored at runtime | See skills/architecture.md (@State is a macro now) |
| Animation issues | See skills/animation-ref.md |
| Stacks/grids/outlines | See skills/containers-ref.md |
| Custom containers / List replacement (iOS 18+) | See skills/containers-ref.md Part 7 |
| Search implementation | See skills/search-ref.md |
| Toolbars, ToolbarItem, sheet button placement, customization | See skills/toolbars.md |
Navigation subtitle: navigationSubtitle, .title / .subtitle / .largeTitle / .largeSubtitle placements (iOS 26) | See skills/toolbars.md (Pattern 14) |
| Sheets, detents, popovers, fullScreenCover, presentation adaptation | See skills/presentations.md |
| Multi-column Table, sortable/resizable columns (iPad/Mac; collapses to first column in compact) | See axiom-macos (skills/swiftui-differences.md) |
Inspector panel (.inspector — trailing column in regular width, sheet in compact) | See axiom-macos (skills/swiftui-differences.md) |
| Gesture conflicts | See skills/gestures.md |
| Section index — the vertical A–Z index strip / alphabet scrubber on a list's trailing edge, jump-to-section | See skills/26-ref.md (Section Index) |
List section margins / insets around a Section | See skills/26-ref.md (Section Margins) |
Web content — WebView / WebPage, scroll modifiers, WebView-in-NavigationStack | See skills/26-ref.md (WebView & WebPage) |
| iPhone Duo / foldable iPhone: poses, vertical bars, the fold, arrangements, hinge, scene accessories (SwiftUI and UIKit) | See skills/iphone-duo.md |
| iOS 26 features | See skills/26-ref.md |
These topics are part of the broader iOS UI domain but live in separate suites:
/skill axiom-accessibility/skill axiom-testingaxiom-audit-ux-flowaxiom-swiftui vs axiom-performance: When UI is slow (e.g., "SwiftUI List slow"):
axiom-audit-swiftui-architectureaxiom-analyze-swiftui-performanceaxiom-audit-swiftui-navaxiom-audit-swiftui-layoutaxiom-audit-ux-flowaxiom-audit-liquid-glass (detects migration opportunities AND adoption-completeness gaps: variant discipline for media surfaces, glass-on-glass nesting, unstyled pre-26 fallbacks, semantic toolbar placement, Tab(role: .search), the UIDesignRequiresCompatibility opt-out; scores ADOPTED / PARTIAL / NOT ADOPTED)axiom-audit-textkit (detects fallback triggers, glyph APIs that corrupt complex scripts, missing Writing Tools wiring, AND architectural gaps like missing fallback observation, SwiftUI wrappers dropping TextKit 2 properties, missing isWritingToolsActive guards; scores MODERN / MIXED / LEGACY)| Thought | Reality |
|---|---|
| "Simple SwiftUI layout, no need" | SwiftUI layout has 12 gotchas. skills/layout.md covers all of them. |
| "I know how NavigationStack works" | Navigation has state restoration, deep linking, and identity traps. skills/nav.md prevents 2-hour debugging. |
| "It's just a view not updating" | View update failures have 4 root causes. skills/debugging.md diagnoses in 5 min. |
| "I'll just add .animation()" | Animation issues compound. skills/animation-ref.md has the correct patterns. |
| "No architecture needed" | Even small features benefit from separation. skills/architecture.md prevents refactoring debt. |
| "I know .searchable" | Search has 6 gotchas. skills/search-ref.md covers all of them. |
| "I'll just add a Done button" | Sheets without Cancel break the HIG (updated 2026-03-24). .cancellationAction / .confirmationAction produce HIG-correct placement automatically — skills/toolbars.md Pattern 2 has the rules. |
| "A sheet is a sheet, nothing to configure" | Detents, compact adaptation, background interaction, and iOS 18 sizing decide how it behaves across window shapes. skills/presentations.md covers the adaptation traps (landscape sheets silently become full-screen covers). |
| "Previews are slow forever, I'll just use the simulator" | Five concrete fixes in skills/previews.md. Rule 4 (auto-refresh off) is 30 seconds and often halves perceived slowness. |
"@State is lazy in Xcode 27, I read the release notes" | Only when the property is private/fileprivate. skills/architecture.md has the gate, the three TN3211 breaks, and the one that compiles and is wrong at runtime. |
"I'll just write a wrapper view for @State in this preview" | @Previewable @State (Xcode 16+) eliminates that boilerplate. skills/previews-ref.md has the macro signature. |
| "I'll just rebuild and relaunch every time" | Hot reload edits the running app in place, state preserved. skills/hot-reload.md has the InjectionNext + Inject setup and the verify-via-xclog loop. |
| "Duo is just a bigger iPhone; my layout already resizes" | Bars move to the side, the fold divides the screen, and the outer display can't open windows. skills/iphone-duo.md covers what resizing alone misses. |