agentsclimarketplace

Graphql

Skill TheBeardedBearSAS/claude-craft/.claude/skills/graphql

GraphQL API design, Apollo Federation, schema stitching, resolvers, N+1 query problem. Use when implementing GraphQL API, federation, or optimizing queries.From its SKILL.md

Install
npx -y skills add TheBeardedBearSAS/claude-craft --skill graphql

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.6 KB, as published. Nobody here has run it

GraphQL — Apollo Federation, Schema Design

API GraphQL moderne avec federation, DataLoader, optimisations.

GraphQL vs REST

GraphQL — 1 query sur-mesure, no versioning, introspection auto
REST — Multiple endpoints, over-fetching, v1/v2/v3

Apollo Federation

# Users service
type User @key(fields: "id") { id: ID!, name: String! }

# Orders service
extend type User @key(fields: "id") {
  id: ID! @external
  orders: [Order!]!
}

Gateway compose automatiquement les services.

N+1 Problem — DataLoader

// ❌ 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) }

Patterns

Pagination (Relay)

type UserConnection {
  edges: [{ node: User!, cursor: String! }]!
  pageInfo: { hasNextPage: Boolean!, endCursor: String }!
}

Error Handling

type CreateUserPayload {
  user: User
  errors: [{ field: String, message: String! }]
}

Optimizations

DataLoader — Batch + cache
Persisted Queries — Hash lookup
Depth Limiting — Anti-DoS
Cost Analysis — Query budget


Voir @api-designer pour design

Keep looking

Skills are one crate of 619,758. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.