graphqllisted
Install: claude install-skill kouroshez/coding-os
# GraphQL — Schema, Resolvers, Federation, Hardening
A practical guide to running GraphQL in production. Stack-agnostic; concrete patterns reference Apollo Server / graphql-yoga (Node), Strawberry / Ariadne (Python), and gqlgen (Go).
## When to Use This Skill
- Authoring a new GraphQL schema (SDL) or adding types/fields to an existing one.
- Writing or reviewing resolvers — especially when an endpoint is slow under load.
- Diagnosing an N+1 query storm (one list query firing hundreds of row fetches).
- Designing pagination for a GraphQL list field (Relay cursor connections).
- Splitting a monolith schema into a federated supergraph (Apollo Federation / schema stitching).
- Hardening a public GraphQL endpoint against deep/expensive queries.
- Choosing a server library or deciding persisted-queries vs ad-hoc queries.
Skip when: the decision is still "REST or GraphQL" (that is api-design's call), or the transport question is "how do I push live updates over a socket" (that is realtime-websockets).
## Boundary — GraphQL vs api-design vs realtime-websockets
| Concern | Owner |
|---|---|
| REST vs GraphQL decision, versioning posture, idempotency keys, RFC 9457 HTTP error envelope | **api-design** |
| SDL type design, resolver architecture, DataLoader, GraphQL `errors[]` + `extensions`, federation, persisted queries, depth/cost limits | **graphql** (this skill) |
| The websocket transport carrying `graphql-ws` subscription frames, heartbeats, backpressure, reconnect | **realt