graphql
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.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
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
SeguroThis 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.
Pontuação de qualidade
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
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.
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.
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.
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