plugins/api-realtime/skills/graphql/SKILL.md
GraphQL covering schema design, type system, execution model, Apollo Server/Client, Federation 2.x, Relay, DataLoader, persisted queries, subscriptions, and performance optimization. Use for "GraphQL", "Apollo Server", "Apollo Client", "Federation", "subgraph", "supergraph", "DataLoader", "N+1", "schema design", "SDL", "resolver", "mutation", "subscription", "Relay", "Strawberry", "Hot Chocolate", "Mercurius", "graphql-yoga", "persisted queries", "introspection", "GraphQL Codegen", "Pothos", "TypeGraphQL". Do NOT use for framework-specific integration details (e.g. wiring a resolver into an existing Express or Django app) — use the relevant framework skill in the `backend` plugin for that.
npx skillsauth add chrishuffman5/domain-expert graphqlInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill covers GraphQL, the query language for APIs. GraphQL is spec-based (October 2021 stable, with ongoing draft features). It has deep knowledge of:
When you receive a request:
Classify the request:
references/architecture.md for type system, execution model, schema patternsreferences/best-practices.md for DataLoader, caching, Federation, security, error handlingreferences/diagnostics.md for N+1 queries, validation errors, cache issues, subscription problemsoverview skill for GraphQL vs REST, gRPC, etc.Gather context -- Server library, client library, schema approach (SDL vs code-first), federation vs monolith, client platform
Analyze -- Apply GraphQL-specific reasoning. Consider schema evolution, query complexity, resolver architecture, and caching implications.
Recommend -- Provide actionable guidance with SDL snippets, resolver examples, and server configuration.
Verify -- Suggest validation steps (introspection queries, GraphQL Playground testing, Rover schema checks).
Six named type kinds: Scalar (Int, Float, String, Boolean, ID + custom), Object, Interface, Union, Enum, Input. Wrapping types: Non-Null (!) and List ([]). Non-null on arguments means required.
function resolver(parent, args, context, info) { }
parent: resolved value of parent field. args: field arguments. context: shared per-request (DB, loaders, user). info: field name, return type, schema, path.
| Approach | Advantages | Libraries | |---|---|---| | Schema-first (SDL) | Readable contract, federation-compatible | graphql-tools, Apollo Server | | Code-first | Type safety, single source of truth | Pothos, Nexus, TypeGraphQL, Strawberry, Hot Chocolate |
| Library | Language | Performance | Notes | |---|---|---|---| | Apollo Server 5 | Node.js | Standard | Most popular, rich plugin ecosystem | | Mercurius | Node.js (Fastify) | 70,000+ req/s (JIT) | Highest throughput Node.js server | | graphql-yoga | Node.js/Deno/Bun | ~10,900 req/s | Framework-agnostic, Fetch API | | Strawberry | Python | Standard | Type hints, FastAPI integration | | Hot Chocolate | .NET | High | Attributes, EF Core projections |
input CreatePostInput instead of individual arguments. Cleaner, more evolvable.@deprecated(reason: "...") with a 90-180 day migration period before removal.extensions.code for machine-readable error classification.references/architecture.md -- Type system, execution model, schema design, Relay connections, Federation 2.x architecture, subscription model, server implementationsreferences/best-practices.md -- DataLoader pattern, caching (APQ, normalized cache), Federation best practices, security hardening, error handling, schema evolution, performance tuningreferences/diagnostics.md -- N+1 detection, validation errors, null propagation issues, cache problems, subscription failures, Federation composition errorsoverview skill -- cross-protocol comparisonswebsocket skill -- WebSocket transport for GraphQL subscriptionsReady-made endpoint-audit script (read-only introspection) in scripts/.
scripts/01-schema-introspection-audit.sh -- Introspection exposure check and schema surface reviewtools
kubectl command-line usage and scripting: kubeconfig and context management, output formats (jsonpath, custom-columns, go-template), all major verbs (get, describe, apply, delete, exec, logs, port-forward, rollout, scale, drain), workload resources, config/storage, networking, RBAC, node management, debugging (CrashLoopBackOff, ImagePullBackOff, OOMKilled), and scripting patterns (dry-run, diff, wait, jq, kustomize). WHEN: "kubectl", "k8s CLI", "kubeconfig", "namespace", "pod", "deployment", "service", "ingress", "configmap", "secret", "rollout", "scale", "drain", "taint", "kustomize". Do NOT use for cluster architecture, sizing, upgrades, or workload design decisions — that's the `kubernetes` skill in the `containers` plugin. This skill is command syntax and scripting kubectl against an existing cluster, not cluster ops.
tools
Bash 5.x shell scripting, Unix text processing, and command-line automation: variables, parameter expansion, quoting, control flow, functions, I/O redirection, error handling (set -euo pipefail, trap), and the Unix tool ecosystem (grep, sed, awk, jq, find, sort, uniq, cut, xargs). Covers process management, networking (curl, ssh, rsync, nc), file locking (flock), parallel execution, and production script patterns. WHEN: "Bash", "bash", "shell", "sh", ".sh", "shell script", "sed", "awk", "grep", "jq", "find", "xargs", "curl", "ssh", "rsync", "cron", "pipe", "redirect", "here-doc", "shebang", "POSIX", "set -euo pipefail", "trap".
tools
Azure CLI (az) command syntax and scripting: authentication (interactive, service principal, managed identity, SSO), output formats and JMESPath queries, resource groups, VMs, storage accounts/blobs, networking (VNets, NSGs, load balancers, DNS), Entra ID, AKS, App Service, Functions, databases (SQL, Cosmos DB, MySQL, PostgreSQL), Key Vault, Monitor/alerting, and infrastructure scripting patterns. WHEN: "az ", "Azure CLI", "az login", "az vm", "az aks", "az storage", "az keyvault", "az monitor", "az ad", "az group", "az network", "az webapp", "az functionapp", "az sql", "az cosmosdb", "JMESPath", "az account". Do NOT use for Azure architecture, landing zones, or multi-subscription strategy — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.
tools
AWS CLI v2 command syntax and scripting: authentication (profiles, SSO, assume-role, instance profiles), output formats and JMESPath queries, pagination and waiters, IAM, S3, Lambda, RDS, CloudFormation, ECS, EKS, CloudWatch, SSM, Route 53, STS, and VPC networking. WHEN: "aws ", "AWS CLI", "aws ec2", "aws s3", "aws lambda", "aws iam", "aws cloudformation", "aws ssm", "aws ecs", "aws eks", "aws rds", "aws cloudwatch", "aws route53", "aws sts". Do NOT use for AWS architecture, service selection, multi-account strategy, or FinOps — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.