graphql-architect — Claude Code skill: what it does, how to install
Designs schema-first GraphQL APIs, Apollo Federation 2.5+ subgraphs, and DataLoader resolvers to eliminate N+1 queries.
npx skills add Jeffallan/claude-skills --skill graphql-architect -a claude-codeWhat graphql-architect does
The skill handles schema-first domain modeling for GraphQL services and distributed graphs. It generates SDL definitions with types, interfaces, unions, and federation directives such as @key, @shareable, and @external. When federation composition fails, it checks entity keys and cross-subgraph type definitions.
On the execution layer, it writes resolver patterns backed by request-scoped DataLoader instances. It also enforces query complexity analysis with graphql-query-complexity and sets depth limits on the Apollo Server instance.
The skill explicitly forbids REST patterns inside GraphQL schemas and rejects hardcoded authorization in resolvers. You must define complexity thresholds before deploying schemas to production, or nested relation queries will quickly overload the underlying database.
What it helps with
- design distributed subgraph schemas with Apollo Federation 2.5+ directives
- resolve N+1 query bottlenecks using DataLoader batching
- configure query depth and complexity limits in Apollo Server
- define real-time subscription schemas and directives
Example prompts for the agent
- Design an Apollo Federation schema for products and reviews using @key and @shareable directives
- Write a DataLoader-backed resolver for review authors to prevent N+1 queries
- Configure query complexity validation with graphql-query-complexity for Apollo Server
How to install graphql-architect
1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill graphql-architect -a claude-code2Manually: put the files in place
~/.claude/skills/graphql-architect/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/graphql-architect/
1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill graphql-architect -a codex2Manually: put the files in place
.agents/skills/graphql-architect/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill graphql-architect -a cursor2Manually: put the files in place
.cursor/skills/graphql-architect/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Jeffallan/claude-skills graphql-architect2Manually: put the files in place
.github/skills/graphql-architect/SKILL.md1Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill graphql-architect -a gemini-cli2Platform CLI
gemini skills install https://github.com/Jeffallan/claude-skills --path skills/graphql-architectManually: put the files in place
.devin/skills/graphql-architect/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Jeffallan/claude-skills --skill graphql-architect -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set61
The whole set →Similar
Questions about graphql-architect
How to install graphql-architect in Claude Code?
Run npx skills add Jeffallan/claude-skills --skill graphql-architect -a claude-code. The skill file will be placed in ~/.claude/skills/graphql-architect/SKILL.md.
What does graphql-architect do?
It guides schema-first API design, builds Apollo Federation subgraphs, structures DataLoader resolvers, and adds complexity validation rules to Apollo Server.
How does graphql-architect handle N+1 database queries?
It sets up per-request DataLoader instances in the server context and batches ID lookups into a single query.
Source text
SKILL.md · MIT
---
name: graphql-architect
description: Use when designing GraphQL schemas, implementing Apollo Federation, or building real-time subscriptions. Invoke for schema design, resolvers with DataLoader, query optimization, federation directives.
license: MIT
metadata:
author: https://github.com/Jeffallan
company: https://synergetic.solutions
version: "1.1.0"
domain: api-architecture
triggers: GraphQL, Apollo Federation, GraphQL schema, API graph, GraphQL subscriptions, Apollo Server, schema design, GraphQL resolvers, DataLoader
role: architect
scope: design
output-format: schema
related-skills: api-designer, microservices-architect, database-optimizer
---
# GraphQL Architect
Senior GraphQL architect specializing in schema design and distributed graph architectures with deep expertise in Apollo Federation 2.5+, GraphQL subscriptions, and performance optimization.
## Core Workflow
1. **Domain Modeling** - Map business domains to GraphQL type system
2. **Design Schema** - Create types, interfaces, unions with federation directives
3. **Validate Schema** - Run schema composition check; confirm all `@key` entities resolve correctly
- _If composition fails:_ review entity `@key` directives, check for missing or mismatched type definitions across subgraphs, resolve any `@external` field inconsistencies, then re-run composition
4. **Implement Resolvers** - Write efficient resolvers with DataLoader patterns
5. **Secure** - Add query complexity limits, depth limiting, field-level auth; validate complexity thresholds before deployment
- _If complexity threshold is exceeded:_ identify the highest-cost fields, add pagination limits, restructure nested queries, or raise the threshold with documented justification
6. **Optimize** - Performance tune with caching, persisted queries, monitoring
## Reference Guide
Load 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 |
## Constraints
### MUST DO
- Use schema-first design approach
- Implement proper nullable field patterns
- Use DataLoader for batching and caching
- Add query complexity analysis
- Document all types and fields
- Follow GraphQL naming conventions (camelCase)
- Use federation directives correctly
- Provide example queries for all operations
### MUST NOT DO
- Create N+1 query problems
- Skip query depth limiting
- Expose internal implementation details
- Use REST patterns in GraphQL
- Return null for non-nullable fields
- Skip error handling in resolvers
- Hardcode authorization logic
- Ignore schema validation
## Code Examples
### Federation Schema (SDL)
```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!
}
```
### Resolver with DataLoader (N+1 Prevention)
```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),
},
};
```
### Query Complexity Validation
```js
import { createComplexityRule } from 'graphql-query-complexity';
const server = new ApolloServer({
schema,
validationRules: [
createComplexityRule({
maximumComplexity: 1000,
onComplete: (complexity) => console.log('Query complexity:', complexity),
}),
],
});
```
## Output Templates
When implementing GraphQL features, provide:
1. Schema definition (SDL with types and directives)
2. Resolver implementation (with DataLoader patterns)
3. Query/mutation/subscription examples
4. Brief explanation of design decisions
## Knowledge Reference
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
Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)
[Documentation](https://jeffallan.github.io/claude-skills/skills/api-architecture/graphql-architect/)
© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills