# graphql-api-development

A skill that walks your agent through GraphQL API design on graphql-js: schema, resolvers, queries, mutations, subscriptions, auth. Useful when REST stops fitting.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 447 installs · ★ 62
- Author: manutej
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/graphql-api-development/SKILL.md
- Updated: 2026-06-13
- HTML: https://affpapa.org/en/nevibecode/skills/graphql-api-development

## What it does

The skill guides an agent through building a GraphQL API on graphql-js: the type system and schema, resolvers, queries, mutations, subscriptions, error handling, authentication, authorization and caching. It covers both ways of writing a schema — SDL and the programmatic API — plus patterns for input types on mutations, interfaces for shared fields, unions for polymorphic returns, and offset and Relay-style cursor pagination.

A separate section spells out where GraphQL beats REST and where REST still wins: plain CRUD, file uploads, HTTP caching that matters. That is worth reading before you commit to a rewrite.

The examples target a Node.js server with Express, in JavaScript and TypeScript. The text cuts off at the versioning section, so it makes no claims about schema migration or deployment.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill graphql-api-development -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/graphql-api-development/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/graphql-api-development/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill graphql-api-development -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/graphql-api-development/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill graphql-api-development -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/graphql-api-development/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install manutej/luxor-claude-marketplace graphql-api-development
```

2. **Manually: put the files in place**
- File: `.github/skills/graphql-api-development/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill graphql-api-development -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/manutej/luxor-claude-marketplace --path plugins/luxor-backend-toolkit/skills/graphql-api-development
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/graphql-api-development/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill graphql-api-development -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/graphql-api-development/SKILL.md

## When to use it
- design a GraphQL schema with types and relationships
- write resolvers for nested fields without extra round trips
- add a mutation with an input type and readable errors
- set up Relay-style cursor pagination
- separate authentication from per-field authorization

## Example prompts
- Design a GraphQL schema for a blog: users, posts, comments
- Write resolvers for the nested fields Post.author and User.posts
- Add a createPost mutation with an input type and union errors

## Similar
- [graphql-operations](https://affpapa.org/en/nevibecode/skills/graphql-operations.md) — skill · 3600 installs
- [graphql-development](https://affpapa.org/en/nevibecode/skills/graphql-development.md) — skill · 661 installs
- [implement-graphql-api](https://affpapa.org/en/nevibecode/commands/implement-graphql-api.md) — command · 212 installs
- [graphql-architect](https://affpapa.org/en/nevibecode/agents/graphql-architect.md) — subagent · 1038 installs
- [graphql-implementation](https://affpapa.org/en/nevibecode/skills/graphql-implementation.md) — skill · 380 installs
- [apollo-graphql](https://affpapa.org/en/nevibecode/rules/apollo-graphql.md) — rule · ★ 3579

From the same set: [manutej/luxor-claude-marketplace](https://affpapa.org/en/nevibecode/by/manutej/luxor-claude-marketplace.md) — 31 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
