Axiom axiom-swiftui
Use when building, fixing, or improving ANY SwiftUI UI — views, navigation, layout, animations, performance, architecture, gestures, debugging, iOS 26 features.
install
source · Clone the upstream repo
git clone https://github.com/CharlesWiltgen/Axiom
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/CharlesWiltgen/Axiom "$T" && mkdir -p ~/.claude/skills && cp -r "$T/axiom-codex/skills/axiom-swiftui" ~/.claude/skills/charleswiltgen-axiom-axiom-swiftui-9c3709 && rm -rf "$T"
manifest:
axiom-codex/skills/axiom-swiftui/SKILL.mdsource content
SwiftUI
You MUST use this skill for ANY SwiftUI work including views, state, navigation, layout, animations, architecture, gestures, and debugging.
Quick Reference
| Symptom / Task | Reference |
|---|---|
| View not updating | See |
| View update still broken after debugging | See |
| Navigation issues | See |
| Navigation still broken after debugging | See |
| Navigation API reference | See |
| Layout breaks on iPad/rotation | See |
| Layout API reference | See |
| Performance/lag/slow scroll | See |
| Architecture/testability | See |
| Animation issues | See |
| Stacks/grids/outlines | See |
| Custom containers / List replacement (iOS 18+) | See Part 7 |
| Search implementation | See |
| Gesture conflicts | See |
| iOS 26 features | See |
Non-SwiftUI UI Routes
These topics are part of the broader iOS UI domain but live in separate suites:
UIKit issues
- Auto Layout conflicts → See axiom-uikit (skills/auto-layout-debugging.md)
- Animation timing → See axiom-uikit (skills/uikit-animation-debugging.md)
- SwiftUI ↔ UIKit bridging → See axiom-uikit (skills/uikit-bridging.md)
Design & guidelines
- Liquid Glass adoption → See axiom-design (skills/liquid-glass.md)
- SF Symbols → See axiom-design (skills/sf-symbols.md)
- HIG compliance → See axiom-design (skills/hig.md)
- Typography → See axiom-design (skills/typography-ref.md)
- TextKit/rich text → See axiom-uikit (skills/textkit-ref.md)
Other
- tvOS (focus, remote, text input) → See axiom-swift (skills/tvos.md)
- App-level composition (root, auth, scenes) → See axiom-design (skills/app-composition.md)
- Drag/drop, sharing, copy/paste → See axiom-swift (skills/transferable-ref.md)
- VoiceOver, Dynamic Type →
/skill axiom-accessibility - UI test flakiness →
/skill axiom-testing - UX dead ends, dismiss traps → Launch
agentux-flow-auditor
watchOS-specific patterns
- Glanceable UI, watch navigation, Smart Stack widgets → See axiom-watchos
Conflict Resolution
axiom-swiftui vs axiom-performance: When UI is slow (e.g., "SwiftUI List slow"):
- Try axiom-swiftui FIRST — Domain-specific fixes (LazyVStack, view identity, @State optimization) often solve UI performance in 5 minutes
- Only use axiom-performance if domain fixes don't help — Profiling takes longer and may confirm what domain knowledge already knows
Decision Tree
digraph swiftui { start [label="SwiftUI issue" shape=ellipse]; what [label="What's wrong?" shape=diamond]; start -> what; what -> "skills/debugging.md" [label="view not updating"]; what -> "skills/nav.md" [label="navigation"]; what -> "skills/swiftui-performance.md" [label="slow/lag"]; what -> "skills/layout.md" [label="adaptive layout"]; what -> "skills/containers-ref.md" [label="stacks/grids/outlines"]; what -> "skills/architecture.md" [label="feature architecture"]; what -> "skills/animation-ref.md" [label="animations"]; what -> "skills/gestures.md" [label="gestures"]; what -> "skills/search-ref.md" [label="search"]; what -> "skills/26-ref.md" [label="iOS 26 features"]; what -> "axiom-uikit-bridging" [label="UIKit interop"]; what -> "axiom-app-composition" [label="app-level (root, auth)"]; what -> "axiom-transferable-ref" [label="drag/drop, sharing"]; }
Automated Scanning
- Architecture audit → Launch
agentswiftui-architecture-auditor - Performance scan → Launch
agent orswiftui-performance-analyzer/axiom:audit swiftui-performance - Navigation audit → Launch
agent orswiftui-nav-auditor/axiom:audit swiftui-nav - Layout audit → Launch
agent orswiftui-layout-auditor/axiom:audit swiftui-layout - UX flow audit → Launch
agent orux-flow-auditor/axiom:audit ux-flow - Liquid Glass scan → Launch
agent orliquid-glass-auditor/axiom:audit liquid-glass - TextKit scan → Launch
agent ortextkit-auditor/axiom:audit textkit
Anti-Rationalization
| Thought | Reality |
|---|---|
| "Simple SwiftUI layout, no need" | SwiftUI layout has 12 gotchas. covers all of them. |
| "I know how NavigationStack works" | Navigation has state restoration, deep linking, and identity traps. prevents 2-hour debugging. |
| "It's just a view not updating" | View update failures have 4 root causes. diagnoses in 5 min. |
| "I'll just add .animation()" | Animation issues compound. has the correct patterns. |
| "No architecture needed" | Even small features benefit from separation. prevents refactoring debt. |
| "I know .searchable" | Search has 6 gotchas. covers all of them. |