graphql
Construir APIs GraphQL Seguras con Mejores Prácticas
La flexibilidad de GraphQL puede llevar a problemas de rendimiento y seguridad sin controles adecuados. Esta habilidad proporciona patrones probados para el uso de DataLoader, limitación de profundidad de consultas y autorización para construir APIs GraphQL listas para producción.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "graphql". Diseñar un esquema para un catálogo de productos de comercio electrónico
Resultado esperado:
- Esquema GraphQL con tipos Product, Category y Review
- Nulabilidad adecuada para campos opcionales como discountPrice
- Conexiones para paginación en reseñas de productos
- Mutaciones para operaciones CRUD con tipos de entrada
Usando "graphql". Corregir consultas N+1 en resolutor de publicaciones de usuario
Resultado esperado:
- Implementación de DataLoader agrupando búsquedas de ID de usuario
- Caché indexado por ID de usuario para prevenir consultas duplicadas
- Integración con el contexto de Apollo Server
- Mejora de rendimiento de N consultas a 1 consulta agrupada
Auditoría de seguridad
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.
Puntuación de calidad
Lo que puedes crear
Desarrollador Backend Construyendo Nueva API
Diseñar e implementar una API GraphQL lista para producción con optimizaciones de rendimiento adecuadas y controles de seguridad desde el inicio.
Equipo Frontend Integrando GraphQL
Configurar Apollo Client con caché normalizado y patrones de obtención de datos eficientes para aplicaciones React.
Tech Lead Auditando API Existente
Identificar y corregir anti-patrones comunes de GraphQL como DataLoader faltante, profundidad de consultas ilimitada y brechas de autorización.
Prueba estos prompts
Crear un esquema GraphQL para un blog con tipos User, Post y Comment. Incluir nulabilidad adecuada, relaciones y operaciones CRUD comunes como consultas y mutaciones.
Tengo un resolutor GraphQL que obtiene autores para publicaciones. Cada resolutor de publicación hace una consulta separada a la base de datos. Muéstrame cómo implementar DataLoader para agrupar y cachéar estas consultas.
Configurar limitación de profundidad de consultas y análisis de complejidad para mi Apollo Server para prevenir ataques DoS desde consultas GraphQL profundamente anidadas. Incluir configuración y manejo de errores.
Muéstrame cómo implementar autorización a nivel de campo en resolutores GraphQL. Algunos campos solo deberían ser visibles para usuarios autenticados o usuarios con roles específicos.
Mejores prácticas
- Siempre usar DataLoader para agrupar consultas de base de datos y prevenir problemas N+1
- Limitar la profundidad y complejidad de consultas para protegerse contra ataques DoS
- Implementar autorización en resolutores, no solo en directivas de esquema
Evitar
- Hacer llamadas a base de datos directamente en resolutores sin DataLoader
- Permitir profundidad de consultas ilimitada en tu endpoint GraphQL
- Depender únicamente de directivas de esquema para la lógica de autorización