swift-concurrency-expert
Swift Concurrency review and remediation for Swift 6.2+. Use when asked to review Swift Concurrency usage, improve concurrency compliance, or fix Swift concurrency compiler errors in a feature or file.
When & Why to Use This Skill
The Swift Concurrency Expert is a specialized Claude skill designed to review, remediate, and optimize Swift 6.2+ codebases for modern concurrency standards. It helps developers achieve strict data-race safety by applying actor isolation, resolving Sendable protocol errors, and implementing efficient async/await patterns, ensuring full compliance with the latest Swift compiler requirements and modern iOS/macOS development best practices.
Use Cases
- Swift 6 Migration: Identifying and fixing complex concurrency-related compiler errors and warnings when upgrading legacy Swift projects to version 6.2 or higher.
- Data-Race Safety Audits: Reviewing existing code to ensure proper actor isolation and Sendable compliance to prevent unpredictable runtime crashes and data races.
- UI Thread Optimization: Correctly applying @MainActor annotations to UI-bound types and protocol conformances to ensure smooth interface performance and thread safety.
- Concurrency Pattern Refactoring: Moving expensive background tasks into nonisolated async functions or dedicated actors to improve application responsiveness and resource management.
| name | swift-concurrency-expert |
|---|---|
| description | Swift Concurrency review and remediation for Swift 6.2+. Use when asked to review Swift Concurrency usage, improve concurrency compliance, or fix Swift concurrency compiler errors in a feature or file. |
Swift Concurrency Expert
Attribution: copied from @Dimillian’s Dimillian/Skills (2025-12-31).
Overview
Review and fix Swift Concurrency issues in Swift 6.2+ codebases by applying actor isolation, Sendable safety, and modern concurrency patterns with minimal behavior changes.
Workflow
1. Triage the issue
- Capture the exact compiler diagnostics and the offending symbol(s).
- Identify the current actor context (
@MainActor,actor,nonisolated) and whether a default actor isolation mode is enabled. - Confirm whether the code is UI-bound or intended to run off the main actor.
2. Apply the smallest safe fix
Prefer edits that preserve existing behavior while satisfying data-race safety.
Common fixes:
- UI-bound types: annotate the type or relevant members with
@MainActor. - Protocol conformance on main actor types: make the conformance isolated (e.g.,
extension Foo: @MainActor SomeProtocol). - Global/static state: protect with
@MainActoror move into an actor. - Background work: move expensive work into a
@concurrentasync function on anonisolatedtype or use anactorto guard mutable state. - Sendable errors: prefer immutable/value types; add
Sendableconformance only when correct; avoid@unchecked Sendableunless you can prove thread safety.
Reference material
- See
references/swift-6-2-concurrency.mdfor Swift 6.2 changes, patterns, and examples. - See
references/swiftui-concurrency-tour-wwdc.mdfor SwiftUI-specific concurrency guidance.