Habilidades graphql
📦

graphql

Seguro

Construa APIs GraphQL Seguras com Melhores Práticas

A flexibilidade do GraphQL pode levar a problemas de desempenho e segurança sem os controles adequados. Esta skill fornece padrões comprovados para uso de DataLoader, limitação de profundidade de consulta e autorização para construir APIs GraphQL prontas para produção.

Suporta: Claude Codex Code(CC)
🥉 74 Bronze
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "graphql". Designer um esquema para catálogo de produtos e-commerce

Resultado esperado:

  • Esquema GraphQL com tipos Product, Category e Review
  • Nulabilidade adequada para campos opcionais como discountPrice
  • Conexões para paginação em avaliações de produtos
  • Mutations para operações CRUD com tipos de entrada

A utilizar "graphql". Corrigir consultas N+1 no resolver de posts de usuário

Resultado esperado:

  • Implementação de DataLoader agrupando buscas de ID de usuário
  • Cache com chave por ID de usuário para prevenir consultas duplicadas
  • Integração com contexto do Apollo Server
  • Melhoria de desempenho de N consultas para 1 consulta agrupada

Auditoria de Segurança

Seguro
v1 • 2/25/2026

This skill is a documentation file containing GraphQL best practices and patterns. Static analysis flagged false positives: line 69 references related skills (not shell execution), and lines 3, 22, 34, 63, 72 contain markdown content (not cryptographic code). No executable code or security risks detected.

1
Arquivos analisados
73
Linhas analisadas
0
achados
1
Total de auditorias
Nenhum problema de segurança encontrado
Auditado por: claude

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
87
Conteúdo
50
Comunidade
100
Segurança
91
Conformidade com especificações

O Que Você Pode Construir

Desenvolvedor Backend Criando Nova API

Designer e implemente uma API GraphQL pronta para produção com otimizações de desempenho e controles de segurança adequados desde o início.

Equipe Frontend Integrando GraphQL

Configure o Apollo Client com cache normalizado e padrões eficientes de busca de dados para aplicações React.

Tech Lead Auditando API Existente

Identifique e corrija anti-padrões comuns do GraphQL como ausência de DataLoader, profundidade de consulta ilimitada e lacunas de autorização.

Tente Estes Prompts

Designer um Esquema GraphQL Básico
Crie um esquema GraphQL para um blog com tipos User, Post e Comment. Inclua nulabilidade adequada, relacionamentos e operações CRUD comuns como queries e mutations.
Implementar DataLoader para Prevenção N+1
Tenho um resolver GraphQL que busca autores para posts. Cada resolver de post faz uma consulta de banco de dados separada. Mostre como implementar DataLoader para agrupar e cachear essas consultas.
Adicionar Limitação de Profundidade de Consulta
Configure limitação de profundidade de consulta e análise de complexidade para meu Apollo Server para prevenir ataques DoS de consultas GraphQL profundamente aninhadas. Inclua configuração e tratamento de erros.
Implementar Autorização em Nível de Campo
Mostre como implementar autorização em nível de campo em resolvers GraphQL. Alguns campos devem ser visíveis apenas para usuários autenticados ou usuários com funções específicas.

Melhores Práticas

  • Sempre use DataLoader para agrupar consultas de banco de dados e prevenir problemas N+1
  • Limite a profundidade e complexidade das consultas para proteger contra ataques DoS
  • Implemente autorização em resolvers, não apenas em diretivas de esquema

Evitar

  • Fazer chamadas de banco de dados diretamente em resolvers sem DataLoader
  • Permitir profundidade de consulta ilimitada no seu endpoint GraphQL
  • Confiar apenas em diretivas de esquema para lógica de autorização

Perguntas Frequentes

Por que o DataLoader é necessário para GraphQL?
Sem DataLoader, cada resolver de campo faz consultas de banco de dados independentes. Uma única consulta buscando 10 posts com seus autores dispara 11 consultas (1 para posts, 10 para autores). DataLoader agrupa essas em 2 consultas, melhorando dramaticamente o desempenho.
A introspecção deve ser habilitada em produção?
Geralmente não. A introspecção expõe toda a estrutura do esquema aos clientes. Embora útil para ferramentas de desenvolvimento, pode ajudar atacantes a entender sua API. Desabilite em produção a menos que você precise especificamente de suporte a ferramentas cliente.
Qual é a diferença entre autorização de esquema e de resolver?
Diretivas de esquema declaram quem pode acessar o que em nível de tipo/campo. A autorização de resolver implementa a lógica real. Sempre implemente autorização em resolvers; diretivas sozinhas podem ser contornadas ou mal configuradas.
Como tratar erros versus dados nulos em GraphQL?
Use nulabilidade adequada no seu esquema. Se um campo pode legitimamente estar vazio, torne-o anulável. Se deve ter um valor, torne-o não-nulo. Quando um campo não-nulo falha, o GraphQL anula todo o objeto pai, o que pode quebrar consultas.
Que limite de profundidade de consulta devo usar?
Comece com um limite de profundidade de 5-10 para a maioria das APIs. Monitore suas consultas legítimas e ajuste conforme necessário. Também implemente análise de complexidade de consulta para pegar consultas caras mas rasas que contornam limites de profundidade.
Preciso limpar assinaturas GraphQL?
Sim. Assinaturas mantêm conexões abertas. Quando clientes se desconectam, garanta que handlers de assinatura no servidor sejam devidamente limpos para prevenir vazamentos de memória. Implemente limpeza em seus resolvers de assinatura usando hooks de ciclo de vida adequados.

Detalhes do Desenvolvedor

Estrutura de arquivos

📄 SKILL.md