--- id: rshankras/claude-code-apple-skills/swift version: "879fe72f" license: MIT install: manual updated: 2026-07-24 --- # swift-development — Swift Development provides language-level guidance for writing correct, performant Swift across iOS, macOS, and other Apple platforms. It covers concurrency architecture with async/await and actors, Swift 6 strict concurrency migration, memory optimization through InlineArray and Span, and code complexity standards via SwiftLint thresholds. Use it to review code for data races, actor isolation, and modern idioms. Publisher: rshankras · Stars: 565 · Updated: 2026-07-24 Install (manual): `git clone https://github.com/rshankras/claude-code-apple-skills` ## SKILL.md # Swift Development Swift language-level guidance that applies across all Apple platforms. ## When This Skill Activates Use this skill when the user: - Asks about Swift concurrency (async/await, actors, Sendable, TaskGroup) - Needs help with Swift 6 strict concurrency migration - Has data race or actor isolation errors - Asks about **InlineArray**, **Span**, or low-level memory performance - Wants to eliminate heap allocations or replace unsafe pointers - Asks about modern Swift patterns independent of any specific platform - Wants complexity/size limits (SwiftLint thresholds) on agent-written code ## Available Modules ### concurrency-patterns/ Swift concurrency architecture and patterns. - Swift 6.2 approachable concurrency features (incl. `nonisolated(nonsending)`, Apple's adoption doctrine) - Structured concurrency (async let, TaskGroup, .task modifier, task-local values) - Actors, isolation, reentrancy, @MainActor, Sendable - Runtime internals + profiling (cooperative pool, unsafe primitives, Swift Concurrency Instrument) - Continuations for bridging legacy APIs - Swift 6 strict concurrency migration guide ### concurrency/ Swift 6.2 concurrency **updates** reference — the what-changed view (async-stays-on-caller, default MainActor inference, isolated conformances, @concurrent) with migration steps from 6.0/6.1 and top mistakes. Overlaps `concurrency-patterns/swift62-concurrency.md` by design: use this file when the question is "what changed in 6.2?", use concurrency-patterns when building or reviewing async code. ### code-size/ Complexity and size limits for Swift code — SwiftLint threshold rules (cyclomatic complexity, function/type/file length, parameter count) with a violations-baseline adoption path so existing code never blocks. Part of the deterministic gauntlet with `testing/fitness-functions` and `testing/coverage-ratchet`. ### memory/ InlineArray, Span, and the Swift performance cost model. - InlineArray: fixed-size, stack-allocated collections with zero heap overhead - Span family: safe, non-escapable access to contiguous memory (+ OutputRawSpan, swift-binary-parsing) - Lifetime dependencies and non-escapable type constraints - `swift-performance.md`: the cost model — allocation, ARC/retain-release, exclusivity checks, dispatch, generics vs existentials, closures, `~Copyable` ownership ## How to Use 1. Identify user's need from their question 2. Read relevant module files from subdirectories 3. Apply the guidance to their specific context 4. Cross-reference with platform-specific skills (ios/, macos/) as needed [View on SkillFed](https://skillfed.io/rshankras/claude-code-apple-skills/swift) · [View on GitHub](https://github.com/rshankras/claude-code-apple-skills)