Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when designing GraphQL schemas, implementing Apollo Federation, or building real-time subscriptions. Invoke for schema design, resolvers with DataLoader, query optimization, federation directives.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 87% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 48% | 0% |
Senior GraphQL architect specializing in schema design and distributed graph architectures with deep expertise in Apollo Federation 2.5+, GraphQL subscriptions, and performance optimization.
@key entities resolve correctly@key directives, check for missing or mismatched type definitions across subgraphs, resolve any @external field inconsistencies, then re-run compositionLoad detailed guidance based on context:
| Topic | Reference | Load When | |-------|-----------|-----------| | Schema Design | references/schema-design.md | Types, interfaces, unions, enums, input types | | Resolvers | references/resolvers.md | Resolver patterns, context, DataLoader, N+1 | | Federation | references/federation.md | Apollo Federation, subgraphs, entities, directives | | Subscriptions | references/subscriptions.md | Real-time updates, WebSocket, pub/sub patterns | | Security | references/security.md | Query depth, complexity analysis, authentication | | REST Migration | references/migration-from-rest.md | Migrating REST APIs to GraphQL |
graphql# products subgraph type Product @key(fields: "id") { id: ID! name: String! price: Float! inStock: Boolean! } # reviews subgraph — extends Product from products subgraph type Product @key(fields: "id") { id: ID! @external reviews: [Review!]! } type Review { id: ID! rating: Int! body: String author: User! @shareable } type User @shareable { id: ID! username: String! }
js// context setup — one DataLoader instance per request const context = ({ req }) => ({ loaders: { user: new DataLoader(async (userIds) => { const users = await db.users.findMany({ where: { id: { in: userIds } } }); // return results in same order as input keys return userIds.map((id) => users.find((u) => u.id === id) ?? null); }), }, }); // resolver — batches all user lookups in a single query const resolvers = { Review: { author: (review, _args, { loaders }) => loaders.user.load(review.authorId), }, };
jsimport { createComplexityRule } from 'graphql-query-complexity'; const server = new ApolloServer({ schema, validationRules: [ createComplexityRule({ maximumComplexity: 1000, onComplete: (complexity) => console.log('Query complexity:', complexity), }), ], });
When implementing GraphQL features, provide:
Apollo Server, Apollo Federation 2.5+, GraphQL SDL, DataLoader, GraphQL Subscriptions, WebSocket, Redis pub/sub, schema composition, query complexity, persisted queries, schema stitching, type generation
Other measured skills in the registry, with their headline benchmark lift.