{
  "markdown": "# Apollo GraphQL Agent Skills\n\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Skills](https://img.shields.io/badge/skills-11-green.svg)](#skills)\n\nA collection of skills for AI coding agents working with Apollo GraphQL tools and technologies.\n\nApollo Skills follow the [Agent Skills](https://agentskills.io/) format and are available on [skills.sh](https://skills.sh/).\n\n## Installation\n\nInstall skills using the [Skills CLI](https://skills.sh/docs/cli):\n\n```bash\nnpx skills add apollographql/skills\n```\n\nThe CLI guides you through an interactive installation:\n\n1. **Select skills** - Choose which skills to install\n2. **Select agents** - Pick target agents (Claude Code, Codex, Cursor, Gemini CLI, Goose, OpenCode)\n3. **Installation scope** - Project (committed with your code) or Global\n4. **Installation method** - Symlink (recommended) or Copy\n\n```\n◇  Found 11 skills\n│\n◆  Select skills to install\n│  ◼ apollo-client\n│  ◼ apollo-connectors\n│  ◼ apollo-server\n│  ○ ...\n└\n```\n\n## Claude Code Plugin\n\nYou can also install skills as a [Claude Code plugin](https://code.claude.com/docs/en/discover-plugins):\n\nFirst, add the marketplace:\n\n```bash\n/plugin marketplace add apollographql/skills\n```\n\nThen, install the plugin:\n\n```bash\n/plugin install apollo-skills@apollo-marketplace\n```\n\nOnce installed, skills are available as namespaced slash commands:\n\n| Slash Command | Description |\n|---|---|\n| `/apollo-skills:apollo-client` | Apollo Client 4.x for React — queries, mutations, caching, local state |\n| `/apollo-skills:apollo-connectors` | Apollo Connectors — integrate REST APIs into GraphQL |\n| `/apollo-skills:apollo-ios` | Apollo iOS — GraphQL client for Swift (iOS, macOS, tvOS, watchOS, visionOS) |\n| `/apollo-skills:apollo-kotlin` | Apollo Kotlin — GraphQL client for Android and Kotlin |\n| `/apollo-skills:apollo-mcp-server` | Apollo MCP Server — connect AI agents with GraphQL APIs |\n| `/apollo-skills:apollo-server` | Apollo Server 4.x — schemas, resolvers, auth, plugins |\n| `/apollo-skills:graphql-operations` | GraphQL operations — queries, mutations, fragments |\n| `/apollo-skills:graphql-schema` | GraphQL schema design — types, naming, pagination, errors |\n| `/apollo-skills:rover` | Rover CLI — schema management and local supergraph development |\n| `/apollo-skills:rust-best-practices` | Rust best practices — idiomatic Rust following Apollo conventions |\n| `/apollo-skills:skill-creator` | Skill creator — guide for creating new Apollo skills |\n\n## GitHub CLI\n\nYou can also install skills with the [GitHub CLI](https://cli.github.com/) using `gh skill` (preview):\n\n```bash\n# Install skills into the current project for Claude Code\ngh skill install apollographql/skills --agent claude-code\n\n# Install at user scope (available everywhere)\ngh skill install apollographql/skills --agent claude-code --scope user\n\n# Pin to a specific release (skipped during updates so it won't auto-upgrade)\ngh skill install apollographql/skills --pin v1.0.0 --agent claude-code\n\n# Preview skills before installing\ngh skill preview apollographql/skills\n```\n\n`--agent` supports many hosts beyond Claude Code (Cursor, Codex, Gemini CLI, GitHub Copilot, and more); run `gh skill install --help` for the full list.\n\n## Releases\n\nReleases are tagged with semver and published automatically whenever a content change is merged to `main`. The full list lives at [github.com/apollographql/skills/releases](https://github.com/apollographql/skills/releases).\n\n| Install path | What you get |\n|---|---|\n| `gh skill install apollographql/skills <name>` | Latest tagged release |\n| `gh skill install apollographql/skills <name> --pin v1.0.0` | Pinned to a specific release (skipped during updates) |\n| `npx skills add apollographql/skills@<name>` | Latest content from `main` (no tag) |\n| Claude Code plugin (`claude plugin install`) | Latest plugin version (auto-updates via `claude plugin update`) |\n\nIf you need stability, pin via `gh skill install … --pin vX.Y.Z`. Pinned skills are skipped during `gh skill upgrade`, so you upgrade deliberately. For the freshest content, the other paths track `main` HEAD directly.\n\n## Available Skills\n\n### apollo-connectors\n\nWrite Apollo Connectors schemas to integrate REST APIs into GraphQL.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@apollo-connectors\n```\n\n**Use when:**\n\n- Connecting REST APIs to a GraphQL supergraph\n- Writing `@source` and `@connect` directives\n- Implementing entity resolvers with batching\n- Validating connector schemas with `rover`\n\n**Categories covered:**\n\n- Selection mapping grammar\n- HTTP methods and headers\n- Variable interpolation (`$args`, `$this`, `$config`)\n- Entity patterns and `@key` directives\n- Batch requests with `@listSize`\n\n**Examples:**\n\n- \"Connect my REST API to my GraphQL schema\"\n- \"Write a connector for this OpenAPI spec\"\n- \"Add entity resolvers with batching for my users endpoint\"\n\n**References:**\n[SKILL.md](skills/apollo-connectors/SKILL.md) ·\n[Grammar](skills/apollo-connectors/references/grammar.md) ·\n[Methods](skills/apollo-connectors/references/methods.md) ·\n[Variables](skills/apollo-connectors/references/variables.md) ·\n[Entities](skills/apollo-connectors/references/entities.md) ·\n[Validation](skills/apollo-connectors/references/validation.md) ·\n[Troubleshooting](skills/apollo-connectors/references/troubleshooting.md)\n\n---\n\n### apollo-federation\n\nAuthor Apollo Federation subgraph schemas with entities, sharing, and cross-subgraph field resolution.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills --skill apollo-federation\n```\n\n**Use when:**\n\n- Creating new subgraph schemas for a federated supergraph\n- Defining or modifying entities with `@key`\n- Sharing types/fields across subgraphs with `@shareable`\n- Working with federation directives (`@external`, `@requires`, `@provides`, `@override`)\n- Troubleshooting composition errors\n\n**Categories covered:**\n\n- Entity definition and `@key` patterns (compound, multiple, differing)\n- Reference resolvers and computed fields\n- Value types with `@shareable`\n- Field migration with `@override` (including progressive rollout)\n- Entity interfaces with `@interfaceObject`\n- Common composition errors and fixes\n\n**Examples:**\n\n- \"Create a federated subgraph for my products service\"\n- \"Add a computed field that requires data from another subgraph\"\n- \"Migrate this field from one subgraph to another\"\n\n**References:**\n[SKILL.md](skills/apollo-federation/SKILL.md) ·\n[Directives](skills/apollo-federation/references/directives.md) ·\n[Schema Patterns](skills/apollo-federation/references/schema-patterns.md) ·\n[Composition](skills/apollo-federation/references/composition.md)\n\n---\n\n### apollo-mcp-server\n\nConfigure and use Apollo MCP Server to connect AI agents with GraphQL APIs.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@apollo-mcp-server\n```\n\n**Use when:**\n\n- Setting up Apollo MCP Server for Claude or other AI agents\n- Defining MCP tools from GraphQL operations\n- Using introspection tools (introspect, search, validate, execute)\n- Troubleshooting MCP server connectivity issues\n\n**Categories covered:**\n\n- Server configuration (endpoints, schemas, headers)\n- Built-in tools and compact notation\n- Operation sources (files, collections, persisted queries)\n- Authentication and security\n- Health checks and debugging\n\n**Examples:**\n\n- \"Set up Apollo MCP Server for my GraphQL endpoint\"\n- \"Configure MCP tools from my GraphQL operations\"\n- \"Debug MCP server connection issues\"\n\n**References:**\n[SKILL.md](skills/apollo-mcp-server/SKILL.md) ·\n[Tools](skills/apollo-mcp-server/references/tools.md) ·\n[Configuration](skills/apollo-mcp-server/references/configuration.md) ·\n[Troubleshooting](skills/apollo-mcp-server/references/troubleshooting.md)\n\n---\n\n### apollo-router\n\nConfigure and run Apollo Router for federated GraphQL supergraphs.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@apollo-router\n```\n\n**Use when:**\n\n- Setting up Apollo Router to run a supergraph\n- Configuring routing, headers, or CORS\n- Implementing custom plugins (Rhai scripts or coprocessors)\n- Configuring telemetry and observability\n- Troubleshooting Router performance or connectivity issues\n\n**Categories covered:**\n\n- Installation and quick start\n- Router configuration (YAML)\n- Header propagation and manipulation\n- CORS and authentication\n- Rhai scripts and coprocessors\n- Telemetry (tracing, metrics, logging)\n\n**Examples:**\n\n- \"Set up Apollo Router for my supergraph\"\n- \"Configure CORS for my Router\"\n- \"Add header propagation for authentication\"\n\n**References:**\n[SKILL.md](skills/apollo-router/SKILL.md) ·\n[Configuration](skills/apollo-router/references/configuration.md) ·\n[Headers](skills/apollo-router/references/headers.md) ·\n[Plugins](skills/apollo-router/references/plugins.md) ·\n[Telemetry](skills/apollo-router/references/telemetry.md) ·\n[Troubleshooting](skills/apollo-router/references/troubleshooting.md)\n\n---\n\n### apollo-server\n\nBuild GraphQL servers with Apollo Server 4.x, including schemas, resolvers, authentication, and plugins.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@apollo-server\n```\n\n**Use when:**\n\n- Setting up a new Apollo Server project\n- Writing resolvers or defining GraphQL schemas\n- Implementing authentication or authorization\n- Creating plugins or custom data sources\n- Troubleshooting Apollo Server errors or performance issues\n\n**Categories covered:**\n\n- Quick start setup (standalone and Express)\n- Schema definition and type system\n- Resolver patterns and best practices\n- Context and authentication\n- Plugins and lifecycle hooks\n- Data sources and DataLoader\n- Error handling and formatting\n\n**Examples:**\n\n- \"Create an Apollo Server with user authentication\"\n- \"Write resolvers for my GraphQL schema\"\n- \"Add a custom plugin to log all queries\"\n\n**References:**\n[SKILL.md](skills/apollo-server/SKILL.md) ·\n[Resolvers](skills/apollo-server/references/resolvers.md) ·\n[Context & Auth](skills/apollo-server/references/context-and-auth.md) ·\n[Plugins](skills/apollo-server/references/plugins.md) ·\n[Data Sources](skills/apollo-server/references/data-sources.md) ·\n[Error Handling](skills/apollo-server/references/error-handling.md) ·\n[Troubleshooting](skills/apollo-server/references/troubleshooting.md)\n\n---\n\n### apollo-client\n\nBuild React applications with Apollo Client 4.x for GraphQL data management, caching, and local state.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@apollo-client\n```\n\n**Use when:**\n\n- Setting up Apollo Client in a React project\n- Writing GraphQL queries or mutations with hooks\n- Configuring caching or cache policies\n- Managing local state with reactive variables\n- Troubleshooting Apollo Client errors or performance issues\n\n**Categories covered:**\n\n- Quick start setup (install, client, provider, query)\n- useQuery and useLazyQuery hooks\n- useMutation with optimistic UI\n- InMemoryCache and type policies\n- Reactive variables and local state\n- Error handling and error links\n- Performance optimization\n\n**Examples:**\n\n- \"Set up Apollo Client in my React app\"\n- \"Implement optimistic UI for my mutation\"\n- \"Configure cache policies for my queries\"\n\n**References:**\n[SKILL.md](skills/apollo-client/SKILL.md) ·\n[Queries](skills/apollo-client/references/queries.md) ·\n[Mutations](skills/apollo-client/references/mutations.md) ·\n[Caching](skills/apollo-client/references/caching.md) ·\n[State Management](skills/apollo-client/references/state-management.md) ·\n[Error Handling](skills/apollo-client/references/error-handling.md) ·\n[Troubleshooting](skills/apollo-client/references/troubleshooting.md)\n\n---\n\n### apollo-ios\n\nBuild Apple-platform applications with Apollo iOS, the strongly-typed GraphQL client for Swift (iOS, macOS, tvOS, watchOS, visionOS).\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@apollo-ios\n```\n\n**Use when:**\n\n- Adding Apollo iOS to a Swift Package Manager or Xcode project\n- Configuring `apollo-codegen-config.json` and running code generation\n- Configuring an `ApolloClient` with auth, interceptors, and caching\n- Writing queries, mutations, or subscriptions from SwiftUI views\n- Writing tests against generated operation mocks\n\n**Categories covered:**\n\n- SPM installation, product linking (`Apollo` vs `ApolloAPI`), and `apollo-ios-cli` setup\n- Code generation config (`apollo-codegen-config.json`) with the canonical `swiftPackage` + `relative` defaults\n- Custom scalars (default `String` typealias, when and how to replace it)\n- Queries, mutations, watchers, and cache policies with async/await\n- Normalized cache, `@typePolicy` cache keys, manual reads/writes\n- Interceptor architecture split across HTTP and GraphQL layers (auth token attachment + token refresh + retry)\n- Subscriptions over HTTP multipart and WebSocket, with scene-phase pause/resume\n- Testing with `ApolloTestSupport` and generated `Mock<Type>` fixtures (enabled lazily when tests need them)\n\n**Examples:**\n\n- \"Set up Apollo iOS in a new SwiftUI app\"\n- \"Add an auth token to every GraphQL request\"\n- \"Subscribe to a GraphQL subscription from a SwiftUI view\"\n\n**References:**\n[SKILL.md](skills/apollo-ios/SKILL.md) ·\n[Setup](skills/apollo-ios/references/setup.md) ·\n[Codegen](skills/apollo-ios/references/codegen.md) ·\n[Custom Scalars](skills/apollo-ios/references/custom-scalars.md) ·\n[Operations](skills/apollo-ios/references/operations.md) ·\n[Caching](skills/apollo-ios/references/caching.md) ·\n[Interceptors](skills/apollo-ios/references/interceptors.md) ·\n[Subscriptions](skills/apollo-ios/references/subscriptions.md) ·\n[Testing](skills/apollo-ios/references/testing.md)\n\n---\n\n### apollo-kotlin\n\nBuild applications with Apollo Kotlin, the GraphQL client library for Android and Kotlin.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@apollo-kotlin\n```\n\n**Use when:**\n\n- Setting up Apollo Kotlin in a Gradle project for Android, Kotlin/JVM, or KMP\n- Configuring schema download and codegen for GraphQL services\n- Configuring an `ApolloClient` with auth, interceptors, and caching\n- Writing queries, mutations, or subscriptions\n\n**Categories covered:**\n\n- Gradle plugin setup and service configuration\n- Schema management and code generation\n- ApolloClient configuration\n- Coroutines and Flow usage patterns\n- Normalized cache and cache policies\n\n**Examples:**\n\n- \"Set up Apollo Kotlin in my Android app\"\n- \"Configure code generation for multiple GraphQL services\"\n- \"Add normalized caching for offline support\"\n\n**References:**\n[SKILL.md](skills/apollo-kotlin/SKILL.md) ·\n[Setup](skills/apollo-kotlin/references/setup.md) ·\n[Operations](skills/apollo-kotlin/references/operations.md) ·\n[Caching](skills/apollo-kotlin/references/caching.md) ·\n\n---\n\n### rover\n\nManage GraphQL schemas and run local supergraph development with Apollo Rover CLI.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@rover\n```\n\n**Use when:**\n\n- Publishing or fetching subgraph schemas to/from GraphOS\n- Composing supergraph schemas locally\n- Running local supergraph development with rover dev\n- Validating schemas with check and lint commands\n\n**Categories covered:**\n\n- Subgraph commands (fetch, publish, check, lint)\n- Graph commands (monograph management)\n- Supergraph composition\n- Local development with rover dev\n- Authentication and configuration\n\n**Examples:**\n\n- \"Publish my subgraph schema to GraphOS\"\n- \"Run rover dev to test my supergraph locally\"\n- \"Check my schema changes before deploying\"\n\n**References:**\n[SKILL.md](skills/rover/SKILL.md) ·\n[Subgraphs](skills/rover/references/subgraphs.md) ·\n[Graphs](skills/rover/references/graphs.md) ·\n[Supergraphs](skills/rover/references/supergraphs.md) ·\n[Dev](skills/rover/references/dev.md) ·\n[Configuration](skills/rover/references/configuration.md)\n\n---\n\n### graphql-schema\n\nDesign GraphQL schemas following industry best practices for type design, naming, pagination, errors, and security.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@graphql-schema\n```\n\n**Use when:**\n\n- Designing a new GraphQL schema or API\n- Reviewing existing schema for improvements\n- Deciding on type structures or nullability\n- Implementing pagination or error patterns\n- Ensuring security in schema design\n\n**Categories covered:**\n\n- Type design patterns (interfaces, unions, custom scalars)\n- Naming conventions for types, fields, and arguments\n- Cursor-based pagination (Connection pattern)\n- Error modeling and result types\n- Security best practices (depth limiting, complexity, authorization)\n\n**Examples:**\n\n- \"Design a GraphQL schema for my e-commerce API\"\n- \"Review my schema for best practices\"\n- \"Add cursor-based pagination to my queries\"\n\n**References:**\n[SKILL.md](skills/graphql-schema/SKILL.md) ·\n[Types](skills/graphql-schema/references/types.md) ·\n[Naming](skills/graphql-schema/references/naming.md) ·\n[Pagination](skills/graphql-schema/references/pagination.md) ·\n[Errors](skills/graphql-schema/references/errors.md) ·\n[Security](skills/graphql-schema/references/security.md)\n\n---\n\n### graphql-operations\n\nWrite GraphQL operations (queries, mutations, fragments) following best practices for client-side development.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@graphql-operations\n```\n\n**Use when:**\n\n- Writing GraphQL queries or mutations\n- Organizing operations with fragments\n- Optimizing data fetching patterns\n- Setting up type generation or linting\n- Reviewing operations for efficiency\n\n**Categories covered:**\n\n- Query patterns and optimization\n- Mutation patterns and error handling\n- Fragment organization and colocation\n- Variable usage and types\n- Tooling (GraphQL Code Generator, ESLint, IDE extensions)\n\n**Examples:**\n\n- \"Write a query with pagination\"\n- \"Organize my operations with fragments\"\n- \"Set up GraphQL Code Generator for type safety\"\n\n**References:**\n[SKILL.md](skills/graphql-operations/SKILL.md) ·\n[Queries](skills/graphql-operations/references/queries.md) ·\n[Mutations](skills/graphql-operations/references/mutations.md) ·\n[Fragments](skills/graphql-operations/references/fragments.md) ·\n[Variables](skills/graphql-operations/references/variables.md) ·\n[Tooling](skills/graphql-operations/references/tooling.md)\n\n---\n\n### rust-best-practices\n\nWrite idiomatic Rust code following Apollo GraphQL's best practices handbook.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@rust-best-practices\n```\n\n**Use when:**\n\n- Writing new Rust code or functions\n- Reviewing or refactoring existing Rust code\n- Deciding between borrowing vs cloning or ownership patterns\n- Implementing error handling with Result types\n- Optimizing Rust code for performance\n- Writing tests or documentation for Rust projects\n\n**Categories covered:**\n\n- Coding style and idioms (borrowing, Option/Result, iterators)\n- Clippy and linting discipline\n- Performance optimization and profiling\n- Error handling with thiserror and anyhow\n- Testing strategies and snapshot testing\n- Generics, static and dynamic dispatch\n- Type state pattern for compile-time safety\n- Documentation best practices\n- Pointer types and thread safety\n\n**Examples:**\n\n- \"Review this Rust code for best practices\"\n- \"Help me decide between cloning and borrowing here\"\n- \"Add proper error handling to this function\"\n\n**References:**\n[SKILL.md](skills/rust-best-practices/SKILL.md) ·\n[Style](skills/rust-best-practices/references/style.md) ·\n[Errors](skills/rust-best-practices/references/errors.md) ·\n[Performance](skills/rust-best-practices/references/performance.md) ·\n[Testing](skills/rust-best-practices/references/testing.md) ·\n[Advanced](skills/rust-best-practices/references/advanced.md)\n\n---\n\n### skill-creator\n\nGuide for creating effective skills for Apollo GraphQL and GraphQL development.\n\n**Install:**\n\n```bash\nnpx skills add apollographql/skills@skill-creator\n```\n\n**Use when:**\n\n- Creating a new skill for this repository\n- Updating an existing skill's structure or content\n- Learning skill best practices and patterns\n- Writing SKILL.md files or reference documentation\n\n**Categories covered:**\n\n- SKILL.md format and frontmatter fields\n- Directory structure and reference files\n- Description writing for agent activation triggers\n- Progressive disclosure and context optimization\n- Apollo Voice writing style guidelines\n- Validation checklist for new skills\n\n**Examples:**\n\n- \"Create a new skill for Apollo Federation\"\n- \"Help me write a SKILL.md for my custom skill\"\n- \"Review my skill structure for best practices\"\n\n**References:**\n[SKILL.md](skills/skill-creator/SKILL.md) ·\n[Apollo Skills](skills/skill-creator/references/apollo-skills.md)\n\n---\n\n## Usage\n\nSkills activate automatically once installed. The agent uses them when relevant tasks are detected.\n\nYou can also explicitly invoke a skill depending on your tool:\n\n| Tool           | Automatic | Explicit Invocation                                     |\n| -------------- | --------- | ------------------------------------------------------- |\n| Claude Code    | Yes       | Slash command (e.g., `/graphql-schema` or `/apollo-skills:graphql-schema` via plugin) |\n| GitHub Copilot | Yes       | `/agent` for custom agents, `@github` for GitHub skills |\n| Cursor         | Yes       | Rules matched by file patterns (no direct invocation)   |\n| Windsurf       | Yes       | Slash command for workflows (e.g., `/workflow-name`)    |\n\n## Skill Structure\n\nEach skill contains:\n\n- `SKILL.md` - Instructions for the agent (required)\n- `references/` - Supporting documentation (optional)\n\n## Resources\n\n- [Apollo Client Documentation](https://www.apollographql.com/docs/react/)\n- [Apollo Server Documentation](https://www.apollographql.com/docs/apollo-server/)\n- [Apollo Connectors Documentation](https://www.apollographql.com/docs/graphos/schema-design/connectors/)\n- [Apollo Federation Documentation](https://www.apollographql.com/docs/graphos/schema-design/federated-schemas/)\n- [Apollo MCP Server](https://www.apollographql.com/docs/apollo-mcp-server/)\n- [Apollo iOS Documentation](https://www.apollographql.com/docs/ios/)\n- [Rover CLI Documentation](https://www.apollographql.com/docs/rover/)\n- [Rust Best Practices Handbook](https://github.com/apollographql/rust-best-practices)\n\n## Disclaimer\n\nThe code in this repository is experimental and for reference purposes only. Community feedback is welcome but this project is not officially supported in the same way that repositories in the official [Apollo GraphQL GitHub organization](https://github.com/apollographql) are. If you need help you can file an issue on this repository, [contact Apollo](https://www.apollographql.com/contact-sales) to talk to an expert, or create a ticket directly in Apollo Studio.\n",
  "bytes": 22606,
  "sha": "aea0b79d9581f69fd08f910ff489067d8a977ed5e94fa5385f1e1bf67fe9f793",
  "repo_slug": "apollographql/skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_apollographql_skills_apollo_skills_937dc484/readme"
}