rails-graphql-patterns
Installation
SKILL.md
Rails GraphQL Patterns
Analyze and recommend patterns for building GraphQL APIs in Rails with graphql-ruby.
Follow standard graphql-ruby conventions for type definitions, input types, enum types, query types, and basic mutations. This skill focuses on non-obvious patterns and opinionated decisions.
Core Principles
- Batch loading: Always use DataLoader to prevent N+1 queries — never resolve associations directly
- Structured errors: Return error arrays in mutation payloads, not exceptions
- Field-level authorization: Check permissions per field, not just per query
- Complexity limits: Set
max_complexityandmax_depthon the schema - Null annotations: Be intentional with
null: true/falseon every field
DataLoader for N+1 Prevention
Every association field MUST use DataLoader. Never call object.association directly in a resolver.