apollo server
Guide for building GraphQL servers with Apollo Server 5.x. Use this skill when: (1) setting up a new Apollo Server project, (2) writing resolvers or defining GraphQL schemas, (3) implementing authentication or authorization, (4) creating plugins or custom data sources, (5) troubleshooting Apollo Server errors or performance issues.
Что делает навык
Apollo Server 5.x — это фреймворк-агностичный GraphQL-сервер, который работает с любой схемой и интегрируется с Express, Fastify, Koa или работает в serverless-средах. Навык предоставляет руководство по созданию серверов, включая настройку схем, резолверов, контекста и плагинов.
Когда применять
- Настройка нового проекта Apollo Server и выбор между standalone-режимом для прототипирования или интеграцией с веб-фреймворком для продакшена.
- Определение GraphQL-схемы (typeDefs) с использованием скалярных типов, интерфейсов, перечислений и входных типов для мутаций.
- Написание резолверов с использованием паттерна делегирования к источникам данных (Data Sources) и обработки ошибок через GraphQLError.
- Реализация аутентификации и авторизации через объект контекста (context) и проверку прав в резолверах.
- Устранение проблем с производительностью, таких как N+1 запросы, с помощью DataLoader, а также использование @defer и @stream.
Как работает
- Установить пакеты @apollo/server, graphql и необходимые интеграции (например, @as-integrations/express5 для Express).
- Определить схему GraphQL (typeDefs), используя скалярные типы, интерфейсы и входные типы, соблюдая правила проектирования (например, использование ! для обязательных полей).
- Написать резолверы, которые принимают параметры (parent, args, contextValue, info) и делегируют логику источникам данных или сервисам.
- Настроить объект контекста (context) для каждого запроса, передавая туда токены аутентификации, данные пользователя и экземпляры источников данных.
- Запустить сервер: использовать startStandaloneServer для прототипирования или интегрировать с веб-сервером (Express, Fastify и др.) для продакшена, добавив плагины (например, для корректного завершения работы).
- Обработать ошибки явно, используя GraphQLError, и никогда не раскрывать стек вызовов в продакшене.
Примеры запросов агенту
Что понадобится
- Node.js окружение
- Пакеты @apollo/server и graphql
- Интеграция с веб-фреймворком (Express, Fastify, Koa и др.) для продакшен-среды
Описание составлено по SKILL.md навыка, сверено 06.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.