← ClaudeAtlas

swift-programmerlisted

Swift-specific idioms, tooling, and philosophy. Use when working with Swift code. Emphasizes protocol-oriented programming, value semantics, strict concurrency (Swift 6+), and compile-time safety guarantees.
Pyroxin/opinionated-claude-skills · ★ 5 · AI & Automation · score 72
Install: claude install-skill Pyroxin/opinionated-claude-skills
# Swift Programming <skill_scope skill="swift-programmer"> **Related skills:** - `software-engineer` — Core design principles and system architecture - `macos-programmer` — macOS-specific patterns when building Mac apps - `test-driven-development` — Testing philosophy and practices - `functional-programmer` — Functional paradigm principles (Swift supports FP) This skill covers Swift-specific idioms, tooling, and philosophy. It emphasizes protocol-oriented programming, value semantics, strict concurrency (Swift 6+), and compile-time safety guarantees. </skill_scope> ## Core Philosophy <philosophy> **Swift 6 fundamental shift**: From memory safety to **compile-time data-race safety**. Think in **isolation domains, not threads**. **Version targeting**: Use the latest Swift version available. For internal apps, don't support older versions. For open-source libraries, support N-1 or N-2 versions maximum. **Prefer**: Protocol composition over inheritance, value semantics over reference semantics, static dispatch over dynamic dispatch. </philosophy> ## Swift 6 Concurrency: Critical Concepts and Gotchas <concurrency_fundamentals> **Mental model shift**: Think in **isolation domains**, not threads. Each domain (task, actor, global actor) executes serially with exclusive access to its state. Every piece of mutable state belongs to exactly one isolation domain at any time. **Suspension points at `await`**: Task yields thread, executor may schedule different task, upon resumptio