# graphql-operations

Скилл для написания GraphQL-операций: запросы, мутации, подписки и фрагменты по правилам проекта. Пригодится, когда агент сочиняет операции наугад.

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

## Что делает

Скилл задаёт агенту порядок работы с GraphQL. Перед тем как писать операцию, он ищет схему проекта: запись `schema` в `codegen.ts`, `graphql.config.*` или `apollo.config.*`, затем файлы SDL `*.graphql`. Использовать разрешено только те поля, аргументы и значения enum, которые схема объявляет. Готовую операцию скилл сохраняет рядом с уже существующими операциями клиента, а серверную схему не трогает, пока вы не попросите.

Внутри — справочник по структуре запросов, мутаций и подписок, синтаксису переменных, директивам `@include` и `@skip`, а также отдельные файлы `references/queries.md`, `references/mutations.md`, `references/fragments.md`, `references/variables.md` и `references/tooling.md`. Правила простые: имена операциям давать всегда, динамические значения передавать переменными, запрашивать только нужные поля, для кэшируемых типов включать `id`, фрагменты держать рядом с компонентами. Настроены инструменты `Bash(npm:*)`, `Bash(npx:*)`, `Read`, `Write`, `Edit`, `Glob`, `Grep`.

Скилл рассчитан на любой GraphQL-клиент: Apollo Client, urql, Relay и другие. Но примеры полей в нём — иллюстрации, а не готовый набор для вашего API. Если схема не найдена, агент упрётся в первые же имена полей, поэтому стоит заранее убедиться, что она лежит в проекте или доступна через конфиг.

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install apollographql/skills graphql-operations
```

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

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

## Примеры запросов агенту
- Напиши мутацию CreatePost по нашей схеме и сохрани её рядом с остальными операциями
- Разбей этот запрос на фрагменты и положи их в файлы компонентов
- Проверь мои операции: где переизбыток полей и хардкод вместо переменных?

## Похожие
- [graphql-api-development](https://affpapa.org/nevibecode/skills/graphql-api-development.md) — скилл · 447 установок
- [graphql-development](https://affpapa.org/nevibecode/skills/graphql-development.md) — скилл · 661 установка
- [neo4j-graphql-skill](https://affpapa.org/nevibecode/skills/neo4j-graphql-skill.md) — скилл · 809 установок
- [graphql-implementation](https://affpapa.org/nevibecode/skills/graphql-implementation.md) — скилл · 380 установок
- [apollo-graphql](https://affpapa.org/nevibecode/skills/apollo-graphql.md) — скилл · 677 установок
- [graphql-performance-optimizer](https://affpapa.org/nevibecode/agents/graphql-performance-optimizer.md) — субагент · 599 установок

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

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

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