About swift-concurrency-expert
A skill for reviewing and fixing Swift Concurrency issues in Swift 6.2+ code, with a focus on actor isolation, Sendable safety, and minimal behavior changes. It is intended for developers addressing compiler diagnostics or data-race risks.
Key features
- 01Triage compiler diagnostics
- 02Check actor isolation context
- 03Apply minimal concurrency fixes
- 04Guide Sendable-safe design
- 05Handle background work safely
Use cases
- 01Resolve Swift 6.2 concurrency errors
- 02Isolate UI-bound types on MainActor
- 03Protect shared global state
- 04Move expensive work off the main actor
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ steipete/ agent-scripts --skill swift-concurrency-expertAfter installing, type/swift-concurrency-expertin Claude Code to confirm it loaded.
Bundled filesreferences/swift-6-2-concurrency.mdreferences/swiftui-concurrency-tour-wwdc.md
Details
From the project READMESwift 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.