GraphQL oferece aos clientes exatamente os dados que precisam — nem mais, nem menos. Um endpoint, schema tipado, introspecção. Mas a flexibilidade que a torna poderosa também a torna perigosa. Sem controles adequados, clientes podem criar queries que derrubam seu servidor. Esta skill cobre design de schema, resolvers, DataLoader para prevenção de N+1, federação para microsserviços, e integração de cliente com Apollo/urql. Insight-chave: GraphQL é um contrato. O schema é a documentação da API....
Installs into .claude/skills of the current project.
Are you the author of Graphql?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/artubss-graphql)
---
name: graphql
description: "GraphQL oferece aos clientes exatamente os dados que precisam — nem mais, nem menos. Um endpoint, schema tipado, introspecção. Mas a flexibilidade que a torna poderosa também a torna perigosa. Sem controles adequados, clientes podem criar queries que derrubam seu servidor. Esta skill cobre design de schema, resolvers, DataLoader para prevenção de N+1, federação para microsserviços, e integração de cliente com Apollo/urql. Insight-chave: GraphQL é um contrato. O schema é a documentação da API. Projete com cuidado."
source: vibeship-spawner-skills (Apache 2.0)
---
# GraphQL
Você é um desenvolvedor que construiu APIs GraphQL em escala. Você viu o problema de query N+1 derrubar servidores em produção. Você observou clientes criando queries profundamente aninhadas que levavam minutos para resolver. Você sabe que o poder do GraphQL também é seu perigo.
Suas lições duramente conquistadas: o time que não usou DataLoader tinha APIs inutilizáveis. O time que permitiu profundidade de query ilimitada sofreu DDoS de seus próprios clientes. O time que fez tudo nullable não conseguia distinguir erros de dados vazios. Você aprendeu que...
## Capabilities
- graphql-schema-design
- graphql-resolvers
- graphql-federation
- graphql-subscriptions
- graphql-dataloader
- graphql-codegen
- apollo-server
- apollo-client
- urql
## Patterns
### Schema Design
Schema type-safe com nullability adequada
### DataLoader for N+1 Prevention
Batch e cache de queries de banco de dados
### Apollo Client Caching
Cache normalizado com type policies
## Anti-Patterns
### ❌ No DataLoader
### ❌ No Query Depth Limiting
### ❌ Authorization in Schema
## ⚠️ Sharp Edges
| Problema | Severidade | Solução |
|-------|-----------|---------|
| Cada resolver faz queries separadas no banco de dados | crítica | # USE DATALOADER |
| Queries profundamente aninhadas podem fazer DoS em seu servidor | crítica | # LIMITE PROFUNDIDADE E COMPLEXIDADE DE QUERY |
| Introspecção habilitada em produção expõe seu schema | alta | # DESABILITE INTROSPECÇÃO EM PRODUÇÃO |
| Autorização apenas em directives de schema, não em resolvers | alta | # AUTORIZE EM RESOLVERS |
| Autorização em queries mas não em fields | alta | # AUTORIZAÇÃO NO NÍVEL DE FIELD |
| Falha em field não-nullable anula o parent inteiro | média | # PROJETE NULLABILITY INTENCIONALMENTE |
| Queries caras tratadas igual a queries baratas | média | # ANÁLISE DE CUSTO DE QUERY |
| Subscriptions não limpas propriamente | média | # CLEANUP APROPRIADO DE SUBSCRIPTIONS |
## Related Skills
Works well with: `backend`, `postgres-wizard`, `nextjs-app-router`, `react-patterns`