Swift Concurrency

Swift 6 data-race-diagnostik, aktörsisolering, callback-till-async-migrering

av AvdLee · AvdLee/Swift-Concurrency-Agent-Skill

Testad · Fungerar ★ 9.2/10

Swift Concurrency — Swift 6 data-race-diagnostik, aktörsisolering, callback-till-async-migrering

Vad den gör

Diagnostiserar Swift Concurrency-kompilatorfel och vägleder Swift 6-migrering genom att först läsa projektets språkläge och isoleringsinställningar, och sedan tillämpa den minsta säkra fixen. Utlöses vid Sendable, @MainActor, actors, data races, eller konvertering av completion handlers till async/await.

Testrapport

Uppgift: Få en modell med callback-laddare och gemensam cache att kompilera rent i Swift 6 — swiftc -swift-version 6 gav 3 fel «main actor-isolated property ... from a Sendable closure». Baslinjekörningen utan skill – en reflexmässig fix Task { @MainActor in ... } – kompilerades rent (0 fel), det vill säga enligt kompilatorn är båda versionerna likvärdiga. Skillnaden uppstod i nästa steg: skillen, enligt regeln «shared mutable state → actor», gjorde Cache till en aktör, medan basversionen lämnade den som en klass; när jag lade till ett realistiskt krav (förvärmning av cachen från en bakgrunds-Task.detached), kraschade basversionen med felet «non-sendable type 'Cache' ... cannot cross actor boundary», medan skill-versionen kompilerades rent (exit 0). Skillen tvingade också först att fixera language mode och tillämpade sin regel Task entry isolation, och lämnade den ärvda @MainActor, eftersom det synkrona prefixet muterar isLoading. Alla 15 filer i references/ finns på plats, installationen kontrollerades i en tom HOME utan ~/.claude. En länk till författarens betalda kurs finns, men är ärligt angiven i sidfoten och märkt «use sparingly».

Testad: 2026-07-17 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/AvdLee/Swift-Concurrency-Agent-Skill.git
mkdir -p ~/.claude/skills
cd Swift-Concurrency-Agent-Skill && cp -r swift-concurrency ~/.claude/skills/swift-concurrency

Kommandon och exempelprompter

  • /swift-concurrencySwift 6 data-race-diagnostik, aktörsisolering, callback-till-async-migrering

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • My Swift 6 build throws main actor-isolated Sendable closure errors, help
  • Migrate this completion-handler loader to async/await under Swift 6 strict mode
  • This shared mutable cache won't cross the actor boundary in Swift 6