← ClaudeAtlas

swift-concurrencylisted

Resolve Swift concurrency compiler errors, adopt approachable concurrency (SE-0466), and write data-race-safe async code. Use when fixing Sendable conformance errors, actor isolation warnings, or strict concurrency diagnostics; when adopting default MainActor isolation, @concurrent, nonisolated(nonsending), or Task.immediate; when designing actor-based architectures, structured concurrency with TaskGroup, or background work offloading; or when migrating from @preconcurrency to full Swift 6 strict concurrency.
dpearson2699/swift-ios-skills · ★ 640 · AI & Automation · score 81
Install: claude install-skill dpearson2699/swift-ios-skills
# Swift Concurrency Review, fix, and write concurrent Swift code targeting Swift 6.3+. Apply actor isolation, Sendable safety, and modern concurrency patterns with minimal behavior changes. ## Contents - [Triage Workflow](#triage-workflow) - [Swift 6.2 Language Changes](#swift-62-language-changes) - [Actor Isolation Rules](#actor-isolation-rules) - [Sendable Rules](#sendable-rules) - [Structured Concurrency Patterns](#structured-concurrency-patterns) - [Task Cancellation](#task-cancellation) - [Actor Reentrancy](#actor-reentrancy) - [AsyncSequence and AsyncStream](#asyncsequence-and-asyncstream) - [@Observable and Concurrency](#observable-and-concurrency) - [Synchronization Primitives](#synchronization-primitives) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Triage Workflow When diagnosing a concurrency issue, follow this sequence: ### Step 1: Capture context - Copy the exact compiler diagnostic(s) and the offending symbol(s). - Identify the project's concurrency settings: - Swift language version (must be 6.2+). - Whether approachable concurrency (default MainActor isolation) is enabled. - Strict concurrency checking level (Complete / Targeted / Minimal). - Determine the current actor context of the code (`@MainActor`, custom `actor`, `nonisolated`) and whether a default isolation mode is active. - Confirm whether the code is UI-bound or intended to run off the main actor. ### Step 2: Apply the s