Loading...
Loading...
Use when reviewing or generating Swift code for modern idiom correctness — catches outdated APIs, pre-Swift 5.5 patterns, and Foundation legacy usage that Claude defaults to
npx skill4agent add charleswiltgen/axiom axiom-swift-modern| Old Pattern | Modern Swift | Since | Why |
|---|---|---|---|
| | 5.6 | Clearer intent |
| | 5.0 | Single pass, no intermediate allocation |
| | 5.7 | Swift native, no Foundation bridge |
| | 5.5 | Implicit bridging; exceptions: optionals, inout, ObjC-bridged APIs |
| | 5.7 | Type-safe Duration API |
| | 5.5 | No instance management, localizable by default |
| | 5.5 | Type-safe, localized |
| | 5.0 | Handles diacritics, ligatures, width variants |
| | 5.5 | Respects locale name ordering |
| | 5.6 | Modern parsing (throws); use "y" not "yyyy" for display |
| | 5.0 | Required for correct text search/filtering |
| Old Pattern | Modern Swift | Since |
|---|---|---|
| | 5.7 |
Explicit | Omit | 5.9 |
| | 5.5 |
| Often not needed — SwiftUI re-exports most UIKit/AppKit types. Retain for UIKit-only APIs ( | 5.5 |
| Old Pattern | Modern Foundation | Since |
|---|---|---|
| | 5.7 |
| | 5.7 |
| Conform to | — |
| | — |
ContentUnavailableView.search(text: searchText)LabeledContentconfirmationDialog()DateFormatter.formatted()FormatStylestatic letDispatchQueue.main.async@MainActorMainActor.runaxiom-swift-concurrencyCGFloatDoubleguard let x = x elseguard let x elsereturn