Guide for designing GraphQL schemas following industry best practices. Use this skill when: (1) designing a new GraphQL schema or API, (2) reviewing existing schema for improvements, (3) deciding on type structures or nullability, (4) implementing pagination or error patterns,
Installs just this skill. Get the whole plugin for auto-invocation.
⚡ How it fires
How this skill gets triggered: by you, by Claude, or both.
Fires itselfClaude auto-loads it when your prompt matches the work.
You can call itInvoke it directly when you want it.
Slash command/graphql-schema
👁️ Context preview
The summary Claude sees to decide when to auto-load this skill.
Guide for designing GraphQL schemas following industry best practices. Use this skill when: (1) designing a new GraphQL schema or API, (2) reviewing existing schema for improvements, (3) deciding on type structures or nullability, (4) implementing pagination or error patterns,
📊 Stats
Stars99
Forks11
LanguageShell
LicenseMIT
📦 Ships with apollo-skills
</> SKILL.md
graphql-schema.SKILL.md
---name: graphql-schema
description: >
Guide for designing GraphQL schemas following industry best practices. Use this skill when:
(1) designing a new GraphQL schema or API,
(2) reviewing existing schema for improvements,
(3) deciding on type structures or nullability,
(4) implementing pagination or error patterns,
(5) ensuring security in schema design.
license: MIT
compatibility: Any GraphQL implementation (Apollo Server, graphql-js, Yoga, etc.)
metadata:
author: apollographql
version: "1.0.1"
allowed-tools: Bash(npm:*) Bash(npx:*) Read Write Edit Glob Grep
---# GraphQL Schema Design Guide
This guide covers best practices for designing GraphQL schemas that are intuitive, performant, and maintainable. Schema design is primarily a server-side concern that directly impacts API usability.
## Schema Design Principles
### 1. Design for Client Needs
- Think about what queries clients will write
- Organize types around use cases, not database tables
- Expose capabilities, not implementation details
### 2. Be Explicit
- Use clear, descriptive names