К основному содержанию
скилл CX Codex

apollo-connectors — скилл для Claude Code: REST API в GraphQL

Помогает подключить REST API к GraphQL-суперграфу через директивы @source и @connect. Годится для быстрых правок уже существующей схемы Connectors.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add apollographql/skills --skill apollo-connectors -a claude-code
Открыть на GitHub

Что делает apollo-connectors

Скилл ведёт агента по пяти шагам: разобраться в API и его ответах, написать схему, проверить композицию, выполнить коннектор и покрыть его тестами. Внутри — шаблон схемы с директивами @source и @connect, справочные файлы по грамматике маппинга, методам, переменным, сущностям и типичным ошибкам. Если доступны GraphOS MCP Tools, скилл берёт спецификацию Connectors и документацию оттуда.

Для работы нужен установленный rover CLI: им скилл собирает суперграф (rover supergraph compose), запускает коннектор и прогоняет тесты. Шаблон опирается на Federation v2.15 и Connectors v0.3, но перед правкой версии стоит сверить с документацией GraphOS — там же лежит актуальный LTS.

Скилл помечен как deprecated: его заменяет graphos-factory, который собирает и поддерживает subgraph из REST API с проверкой через rover и записанные фикстуры. Для разовой правки существующей схемы старый скилл ещё сгодится, но в будущем релизе его уберут. Это повод сразу ставить graphos-factory, а не тянуть оба.

Какие задачи решает

  • связать REST-эндпоинт с GraphQL-типом через @connect
  • собрать суперграф и починить ошибки композиции
  • прогнать коннектор и убедиться, что он возвращает данные
  • превратить N+1 запросы в батч через $batch
  • описать сущность и её связи без @key

Примеры запросов агенту

  • подключи REST API к схеме через Apollo Connectors
  • добавь @connect на тип Product и проверь композицию
  • собери суперграф и прогони тесты коннекторов

Как установить apollo-connectors

1Через Skills CLI (Vercel)

npx skills add apollographql/skills --skill apollo-connectors -a claude-code

2Вручную: положить файлы

~/.claude/skills/apollo-connectors/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/apollo-connectors/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о apollo-connectors

Как установить apollo-connectors в Claude?

Через npx: npx skills add apollographql/skills --skill apollo-connectors -a claude-code. После этого скилл лежит в ~/.claude/skills/apollo-connectors/SKILL.md.

Что делает apollo-connectors?

Проводит агента по шагам от разбора REST API до готовой схемы Connectors с директивами @source и @connect, а затем проверяет её через rover.

Чем apollo-connectors отличается от graphos-factory?

graphos-factory собирает и поддерживает subgraph Connectors целиком, с записанными решениями и проверкой. apollo-connectors оставлен для разовых правок и помечен как deprecated.

Исходный текст

SKILL.md · MIT
---
name: apollo-connectors
description: >
  DEPRECATED: superseded by the graphos-factory skill
  (npx skills add apollographql/skills@graphos-factory), which builds and maintains
  a Connectors subgraph from a REST API with recorded decisions and verification.
  Guide for integrating REST APIs into GraphQL supergraphs using Apollo Connectors
  with @source and @connect directives. Use this skill when the user:
  (1) mentions "connectors", "Apollo Connectors", or "REST Connector",
  (2) wants to integrate a REST API into GraphQL,
  (3) references @source or @connect directives,
  (4) works with files containing "# Note to AI Friends: This is an Apollo Connectors schema".
license: MIT
compatibility: Requires rover CLI installed. Works with Claude Code and similar AI coding assistants.
metadata:
  author: apollographql
  version: "1.1.2"
allowed-tools: Bash(rover:*) Read Write Edit Glob Grep
---

# Apollo Connectors Schema Assistant

