GraphQL Architect
Проектирование масштабируемых GraphQL API с использованием корпоративных паттернов
Создание производственных систем GraphQL требует экспертизы в области федерации, производительности и безопасности. Этот навык предоставляет проверенные паттерны для масштабируемого проектирования схем и оптимизации.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «GraphQL Architect». Спроектируйте схему профиля пользователя с публикациями и комментариями
Ожидаемый результат:
- type User {
- id: ID!
- username: String!
- email: String!
- profile: Profile
- posts: [Post!]!
- createdAt: DateTime!
- }
- type Profile {
- bio: String
- avatar: String
- location: String
- }
- type Post {
- id: ID!
- title: String!
- content: String!
- author: User!
- comments: [Comment!]!
- }
Использование «GraphQL Architect». Оптимизируйте получение резольвером публикаций пользователя
Ожидаемый результат:
- Используйте DataLoader для пакетного получения и кэширования публикаций пользователя:
- const postLoader = new DataLoader(async (userIds) => {
- const posts = await Post.findAll({
- where: { userId: userIds },
- include: [User],
- });
- return userIds.map(id => posts.filter(p => p.userId === id));
- });
- Это сокращает N запросов до 1 пакетного запроса.
Аудит безопасности
БезопасноStatic analysis scanned 0 files with 0 lines and detected no suspicious patterns. This is a prompt-only skill containing instructional content for GraphQL architecture guidance. No executable code, network access, filesystem operations, or external command execution present.
Оценка качества
Что вы можете построить
Архитектура корпоративной федерации
Спроектируйте много командную федеративную GraphQL-архитектуру с композицией подграфов, управлением схемой и паттернами межкомандного сотрудничества.
Аудит оптимизации производительности
Проанализируйте существующие GraphQL-схемы на наличие N+1 запросов, реализуйте паттерны DataLoader и настройте многоуровневые стратегии кэширования.
Реализация усиления безопасности
Реализуйте авторизацию на уровне полей, анализ сложности запросов, ограничение частоты и конфигурации безопасности для продакшена.
Попробуйте эти промпты
Спроектируйте GraphQL-схему для [тип ресурса] с операциями CRUD. Включите соответствующие скалярные типы, типы ввода для мутаций и следуйте соглашениям об именовании. Объясните связи между типами.
Спланируйте подграф Apollo Federation v2 для [домен]. Определите сущности, директивы key и внешние ссылки на типы. Покажите, как этот подграф интегрируется в общую федеративную архитектуру.
Проверьте эту GraphQL-схему и реализацию резольверов на наличие проблем с производительностью. Определите паттерны N+1 запросов, предложите реализации DataLoader и рекомендуйте стратегии кэширования на уровне полей и запросов.
Проверьте конфигурацию этого GraphQL-сервера на наличие уязвимостей. Проверьте настройки интроспекции, конфигурацию CORS, ограничение частоты запросов, ограничение глубины запросов и авторизацию на уровне полей. Предоставьте конкретные шаги по исправлению.
Лучшие практики
- Проектируйте схемы с учетом версионирования и эволюции — используйте устаревание перед удалением
- Реализуйте DataLoader для всех получений резольверов для предотвращения проблем с N+1 запросами
- Настройте анализ сложности запросов и ограничение частоты запросов перед развертыванием в продакшен
Избегать
- Представление моделей базы данных напрямую в GraphQL-схеме без слоев абстракции
- Возврат неограниченных списков без паттернов подключения или пагинации
- Реализация бизнес-логики в резольверах вместо выделенных сервисных слоев
Часто задаваемые вопросы
Что такое Apollo Federation и когда его следует использовать?
Как предотвратить проблемы с N+1 запросами в GraphQL?
Какие меры безопасности необходимы для GraphQL API в продакшене?
Как обрабатывать аутентификацию в GraphQL-резольверах?
В чем разница между запросами и мутациями?
Как реализовать функции реального времени в GraphQL?
Сведения для разработчиков
Автор
sickn33Лицензия
MIT
Репозиторий
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/graphql-architectСсылка
main
Структура файлов
📄 SKILL.md