swift-concurrency-expert

steipete's avatarfrom steipete

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.

648stars🔀53forks📁View on GitHub🕐Updated Jan 1, 2026

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.
nameswift-concurrency-expert
descriptionSwift 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 @MainActor or move into an actor.
  • Background work: move expensive work into a @concurrent async function on a nonisolated type or use an actor to guard mutable state.
  • Sendable errors: prefer immutable/value types; add Sendable conformance only when correct; avoid @unchecked Sendable unless you can prove thread safety.

Reference material

  • See references/swift-6-2-concurrency.md for Swift 6.2 changes, patterns, and examples.
  • See references/swiftui-concurrency-tour-wwdc.md for SwiftUI-specific concurrency guidance.