Swift Concurrency
Diagnostics des courses de données Swift 6, isolation des acteurs, migration de callback vers async.
Testé · Fonctionne
Ce que fait
Diagnostique les erreurs de compilation Swift Concurrency et guide la migration vers Swift 6 en lisant d'abord le mode de langage et les paramètres d'isolation du projet, puis en appliquant la plus petite correction sûre. Se déclenche sur Sendable, @MainActor, les acteurs, les courses de données, ou la conversion des gestionnaires de complétion en async/await.
Rapport de test
Tâche : obtenir une compilation propre en Swift 6 d'un modèle avec un chargeur callback et un cache partagé — swiftc -swift-version 6 donnait 3 erreurs « main actor-isolated property ... from a Sendable closure ». L'exécution de base sans la compétence — un correctif réflexe Task { @MainActor in ... } — compile proprement (0 erreurs), c'est-à-dire que selon le compilateur, les deux versions sont égales. La différence est apparue à l'étape suivante : la compétence, selon la règle « shared mutable state → actor », a fait de Cache un acteur, tandis que la version de base l'a laissé en tant que classe ; lorsque j'ai ajouté une exigence réaliste (préchauffage du cache à partir d'un Task.detached en arrière-plan), la version de base a échoué avec l'erreur « non-sendable type 'Cache' ... cannot cross actor boundary », tandis que la version de la compétence a compilé proprement (exit 0). La compétence a également forcé la fixation du language mode et a appliqué sa règle d'isolation d'entrée de tâche, laissant le @MainActor hérité, car le préfixe synchrone mute isLoading. Les 15 fichiers references/ sont tous présents, l'installation a été vérifiée dans un HOME vide sans ~/.claude. Un lien vers un cours payant de l'auteur est présent, mais il est honnêtement divulgué dans le pied de page et marqué « use sparingly ».
Testé le: 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
Commandes et exemples de prompts
/swift-concurrencyDiagnostics des courses de données Swift 6, isolation des acteurs, migration de callback vers async.
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
My Swift 6 build throws main actor-isolated Sendable closure errors, helpMigrate this completion-handler loader to async/await under Swift 6 strict modeThis shared mutable cache won't cross the actor boundary in Swift 6