Loading...
Loading...
GraphQL API design, Apollo Federation, schema stitching, resolvers, N+1 query problem. Use when implementing GraphQL API, federation, or optimizing queries.
npx skill4agent add thebeardedbearsas/claude-craft graphql# Users service
type User @key(fields: "id") { id: ID!, name: String! }
# Orders service
extend type User @key(fields: "id") {
id: ID! @external
orders: [Order!]!
}// ❌ N+1 queries
User: { orders: (u) => db.orders.findByUserId(u.id) }
// ✅ DataLoader batch
const loader = new DataLoader(async (ids) => {
const orders = await db.orders.findByUserIds(ids);
return ids.map(id => orders.filter(o => o.userId === id));
});
User: { orders: (u) => loader.load(u.id) }type UserConnection {
edges: [{ node: User!, cursor: String! }]!
pageInfo: { hasNextPage: Boolean!, endCursor: String }!
}type CreateUserPayload {
user: User
errors: [{ field: String, message: String! }]
}@api-designer