/axiom-swift
Use when reviewing Swift code for modern idioms, working with noncopyable types, implementing drag and drop, adding debug deep links, or building for tvOS.
$ npx -y skills add charleswiltgen/axiom --skill axiom-swift --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/axiom-swift
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when reviewing Swift code for modern idioms, working with noncopyable types, implementing drag and drop, adding debug deep links, or building for tvOS.
SKILL.md
axiom-swift.SKILL.mdname: axiom-swift
description: Use when reviewing Swift code for modern idioms, working with noncopyable types, implementing drag and drop, adding debug deep links, or building for tvOS.
license: MIT
Swift Language & Platform
**You MUST use this skill for ANY Swift idiom review, ownership/noncopyable types, Transferable/drag-and-drop, debug deep links, or tvOS development.**
<!-- AXIOM_AUDITOR_INLINE_BEGIN — auto-maintained by scripts/build-inlined-auditors.ts; do not hand-edit --> > **Not on Claude Code?** Where this router says "Launch `some-auditor` agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read. > > Available here: `skills/swift-simplifier.md`. > > Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those. <!-- AXIOM_AUDITOR_INLINE_END -->
Quick Reference
| Symptom / Task | Reference | |----------------|-----------| | Outdated Swift patterns (Date(), CGFloat, DateFormatter) | See `skills/swift-modern.md` | | Foundation modernization (FormatStyle, URL.documentsDirectory) | See `skills/swift-modern.md` | | Common Claude hallucinations in Swift code | See `skills/swift-modern.md` | | Swift 6.4 idioms — `anyAppleOS`, `weak let`, `~Sendable` (`OS27`) | See `skills/swift-modern.md` | | Noncopyable types (~Copyable) | See `skills/ownership-conventions.md` | | borrowing/consuming parameter ownership | See `skills/ownership-conventions.md` | | InlineArray, Span, value generics; Swift 6.4 `borrow`/`mutate` accessors (`OS27`) | See `skills/ownership-conventions.md` | | Reducing ARC overhead | See `skills/ownership-conventions.md` | | Drag and drop (.draggable, .dropDestination) | See `skills/transferable-ref.md` | | Copy/paste (.copyable, PasteButton) | See `skills/transferable-ref.md` | | ShareLink, content sharing | See `skills/transferable-ref.md` | | Custom UTType declarations | See `skills/transferable-ref.md` | | TransferRepresentation choices | See `skills/transferable-ref.md` | | Debug-only deep links for simulator testing | See `skills/deep-link-debugging.md` | | Navigate to specific screens for screenshots | See `skills/deep-link-debugging.md` | | tvOS Focus Engine, Siri Remote input | See `skills/tvos.md` | | tvOS storage constraints (no Documents dir) | See `skills/tvos.md` | | tvOS text input, AVPlayer tuning | See `skills/tvos.md` | | TVUIKit components | See `skills/tvos.md` | | Simplify Swift for clarity (behavior-preserving cleanups) | `swift-simplifier` agent — `/axiom:audit swift-simplify` |
Decision Tree
digraph swift {
start [label="Swift task" shape=ellipse];
what [label="What do you need?" shape=diamond];
start -> what;
what -> "skills/swift-modern.md" [label="modern idioms,\noutdated patterns,\nFoundation APIs"];
what -> "skills/ownership-conventions.md" [label="~Copyable, borrowing,\nconsuming, InlineArray,\nSpan, ARC reduction"];
what -> "skills/transferable-ref.md" [label="drag & drop, copy/paste,\nShareLink, UTTypes,\nTransferable conformance"];
what -> "skills/deep-link-debugging.md" [label="debug deep links,\nsimulator navigation,\nscreenshot automation"];
what -> "skills/tvos.md" [label="tvOS app,\nFocus Engine,\nSiri Remote, storage"];
}1. Outdated Swift patterns / modern API replacements / Claude hallucinations? -> `skills/swift-modern.md` 2. ~Copyable / borrowing / consuming / InlineArray / Span? -> `skills/ownership-conventions.md` 3. Drag and drop / copy/paste / ShareLink / Transferable / UTTypes? -> `skills/transferable-ref.md` 4. Debug deep links / simulator navigation / screenshot automation? -> `skills/deep-link-debugging.md` 5. tvOS development / Focus Engine / Siri Remote / storage / AVPlayer? -> `skills/tvos.md` 6. Swift concurrency (async/await, actors, Sendable) -> `/skill axiom-concurrency` 7. Swift performance (COW, ARC, generics optimization) -> See axiom-performance (skills/swift-performance.md) 8. Codable patterns (JSON, CodingKeys, enum serialization) -> See axiom-data (skills/codable.md) 9. Simplify Swift for clarity (guard/optional cleanups, if/switch expressions, boilerplate)? -> `swift-simplifier` agent (`/axiom:audit swift-simplify`)
Conflict Resolution
**swift vs concurrency**: When Swift 6 concurrency errors appear:
- **Use concurrency, NOT swift** -- Concurrency errors are actor isolation / Sendable issues. `skills/swift-modern.md` covers concurrency *posture* (defaults), but detailed patterns live in axiom-concurrency.
**swift vs performance**: When optimizing Swift code:
- **Use swift for ownership** if the question is borrowing/consuming/~Copyable/InlineArray/Span -> `skills/ownership-conventions.md`
- **Use performance** if the question is COW, ARC profiling, generic specialization, or Instruments workflows -> axiom-performance
**swift vs swiftui**: When implementing drag and drop or copy/paste:
- **Use swift** for Transferable conformance, representation choices, UTType declarations -> `skills/transferable-ref.md`
- **Use swiftui** for view-level modifiers (.draggable, .dropDestination styling, animations)
**swift vs integration**: When sharing content:
- ShareLink + Transferable -> **use swift** (`skills/transferable-ref.md`)
- UIActivityViewController customization, share extensions -> **use integration**
**swift vs axiom-build**: When tvOS build fails:
- Environment/Xcode issues -> **use axiom-build first**
- tvOS platform-specific code issues (Focus Engine, storage, no WebView) -> **use swift** (`skills/tvos.md`)
Critical Patterns
**Modern Swift Idioms** (`skills/swift-modern.md`):
- 12+ outdated patterns Claude defaults to (Date(), CGFloat, DateFormatter, DispatchQueue.main.async)
- Foundation modernization (FormatStyle, URL.documentsDirectory, .replacing())
- SwiftUI convenience APIs Claude misses (ContentUnavailableView.search, LabeledContent)
- Swift 6.4 concurrency posture defaults
- 12 co
Read more
name: axiom-swift description: Use when reviewing Swift code for modern idioms, working with noncopyable types, implementing drag and drop, adding debug deep links, or building for tvOS. license: MIT
Swift Language & Platform
**You MUST use this skill for ANY Swift idiom review, ownership/noncopyable types, Transferable/drag-and-drop, debug deep links, or tvOS development.**
<!-- AXIOM_AUDITOR_INLINE_BEGIN — auto-maintained by scripts/build-inlined-auditors.ts; do not hand-edit --> > **Not on Claude Code?** Where this router says "Launch `some-auditor` agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read. > > Available here: `skills/swift-simplifier.md`. > > Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those. <!-- AXIOM_AUDITOR_INLINE_END -->
Quick Reference
| Symptom / Task | Reference | |----------------|-----------| | Outdated Swift patterns (Date(), CGFloat, DateFormatter) | See `skills/swift-modern.md` | | Foundation modernization (FormatStyle, URL.documentsDirectory) | See `skills/swift-modern.md` | | Common Claude hallucinations in Swift code | See `skills/swift-modern.md` | | Swift 6.4 idioms — `anyAppleOS`, `weak let`, `~Sendable` (`OS27`) | See `skills/swift-modern.md` | | Noncopyable types (~Copyable) | See `skills/ownership-conventions.md` | | borrowing/consuming parameter ownership | See `skills/ownership-conventions.md` | | InlineArray, Span, value generics; Swift 6.4 `borrow`/`mutate` accessors (`OS27`) | See `skills/ownership-conventions.md` | | Reducing ARC overhead | See `skills/ownership-conventions.md` | | Drag and drop (.draggable, .dropDestination) | See `skills/transferable-ref.md` | | Copy/paste (.copyable, PasteButton) | See `skills/transferable-ref.md` | | ShareLink, content sharing | See `skills/transferable-ref.md` | | Custom UTType declarations | See `skills/transferable-ref.md` | | TransferRepresentation choices | See `skills/transferable-ref.md` | | Debug-only deep links for simulator testing | See `skills/deep-link-debugging.md` | | Navigate to specific screens for screenshots | See `skills/deep-link-debugging.md` | | tvOS Focus Engine, Siri Remote input | See `skills/tvos.md` | | tvOS storage constraints (no Documents dir) | See `skills/tvos.md` | | tvOS text input, AVPlayer tuning | See `skills/tvos.md` | | TVUIKit components | See `skills/tvos.md` | | Simplify Swift for clarity (behavior-preserving cleanups) | `swift-simplifier` agent — `/axiom:audit swift-simplify` |
Decision Tree
digraph swift {
start [label="Swift task" shape=ellipse];
what [label="What do you need?" shape=diamond];
start -> what;
what -> "skills/swift-modern.md" [label="modern idioms,\noutdated patterns,\nFoundation APIs"];
what -> "skills/ownership-conventions.md" [label="~Copyable, borrowing,\nconsuming, InlineArray,\nSpan, ARC reduction"];
what -> "skills/transferable-ref.md" [label="drag & drop, copy/paste,\nShareLink, UTTypes,\nTransferable conformance"];
what -> "skills/deep-link-debugging.md" [label="debug deep links,\nsimulator navigation,\nscreenshot automation"];
what -> "skills/tvos.md" [label="tvOS app,\nFocus Engine,\nSiri Remote, storage"];
}1. Outdated Swift patterns / modern API replacements / Claude hallucinations? -> `skills/swift-modern.md` 2. ~Copyable / borrowing / consuming / InlineArray / Span? -> `skills/ownership-conventions.md` 3. Drag and drop / copy/paste / ShareLink / Transferable / UTTypes? -> `skills/transferable-ref.md` 4. Debug deep links / simulator navigation / screenshot automation? -> `skills/deep-link-debugging.md` 5. tvOS development / Focus Engine / Siri Remote / storage / AVPlayer? -> `skills/tvos.md` 6. Swift concurrency (async/await, actors, Sendable) -> `/skill axiom-concurrency` 7. Swift performance (COW, ARC, generics optimization) -> See axiom-performance (skills/swift-performance.md) 8. Codable patterns (JSON, CodingKeys, enum serialization) -> See axiom-data (skills/codable.md) 9. Simplify Swift for clarity (guard/optional cleanups, if/switch expressions, boilerplate)? -> `swift-simplifier` agent (`/axiom:audit swift-simplify`)
Conflict Resolution
**swift vs concurrency**: When Swift 6 concurrency errors appear:
- **Use concurrency, NOT swift** -- Concurrency errors are actor isolation / Sendable issues. `skills/swift-modern.md` covers concurrency *posture* (defaults), but detailed patterns live in axiom-concurrency.
**swift vs performance**: When optimizing Swift code:
- **Use swift for ownership** if the question is borrowing/consuming/~Copyable/InlineArray/Span -> `skills/ownership-conventions.md`
- **Use performance** if the question is COW, ARC profiling, generic specialization, or Instruments workflows -> axiom-performance
**swift vs swiftui**: When implementing drag and drop or copy/paste:
- **Use swift** for Transferable conformance, representation choices, UTType declarations -> `skills/transferable-ref.md`
- **Use swiftui** for view-level modifiers (.draggable, .dropDestination styling, animations)
**swift vs integration**: When sharing content:
- ShareLink + Transferable -> **use swift** (`skills/transferable-ref.md`)
- UIActivityViewController customization, share extensions -> **use integration**
**swift vs axiom-build**: When tvOS build fails:
- Environment/Xcode issues -> **use axiom-build first**
- tvOS platform-specific code issues (Focus Engine, storage, no WebView) -> **use swift** (`skills/tvos.md`)
Critical Patterns
**Modern Swift Idioms** (`skills/swift-modern.md`):
- 12+ outdated patterns Claude defaults to (Date(), CGFloat, DateFormatter, DispatchQueue.main.async)
- Foundation modernization (FormatStyle, URL.documentsDirectory, .replacing())
- SwiftUI convenience APIs Claude misses (ContentUnavailableView.search, LabeledContent)
- Swift 6.4 concurrency posture defaults
- 12 co
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.
Repo: charleswiltgen/axiom
Other skills on axiom.
- /axiom-accessibility
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
Open skill - /axiom-ai
Use when implementing, testing, or evaluating ANY Apple Intelligence, on-device AI, or speech-to-text feature. Covers Foundation Models, @Generable, LanguageModelSession, Tool protocol, eval suites, model-as-judge scoring, SpeechTranscriber, CoreML.
Open skill - /axiom-analyze-crash
Use when the user has a crash log (.
Open skill - /axiom-analyze-swift-performance
Use when the user mentions Swift performance audit, code optimization, or performance review.
Open skill - /axiom-analyze-swiftui-performance
Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues.
Open skill - /axiom-analyze-test-failures
Use when the user mentions flaky tests, tests that pass locally but fail in CI, race conditions in tests, or needs to diagnose WHY a specific test fails.
Open skill

