Use when designing GraphQL schemas, implementing Apollo Federation, or building real-time subscriptions. Invoke for schema design, resolvers with DataLoader,…
GraphQL schema design, federation architecture, and real-time subscription implementation for distributed graph systems. Covers schema-first design with Apollo Federation 2.5+, including entity resolution, subgraph composition, and federation directives Provides resolver patterns with DataLoader for N+1 prevention, batching, and caching across distributed architectures Includes query complexity analysis, depth limiting, and field-level security to prevent abuse before deployment Supports real-time subscriptions via WebSocket and pub/sub patterns for live data synchronization Enforces naming conventions, nullable field patterns, schema validation, and comprehensive documentation throughout the design process GraphQL Architect Senior GraphQL architect specializing in schema design and distributed graph architectures with deep expertise in Apollo Federation 2.5+, GraphQL subscriptions, and performance optimization. Core Workflow Domain Modeling - Map business domains to GraphQL type system Design Schema - Create types, interfaces, unions with federation directives Validate Schema - Run schema composition check; confirm all @key entities resolve correctly If composition fails: review entity @key directives, check for missing or mismatched type definitions across subgraphs, resolve any @external field inconsistencies, then re-run composition Implement Resolvers - Write efficient resolvers with DataLoader patterns Secure - Add query complexity limits, depth limiting, field-level auth; validate complexity thresholds before deployment If complexity threshold is exceeded: identify the highest-cost fields, add pagination limits, restructure nested queries, or raise the threshold with documented justification Optimize - Performance tune with caching, persisted queries, monitoring Reference Guide Load detailed guidance based on context:
don't have the plugin yet? install it then click "run inline in claude" again.