Deep GraphQL schema workflow—modeling types, queries and mutations, N+1 and complexity limits, errors and pagination, federation risks, and evolution. Use when designing or reviewing GraphQL APIs.
Scanned 9/10/2026
Install to Claude Code
npx -y skills add luokai0/ai-agent-skills-by-luo-kai --skill graphql-schema --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Graphql Schema?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/luokai0-graphql-schema)More formats (shields.io, HTML) on the badges page.
---
name: graphql-schema
description: Deep GraphQL schema workflow—modeling types, queries and mutations, N+1 and complexity limits, errors and pagination, federation risks, and evolution. Use when designing or reviewing GraphQL APIs.
---
# GraphQL Schema (Deep Workflow)
GraphQL concentrates complexity on the server: **resolver graphs**, **N+1** fetches, **schema evolution**, and **field-level authorization**.
## When to Offer This Workflow
**Trigger conditions:**
- Designing a new GraphQL API or federated subgraph
- Latency or complexity incidents from client queries
- Need for safe schema deprecation and versioning
**Initial offer:**
Use **six stages**: (1) domain modeling, (2) operations surface, (3) performance patterns, (4) errors & partial results, (5) security & authz, (6) versioning & evolution). Confirm client patterns (Apollo, Relay) and gateway (if any).
---
## Stage 1: Domain Modeling
**Goal:** Types reflect domain concepts; avoid dumping everything on `Query`; use input objects for mutations with validation.
---
## Stage 2: Operations Surface
**Goal:** Queries for reads; mutations for writes; subscriptions only when justified (scaling and operational cost).
### Pagination
- Prefer cursor-based connections for large lists (Relay-style edges/nodes)
---
## Stage 3: Performance Patterns
**Goal:** DataLoader or batching for N+1; query complexity/depth/cost limits; optional persisted queries for public APIs.
---
## Stage 4: Errors & Partial Results
**Goal:** Document semantics of `errors` alongside partial `data`; map domain failures to structured extensions.
---
## Stage 5: Security & Authz
**Goal:** Enforce authorization at field/object level—not only at the top resolver.
---
## Stage 6: Versioning & Evolution
**Goal:** Prefer additive changes; `@deprecated` with migration window; in federation, clear ownership of types and entities.
---
## Final Review Checklist
- [ ] Schema reflects domain and operations
- [ ] Pagination and mutations idiomatic
- [ ] Batching and complexity limits in place
- [ ] Error behavior documented for clients
- [ ] Field-level authz enforced
- [ ] Deprecation policy defined
## Tips for Effective Guidance
- N+1 is the default failure mode—plan batching early.
- Pair with **rest-best-practices** when REST and GraphQL coexist at the edge.
## Handling Deviations
- Public APIs: consider persisted queries or allowlists to limit abusive queries.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!