apollo-kotlin
Guide for building applications with Apollo Kotlin, the GraphQL client library for Android and Kotlin. Use this skill when: (1) setting up Apollo Kotlin in a Gradle project for Android, Kotlin/JVM, or KMP, (2) configuring schema download and codegen for GraphQL services, (3) configuring an `ApolloClient` with auth, interceptors, and caching, (4) writing queries, mutations, or subscriptions,
Install
npx skills add https://github.com/apollographql/skills --skill apollo-kotlinSKILL.md
Apollo Kotlin Guide
Apollo Kotlin is a strongly typed GraphQL client that generates Kotlin models from your GraphQL operations and schema, that can be used in Android, JVM, and Kotlin Multiplatform projects.
Process
Follow this process when adding or working with Apollo Kotlin:
- Confirm target platforms (Android, JVM, KMP), GraphQL endpoint(s), and how schemas are sourced.
- Configure Gradle and code generation, including custom scalars
- Create a shared
ApolloClientwith auth, logging, and caching. - Implement operations.
- Validate behavior with tests and error handling.
Reference Files
- Setup - Gradle plugin, schema download, codegen config (including scalars), client configuration (auth, logging, interceptors)
- Operations - Queries, mutations, subscriptions, and how to execute them
- Caching - Setup and use the normalized cache
- Migration Guide - Migrate from Apollo Kotlin 4
Scripts
- list-apollo-kotlin-versions.sh - List versions of Apollo Kotlin
- list-apollo-kotlin-normalized-cache-versions.sh - List versions of the Apollo Kotlin Normalized Cache library
Key Rules
- Prefer Apollo Kotlin v5+. Do not use v3 or older versions.
- Keep schema and operations in source control to make builds reproducible.
Related skills
vercel-react-native-skillsvercel-labs224KReact Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.firebase-crashlyticsfirebase117KComprehensive guide for Firebase Crashlytics, including provisioning and SDK usage. Use this skill when the user needs help setting up Crashlytics, adding crash reporting, or using the Crashlytics SDK in their application.xcode-project-setupfirebase117KSafely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).animate-expoemilkowalski70KBuild animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web a