Apollo iOS Skill
Ce skill fait partie du repository officiel apollographql/skills, une collection de skills destinés aux agents de code IA travaillant avec les outils Apollo GraphQL. Il fournit un guide structuré et opérationnel pour utiliser Apollo iOS, le client GraphQL fortement typé pour les plateformes Apple (iOS, macOS, tvOS, watchOS, visionOS).
Contenu et périmètre
Contrairement à un simple squelette ou placeholder, ce skill est pleinement rédigé et documenté. Il couvre l'ensemble du cycle de vie d'une intégration Apollo iOS : ajout de la dépendance via Swift Package Manager, configuration de apollo-codegen-config.json, exécution du codegen, initialisation et injection de ApolloClient, écriture de queries/mutations/subscriptions depuis des vues SwiftUI, gestion du cache normalisé, mise en place d'interceptors pour l'authentification, et génération de mocks pour les tests.
Le SKILL.md principal s'appuie sur plusieurs fichiers de référence (setup.md, codegen.md, operations.md, caching.md, interceptors.md, subscriptions.md, testing.md, custom-scalars.md) ainsi qu'un script utilitaire permettant de lister les versions publiées d'Apollo iOS.
Utilisation
Ce skill s'installe via le CLI skills (npx skills add apollographql/skills) ou comme plugin Claude Code. Une fois installé, il est disponible en tant que commande slash /apollo-skills:apollo-ios dans Claude Code. L'agent l'utilise automatiquement lorsqu'il détecte un contexte de développement Apollo iOS : ajout du SDK à un projet, configuration du codegen, écriture d'opérations GraphQL, ou mise en place de tests avec des mocks générés.
Règles et conventions clés
Le skill encode des conventions précises : cibler Apollo iOS v2+ exclusivement, ne jamais éditer manuellement les fichiers générés, ne pas câbler apollo-ios-cli generate dans une build phase Xcode, et maintenir un unique ApolloClient partagé injecté via l'Environment SwiftUI. Ces règles sont conçues pour produire des projets maintenables et performants, conformes aux recommandations officielles d'Apollo GraphQL.