# apollo-federation

Помогает писать схемы подграфов Apollo Federation: директивы, сущности с @key, ошибки композиции. Полезен, когда суперграф собирается из нескольких GraphQL-сервисов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1900 установок · ★ 119
- Автор: apollographql
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/apollographql/skills/tree/HEAD/skills/apollo-federation/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/apollo-federation

## Что делает

Скилл ведёт агента по синтаксису Federation 2.x. Каждый подграф подключается через `@link` с указанием URL спецификации и списком импортируемых директив, и агент подскажет, какие именно импортировать под вашу схему. Внутри — справочник по `@key`, `@shareable`, `@external`, `@requires`, `@provides`, `@override`, `@inaccessible` и `@interfaceObject` с примерами.

Отдельные файлы описывают паттерны для нескольких подграфов и правила композиции с кодами ошибок. Есть готовые рецепты: сущность с одним ключевым полем, добавление полей к сущности из другого подграфа, вычисляемые поля через `@requires`, общие типы значений через `@shareable`, заглушка сущности с `resolvable: false`.

Скилл вызывает `rover` — без установленного CLI проверка композиции не пройдёт. Агент советует `rover supergraph compose` для локальной проверки и `rover subgraph check` против продакшн-суперграфа. Версия `v2.12` в примере приведена как образец: перед копированием сверьтесь с актуальным списком поддерживаемых версий, иначе композиция может не собраться.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add apollographql/skills --skill apollo-federation -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/apollo-federation/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/apollo-federation/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add apollographql/skills --skill apollo-federation -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/apollo-federation/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add apollographql/skills --skill apollo-federation -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/apollo-federation/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install apollographql/skills apollo-federation
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/apollo-federation/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add apollographql/skills --skill apollo-federation -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/apollographql/skills --path skills/apollo-federation
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/apollo-federation/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add apollographql/skills --skill apollo-federation -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/apollographql/skills/tree/HEAD/skills/apollo-federation/SKILL.md

## Когда брать
- создать схему нового подграфа для федеративного суперграфа
- описать сущность с ключом через @key
- отдать одно поле из нескольких подграфов через @shareable
- посчитать поле из внешних данных с @requires
- разобрать ошибку композиции и найти её код

## Примеры запросов агенту
- добавь в схему подграфа сущность Product с ключом по id
- почему падает композиция: поле помечено @shareable в двух подграфах
- перенеси поле price в этот подграф через @override

## Похожие
- [apollo-graphql](https://affpapa.org/nevibecode/rules/apollo-graphql.md) — правило · ★ 3579
- [graphql-development](https://affpapa.org/nevibecode/skills/graphql-development.md) — скилл · 661 установка
- [graphql-implementation](https://affpapa.org/nevibecode/skills/graphql-implementation.md) — скилл · 380 установок
- [graphql-api-development](https://affpapa.org/nevibecode/skills/graphql-api-development.md) — скилл · 447 установок
- [federation-status](https://affpapa.org/nevibecode/skills/federation-status.md) — скилл · 730 установок
- [federation-init](https://affpapa.org/nevibecode/skills/federation-init.md) — скилл · 729 установок

Из того же набора: [apollographql/skills](https://affpapa.org/nevibecode/by/apollographql/skills.md) — 11 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
