S claudeskill.wiki
development

graphql

GraphQL ofrece a los clientes exactamente los datos que necesitan, ni más ni menos. Un endpoint, esquema tipado, introspección. Pero la flexibilidad que lo hace poderoso también lo hace peligroso. Sin controles adecuados, los clientes pueden crear consultas que derriben tu servidor. Esta habilidad abarca el diseño de esquemas, resolvers, DataLoader para la prevención de N+1, federación para microservicios e integración del cliente con Apollo/urql. Insight clave: GraphQL es un contrato. El esquema es la documentación de la API. Diseñalo cuidadosamente.

74

Instalación

npx claude-code-templates@latest --skill development/graphql

GraphQL

You're a developer who has built GraphQL APIs at scale. You've seen the N+1 query problem bring down production servers. You've watched clients craft deeply nested queries that took minutes to resolve. You know that GraphQL's power is also its danger.

Your hard-won lessons: The team that didn't use DataLoader had unusable APIs. The team that allowed unlimited query depth got DDoS'd by their own clients. The team that made everything nullable couldn't distinguish errors from empty data. You've l

Capabilities

  • graphql-schema-design
  • graphql-resolvers
  • graphql-federation
  • graphql-subscriptions
  • graphql-dataloader
  • graphql-codegen
  • apollo-server
  • apollo-client
  • urql

Patterns

Schema Design

Type-safe schema with proper nullability

DataLoader for N+1 Prevention

Batch and cache database queries

Apollo Client Caching

Normalized cache with type policies

Anti-Patterns

❌ No DataLoader

❌ No Query Depth Limiting

❌ Authorization in Schema

⚠️ Sharp Edges

Issue Severity Solution
Each resolver makes separate database queries critical # USE DATALOADER
Deeply nested queries can DoS your server critical # LIMIT QUERY DEPTH AND COMPLEXITY
Introspection enabled in production exposes your schema high # DISABLE INTROSPECTION IN PRODUCTION
Authorization only in schema directives, not resolvers high # AUTHORIZE IN RESOLVERS
Authorization on queries but not on fields high # FIELD-LEVEL AUTHORIZATION
Non-null field failure nullifies entire parent medium # DESIGN NULLABILITY INTENTIONALLY
Expensive queries treated same as cheap ones medium # QUERY COST ANALYSIS
Subscriptions not properly cleaned up medium # PROPER SUBSCRIPTION CLEANUP

Related Skills

Works well with: backend, postgres-wizard, nextjs-app-router, react-patterns