Swift Concurrency

Swift 6 data-race diagnostiek, actor isolation, callback-to-async migratie

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

Getest · Werkt ★ 9.2/10

Swift Concurrency — Swift 6 data-race diagnostiek, actor isolation, callback-to-async migratie

Wat het doet

Diagnosticeert Swift Concurrency compilerfouten en begeleidt Swift 6 migratie door eerst de taalmodus en isolatie-instellingen van het project te lezen, en vervolgens de kleinste veilige fix toe te passen. Activeert bij Sendable, @MainActor, actors, data races, of het converteren van completion handlers naar async/await.

Testrapport

Taak: een model met een callback loader en gedeelde cache naar een schone build in Swift 6 brengen — swiftc -swift-version 6 gaf 3 errors «main actor-isolated property ... from a Sendable closure». De baseline run zonder de skill — een reflexieve fix Task { @MainActor in ... } — compileerde schoon (0 errors), wat betekent dat beide versies gelijk waren volgens de compiler. Het verschil kwam naar voren in de volgende stap: de skill, volgens de regel «shared mutable state → actor», maakte Cache een actor, terwijl de baseline versie het als een class liet; toen ik een realistische vereiste toevoegde (de cache opwarmen vanuit een background Task.detached), faalde de baseline optie met de error «non-sendable type 'Cache' ... cannot cross actor boundary», terwijl de skill versie schoon compileerde (exit 0). De skill dwong ook eerst het fixen van de taalmodus af en paste zijn Task entry isolation regel toe, waarbij de geërfde @MainActor bleef, omdat het synchrone prefix isLoading muteert. Alle 15 references/ bestanden waren aanwezig, installatie werd gecontroleerd in een lege HOME zonder ~/.claude. Een link naar de betaalde cursus van de auteur was aanwezig, maar eerlijk vermeld in de footer en gemarkeerd «use sparingly».

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

Installatie

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

Commando's en voorbeeldprompts

  • /swift-concurrencySwift 6 data-race diagnostiek, actor isolation, callback-to-async migratie

Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):

  • 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