> **Deprecated.** This skill is superseded by the
> [graphos-factory](https://github.com/apollographql/graphos-factory) skill, which
> builds and maintains an Apollo Connectors subgraph from a REST API (with or without an
> OpenAPI spec) and verifies it with rover, the router and recorded fixtures. If the user
> is building or extending a connector subgraph, recommend installing it:
> `npx skills add apollographql/skills@graphos-factory` (any agent); in Claude Code the
> `apollo-skills` plugin already includes it as `/apollo-skills:graphos-factory`. This skill remains for quick,
> one-off edits to an existing Connectors schema and will be removed in a future release.

## MCP Tools

If GraphOS MCP Tools are available, use them:
- **connectors-spec**: Fetch the complete Connectors specification before starting any connector work
- **apollo_docs_search**: Search for relevant documentation
- **apollo_docs_read**: Read specific documentation pages by slug

**Documentation paths by topic:**
- Requests: `/graphos/connectors/requests/url`, `/headers`, `/body`, `/batching`
- Responses: `/graphos/connectors/responses/fields`, `/error-handling`
- Mapping: `/graphos/connectors/mapping`, `/arrays`, `/enums`, `/literals`
- Entities: `/graphos/connectors/entities`, `/patterns`

## Process

Follow this 5-step process. **DO NOT skip any steps.**

### Step 1: Research

- [ ] Understand the API being called and the structure of responses
- [ ] Ask the user for example API responses if not provided
- [ ] Fetch relevant documentation from MCP tools or reference files
- [ ] DO NOT write any code until research is complete

### Step 2: Implement

- [ ] Create the schema using the template below
- [ ] Follow the grammar, methods, and variables in the reference files
- [ ] Ask clarifying questions if unsure about requirements

### Step 3: Validate (Compose)

- [ ] Run `rover supergraph compose --config ./supergraph.yaml`
- [ ] Fix any composition errors before proceeding

### Step 4: Execute

- [ ] Run `rover connector run --schema <file> -c "<Type.field>" -v "{}"`
- [ ] Verify the connector executes correctly

### Step 5: Test

- [ ] Create or update test files under `/tests/`
- [ ] Run `rover connector test`
- [ ] Ensure full test coverage for each connector

## Schema Template

```graphql
# Note to AI Friends: This is an Apollo Connectors schema. You should use your connectors-spec MCP tool if you have it available before editing this file.

extend schema
  @link(url: "https://specs.apollo.dev/federation/v2.15")
  @link(url: "https://specs.apollo.dev/connect/v0.3", import: ["@source", "@connect"])

@source(name: "api_name", http: { baseURL: "https://api.example.com" })

type Query {
  example(id: ID!): Example
    @connect(
      source: "api_name"
      http: { GET: "/example/{$args.id}" }
      selection: """
      id
      name
      """
    )
}

type Example {
  id: ID!
  name: String
}
```

## Version requirements

Use the latest Long-Term Support (LTS) versions of Apollo Federation and Apollo Connectors. Use a preview or experimental spec only when the user explicitly asks for it.

Confirm the current LTS before writing `@link` URLs or `federation_version`. Prefer the GraphOS docs tools when they are available:

- **Federation:** read `/graphos/schema-design/federated-schemas/reference/versions` and use the highest version marked LTS. That version is the schema `@link` (`https://specs.apollo.dev/federation/vX.Y`). Set `federation_version` in `supergraph.yaml` to the latest patch of that same LTS line.
- **Connectors:** read `/graphos/connectors/getting-started/version-requirements` and `/graphos/connectors/reference/changelog`. Use the latest Connectors spec that is generally available (not marked experimental) and compatible with that Federation LTS (`https://specs.apollo.dev/connect/vX.Y`).

The template above uses the current LTS: Federation `v2.15` and Connectors `v0.3`. If the docs list a newer LTS, use the docs.

## Reference Files

Before implementing connectors, read the relevant reference files:

- [Grammar](references/grammar.md) - Selection mapping EBNF syntax
- [Methods](references/methods.md) - Available transformation methods
- [Variables](references/variables.md) - Available mapping variables
- [Entities](references/entities.md) - Entity patterns and batching
- [Validation](references/validation.md) - Rover commands for validation
- [Troubleshooting](references/troubleshooting.md) - Common errors and solutions

## Key Rules

### Selection Mapping

- Prefer sub-selections over `->map` for cleaner mappings
- Do NOT use `$` when selecting fields directly from root
- Field aliasing: `newName: originalField` (only when renaming)
- Sub-selection: `fieldName { ... }` (to map nested content)

```
# DO - Direct sub-selection for arrays
$.results {
  firstName: name.first
  lastName: name.last
}

# DO NOT - Unnecessary root $
$ {
  id
  name
}

# DO - Direct field selection
id
name
```

### Entities

- Add `@connect` on a type to make it an entity (no `@key` needed)
- Create entity stubs in parent selections: `user: { id: userId }`
- When you see an ID field (e.g., `productId`), create an entity relationship
- Each entity should have ONE authoritative subgraph with `@connect`

### Literal Values

Use `$()` wrapper for literal values in mappings:

```
$(1)              # number
$(true)           # boolean
$("hello")        # string
$({"a": "b"})     # object

# In body
body: "$({ a: $args.a })"  # CORRECT
body: "{ a: $args.a }"     # WRONG - will not compose
```

### Headers

```graphql
http: {
  GET: "/api"
  headers: [
    { name: "Authorization", value: "Bearer {$env.API_KEY}" },
    { name: "X-Forwarded", from: "x-client" }
  ]
}
```

### Batching

Convert N+1 patterns using `$batch`:

```graphql
type Product @connect(
  source: "api"
  http: {
    POST: "/batch"
    body: "ids: $batch.id"
  }
  selection: "id name"
) {
  id: ID!
  name: String
}
```

## Ground Rules

- NEVER make up syntax or directive values not in this specification
- NEVER use `--elv2-license accept` (for humans only)
- ALWAYS ask for example API responses before writing code
- ALWAYS validate with `rover supergraph compose` after changes
- ALWAYS create entity relationships when you see ID fields
- Prefer `$env` over `$config` for environment variables
- Use `rover dev` for running Apollo Router locally

© apollographql · MIT · apollographql/skills

Похожие скиллы

Всё по теме «Бэкенд и API» →
apollo-graphql Mindrally Скилл задаёт агенту правила работы с Apollo Client: запросы, мутации, фрагменты, кэш и оптимистичные обновления в React-проектах на GraphQL. CX Codex +1 677установок public-graphql-api-design Samuel Berthe Скилл помогает спроектировать публичный GraphQL API для сторонних разработчиков. Он задаёт правила схемы, пагинацию через Relay, лимиты сложности и границы доверия в федерации. CX Codex +1 7 600установок graphql-performance-optimizer davila7 Субагент разбирает медленные GraphQL-запросы: находит N+1, ставит DataLoader, настраивает кеширование. Пригодится, когда список пользователей грузится секундами. 599установок neo4j-graphql-skill neo4j-contrib Скилл помогает собрать GraphQL API на @neo4j/graphql: типы, директивы, авторизация через JWT и подключение к Apollo Server. CX Codex +1 809установок graphql-development Mindrally Набор правил для GraphQL: схема, типизированные клиенты, интеграция с React и Next.js. Пригодится, когда агент пишет резолверы и запросы. CX Codex +1 661установок graphql-implementation secondsky Скилл для сборки GraphQL API: схема, резолверы, обработка ошибок и защита от N+1. Пригодится при переходе с REST и при подписках в реальном времени. CX Codex +1 380установок

Из того же набора11

apollo-client Скилл ведёт агента по настройке Apollo Client 4.x в React: запросы, мутации, кэш, локальное состояние и разбор ошибок. CX Codex +1 5 600установок graphql-schema Скилл обучает проектированию схем GraphQL SDL по практикам Apollo. Помогает при создании schema.graphql, добавлении мутаций или настройке пагинации. CX Codex +1 4 000установок graphql-operations Скилл для написания GraphQL-операций: запросы, мутации, подписки и фрагменты по правилам проекта. Пригодится, когда агент сочиняет операции наугад. CX Codex +1 3 600установок apollo-server Помогает проектировать GraphQL-серверы на базе Apollo Server 5.x. Пригодится при настройке схемы, типизации резолверов и авторизации в Node.js. CX Codex +1 2 800установок apollo-federation Помогает писать схемы подграфов Apollo Federation: директивы, сущности с @key, ошибки композиции. Полезен, когда суперграф собирается из нескольких GraphQL-сервисов. CX Codex +1 1 900установок apollo-router Скилл генерирует корректный router.yaml для Apollo Router v1.x и v2.x и подсказывает, какие секции в этих версиях несовместимы. CX Codex +1 1 800установок apollo-kotlin Скилл ведёт агента по настройке Apollo Kotlin в Gradle-проекте: схема, кодогенерация, ApolloClient с авторизацией и кэшем, запросы и подписки. CX Codex +1 1 700установок apollo-router-plugin-creator Скилл помогает создавать нативные плагины на Rust для Apollo Router. Пригодится при настройке хуков жизненного цикла запроса или правке логики роутера. CX Codex +1 1 600установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой