Skills

Swift Concurrency Skill : d'abord analyser la concurrence du projet, puis parler d'une migration Swift 6

Pour ceux qui veulent qu'un outil de code Agent Skills vérifie la sûreté de concurrence Swift, la performance ou une migration Swift 6+. Le premier passage doit être une analyse seulement ; ne change pas encore le modèle de concurrence.

Official source · Swift Concurrency Agent Skill

Install

npx skills add https://github.com/avdlee/swift-concurrency-agent-skill --skill swift-concurrency

À qui ça s'adresse

Si tu maintiens un projet Swift et que tu veux qu'un assistant de code parle de concurrence sûre, de performance et d'une migration Swift 6+ à partir d'un skill expert, au lieu de mélanger de vieilles API de threads de mémoire, ce skill convient mieux. Il vise tout outil de code IA qui gère le format ouvert Agent Skills. Les notes de format sont sur

https://agentskills.io/home

Il te faut déjà un projet Swift analysable, et accepter d'ajouter le skill swift-concurrency avec une commande npx. Si tu veux seulement lire des notes WWDC et ne comptes pas laisser l'assistant lire le dépôt, le gain est limité. La page cite plusieurs produits avec un tableau de clients et écrit aussi « tout outil qui gère ce format » : ne prends pas les exemples pour une liste fermée.

Premier essai en 3 minutes

L'installation officielle est cette ligne :

npx skills add https://github.com/avdlee/swift-concurrency-agent-skill --skill swift-concurrency

Elle écrit le skill dans l'environnement Agent courant. Confirme que tu as npx en local et que c'est l'environnement du projet Swift à analyser, puis exécute. N'ajoute pas un autre installeur à côté.

Une fois installé, fais l'exemple officiel en analyse lecture seule ; ne migre pas encore :

Use the swift concurrency skill and analyze the current project for Swift Concurrency improvements

Le signal de succès suit le How to verify de la page : l'assistant doit citer le triage/playbook dans skills/swift-concurrency/SKILL.md et entrer dans le reference file qui correspond à ton error or task. S'il ne donne que des conseils async génériques sans parler de ce playbook, arrête et fais-lui ouvrir le fichier skill. Pendant l'analyse, ne le laisse pas changer les actor, l'isolation, ni monter à Swift 6.

Cas d'usage

Cas 1 : Chercher des améliorations de concurrence dans le projet courant. Utilise l'invite officielle de la section précédente. La tâche est l'analyse, pas la modification de code. Le texte de page disponible ne dit pas quels répertoires il parcourt, ni le format du rapport. Tu peux confirmer qu'il déclare avoir utilisé le skill swift concurrency et qu'il aboutit au playbook de triage dans SKILL.md. Si le conseil est déjà « je vais modifier ces fichiers pour toi », demande d'abord l'ensemble de fichiers, puis décide.

Cas 2 : Consulter une page de référence pour une erreur ou une tâche de migration concrète. L'étape de vérif dit : pour ton error or task, entrer dans le reference file correspondant. Quand tu as déjà un diagnostic de concurrence du compilateur, ou que tu veux clairement une migration Swift 6+, fais d'abord ouvrir le playbook, puis la référence correspondante, au lieu de changer tout de suite le mode de langage. L'optimisation de performance est aussi une capacité, sans commande de sonde. Une tâche de performance commence aussi par le fichier de référence ; s'il manque la commande, n'invente pas un script de benchmark.

Limites d'usage

C'est un skill de guidage expert, pas un migrateur automatique. Concurrence sûre, performance et migration Swift 6+ sont dans le périmètre, mais le premier arrêt doit être analyse et citation. Le dépôt est aussi écrit comme Agent Plugin portable (spec 1.0.0) ; les clients compatibles découvrent le skill depuis plugin.json à la racine et skills/. C'est de l'emballage, pas une deuxième commande d'installation. L'install utilise toujours seulement le npx skills add ci-dessus.

La spec plugin est sur

https://agent-plugins.org/

N'en fais pas une raison d'utiliser une install boutique non écrite. Un inventaire complet des fichiers de référence n'apparaît pas dans le texte de page disponible ; tu ne peux pas nommer une reference précise à partir de ce matériau.

Le premier arrêt est l'analyse. Toute modification du code de concurrence Swift, tout changement de mode de langage ou tout ajout en masse de @MainActor doit d'abord faire nommer les fichiers à changer et la page de référence ; tu confirmes, puis ça continue.