Agent skill

Neo4j Graphql Skill

by neo4j-contrib in neo4j-contrib/neo4j-skills

Build and configure a GraphQL API backed by Neo4j using @neo4j/graphql v7 (current) or v5 (LTS).

MITAuto-check: notesBackend & APIs

Install Neo4j Graphql Skill

skills CLI
$ npx skills add neo4j-contrib/neo4j-skills --skill neo4j-graphql-skill -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install neo4j-contrib/neo4j-skills neo4j-graphql-skill --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/neo4j-contrib/neo4j-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/neo4j-graphql-skill .claude/skills/neo4j-graphql-skill && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
neo4j-graphql-skill
GitHub stars
114
Token cost
~3.8k tokens
SKILL.md length
758 words
Files
3 (incl. references)
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Build and configure a GraphQL API backed by Neo4j using @neo4j/graphql v7 (current) or v5 (LTS).

  • Works in 2 steps: Install → Minimal Server Setup
  • Writing typeDefs
  • SKILL.md covers When to Use, When NOT to Use, Version Matrix and Step 1 — Install, plus 11 more sections
  • Calls npm; needs NEO4J_PASSWORD and JWT_SECRET

What it does

Neo4j Graphql Skill is an agent skill from neo4j-contrib/neo4j-skills. Build and configure a GraphQL API backed by Neo4j using @neo4j/graphql v7 (current) or v5 (LTS). Covers Neo4jGraphQL constructor, getSchema(), assertIndexesAndConstraints(), type definitions with @node, @relationship (IN/OUT/UNDIRECTED), @cypher for custom resolvers, @authorization/@authentication for JWT/JWKS security, auto-generated queries/mutations, OGM programmatic access, subscriptions via CDC, and Apollo Federation. Use when writing typeDefs, securing fields, or wiring Neo4j to Apollo Server. Does NOT…

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `README.md` and `references/search-directives.md`).

It sits in Backend & APIs, covering GraphQL and Authentication. It works with GraphQL, Neo4j and Apollo GraphQL. The repository describes itself as: Neo4j Skills for Coding and other Agents including Cypher. The licence is MIT.

When your agent uses it

  • Writing typeDefs
  • Securing fields
  • Wiring Neo4j to Apollo Server

Example prompts

  • “/neo4j-graphql-skill”

Requirements

  • Node.js
  • A credential in JWT_SECRET
  • Pre-approved tools (allowed-tools): Bash, WebFetch

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Install
  2. Minimal Server Setup

What it can do on your machine

Read from SKILL.md and the folder at commit bb30e1f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • WebFetch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • neo4j.com
    • graphacademy.neo4j.com
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NEO4J_PASSWORD
    • JWT_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Neo4j Graphql Skill loads about 3.8k tokens when it runs, and up to ~4.7k if it reads all its reference files. Until then it costs about 169 tokens; SKILL.md has 758 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~169
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:499
    - [ ] `.env` holds credentials; `.env` in `.gitignore`
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, WebFetch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from neo4j-contrib/neo4j-skills at commit bb30e1f, republished under its MIT licence (© neo4j-contrib). 758 words, ~3,828 tokens.

Download SKILL.mdSave it as .claude/skills/neo4j-graphql-skill/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
neo4j-graphql-skill
description
Build and configure a GraphQL API backed by Neo4j using @neo4j/graphql v7 (current) or v5 (LTS). Covers Neo4jGraphQL constructor, getSchema(), assertIndexesAndConstraints(), type definitions with @node, @relationship (IN/OUT/UNDIRECTED), @cypher for custom resolvers, @authorization/@authentication for JWT/JWKS security, auto-generated queries/mutations, OGM programmatic access, subscriptions via CDC, and Apollo Federation. Use when writing typeDefs, securing fields, or wiring Neo4j to Apollo Server. Does NOT handle raw Cypher outside resolvers — use neo4j-cypher-skill. Does NOT cover Spring Data Neo4j entity mapping — use neo4j-spring-data-skill.
allowed-tools
Bash, WebFetch
version
1.0.5

When to Use

  • Creating a GraphQL API from a Neo4j graph schema with @neo4j/graphql
  • Writing type definitions with @relationship, @cypher, @authorization directives
  • Using OGM for server-side programmatic Neo4j access (bypasses GraphQL auth)
  • Configuring auto-generated queries, mutations, subscriptions
  • Securing types/fields with JWT or JWKS-based @authorization rules
  • Migrating from v5/v6 to v7 (breaking changes below)

When NOT to Use

  • Raw Cypher queries outside GraphQL resolvers → neo4j-cypher-skill
  • Spring Data Neo4j / Java entity mapping → neo4j-spring-data-skill
  • Generic GraphQL without Neo4j — outside scope

Version Matrix

VersionStatusNotes
v7Current — use ≥ 7.6.2@node required; options removed; explicit eq syntax
v5LTS — use ≥ 5.12.15Older syntax; options: {limit, offset, sort} still valid

Default to v7 unless codebase is on v5. Upgrade past these security patches before shipping auth:

FixFixed in
Subscriptions accepted an unverified JWT from WebSocket connectionParams (auth/authz bypass)7.5.6 / 5.12.14
Field-level @authentication on a root custom-resolver field ignored when the operation type also had type-level @authentication (privilege escalation)7.6.0 / 5.12.15
@authorization rules not applied on create-relationship operations7.6.2

Step 1 — Install

bash
npm install @neo4j/graphql neo4j-driver graphql @apollo/server

For subscriptions (CDC required):

bash
npm install ws graphql-ws express body-parser cors

Step 2 — Minimal Server Setup

javascript
import { ApolloServer } from '@apollo/server';
import { startStandaloneServer } from '@apollo/server/standalone';
import { Neo4jGraphQL } from '@neo4j/graphql';
import neo4j from 'neo4j-driver';

const typeDefs = `#graphql
  type Movie @node {
    id: ID! @id
    title: String!
    actors: [Person!]! @relationship(type: "ACTED_IN", direction: IN)
  }

  type Person @node {
    id: ID! @id
    name: String!
    movies: [Movie!]! @relationship(type: "ACTED_IN", direction: OUT)
  }
`;

const driver = neo4j.driver(
  process.env.NEO4J_URI,
  neo4j.auth.basic(process.env.NEO4J_USERNAME, process.env.NEO4J_PASSWORD)
);

const neoSchema = new Neo4jGraphQL({ typeDefs, driver });

// assertIndexesAndConstraints syncs @id → UNIQUE constraints; wrap in try/catch
await neoSchema.assertIndexesAndConstraints({ options: { create: true } });

const server = new ApolloServer({ schema: await neoSchema.getSchema() });

const { url } = await startStandaloneServer(server, {
  context: async ({ req }) => ({ token: req.headers.authorization }),
  listen: { port: 4000 },
});

Key Directives

@node (v7 required)
graphql
type Product @node {
  id: ID! @id
  name: String!
}

# Custom label (default = type name)
type Article @node(labels: ["Post", "Content"]) {
  title: String!
}
@relationship — Full Syntax
graphql
type Person @node {
  # direction: OUT = (this)-[:KNOWS]->(other)
  friends: [Person!]! @relationship(type: "KNOWS", direction: OUT)

  # direction: IN = (other)-[:ACTED_IN]->(this)
  actedIn: [Movie!]! @relationship(type: "ACTED_IN", direction: IN)

  # direction: UNDIRECTED = matches both directions (use sparingly — double-counts)
  colleagues: [Person!]! @relationship(type: "COLLEAGUE_OF", direction: UNDIRECTED)

  # Relationship with properties — reference an @relationshipProperties interface
  reviews: [Movie!]! @relationship(type: "REVIEWED", direction: OUT, properties: "ReviewedProps")
}

interface ReviewedProps @relationshipProperties {
  rating: Int!
  date: Date
}
Querying Relationship Properties — Connection API

For each relationship with properties:, a {field}Connection field is auto-generated. Access rel properties via actorsConnection.edges.properties, not via actors:

graphql
query {
  movies(where: { title: { eq: "The Matrix" } }) {
    title
    actorsConnection {
      edges {
        properties { role }   # maps to @relationshipProperties interface
        node { name }
      }
    }
  }
}
@cypher — Custom Resolver
graphql
type Person @node {
  name: String!

  # columnName must exactly match the RETURN alias — mismatch returns null silently
  friendCount: Int
    @cypher(
      statement: "MATCH (this)-[:KNOWS]->(f:Person) RETURN count(f) AS friendCount"
      columnName: "friendCount"
    )

  recommendedMovies: [Movie!]!
    @cypher(
      statement: """
        MATCH (this)-[:WATCHED]->(m:Movie)<-[:WATCHED]-(o:Person)-[:WATCHED]->(rec:Movie)
        WHERE NOT (this)-[:WATCHED]->(rec)
        RETURN rec
      """
      columnName: "rec"
    )
}

# @cypher on Query field — custom top-level query
type Query {
  topRatedMovies(limit: Int = 10): [Movie!]!
    @cypher(
      statement: "MATCH (m:Movie) WHERE m.rating IS NOT NULL RETURN m ORDER BY m.rating DESC LIMIT $limit"
      columnName: "m"
    )
}

this refers to the current node in field-level @cypher. Parameters are passed as $paramName.

@cypher — Field Arguments and extend type
graphql
# extend type adds computed fields without modifying the base type definition
extend type Movie @node {
  avgRating: Float
    @cypher(statement: "MATCH (this)<-[r:RATED]-(:User) RETURN avg(r.rating) AS result", columnName: "result")

  # Field arguments passed as Cypher params; always provide default to avoid null
  recommended(limit: Int = 3): [Movie!]!
    @cypher(
      statement: "MATCH (this)<-[:RATED]-(u:User)-[:RATED]->(rec:Movie) WITH rec, COUNT(u) AS score ORDER BY score DESC RETURN rec LIMIT $limit"
      columnName: "rec"
    )
}
@id and @timestamp
graphql
type Post @node {
  id: ID! @id                          # auto-generates UUID; creates UNIQUE constraint
  createdAt: DateTime! @timestamp(operations: [CREATE])
  updatedAt: DateTime @timestamp(operations: [CREATE, UPDATE])
  title: String!
}
@alias — Map GraphQL field to Neo4j property
graphql
type User @node {
  id: ID! @id
  email: String! @alias(property: "emailAddress")  # GraphQL: email → DB: emailAddress
}
@fulltext and @vector

Index must exist in Cypher before use. Phrase-capable @vector indexes accept maxPhraseLength [7.6.0] to cap embedding cost. A provider without matching features.vector config fails at schema build [7.6.1]. Full syntax, generated query shapes, provider config: references/search-directives.md.


Security — @authentication and @authorization

Step 1: Configure JWT in constructor
javascript
// Symmetric secret
const neoSchema = new Neo4jGraphQL({
  typeDefs,
  driver,
  features: {
    authorization: { key: process.env.JWT_SECRET },
  },
});

// JWKS endpoint (production)
const neoSchema = new Neo4jGraphQL({
  typeDefs,
  driver,
  features: {
    authorization: {
      key: { url: 'https://myapp.com/.well-known/jwks.json' },
    },
  },
});
Step 2: Pass token in context
javascript
context: async ({ req }) => ({ token: req.headers.authorization }),
// Or pass pre-decoded JWT:
context: async ({ req }) => ({ jwt: myDecodeJwt(req.headers.authorization) }),
Step 3: Apply @authentication and @authorization
graphql
# Require auth on all operations for a type
type Post @node
  @authentication
  @authorization(filter: [{ where: { node: { author: { id: { eq: "$jwt.sub" } } } } }]) {
  title: String!
  author: User! @relationship(type: "AUTHORED", direction: IN)
}

# requireAuthentication: false = allow public access without JWT
type Article @node
  @authorization(filter: [
    { requireAuthentication: false, where: { node: { published: { eq: true } } } }
    { where: { node: { author: { id: { eq: "$jwt.sub" } } } } }
  ]) {
  title: String!
  published: Boolean!
}

# validate (throws error) vs filter (silently hides data)
type BankAccount @node
  @authorization(validate: [{
    when: [BEFORE],
    where: { node: { owner: { id: { eq: "$jwt.sub" } } } }
  }]) {
  balance: Float!
}

# Role-based with custom JWT claims
type JWT @jwt {
  roles: [String!]! @jwtClaim(path: "myApp.roles")
}

type AdminReport @node
  @authentication(operations: [READ], jwt: { roles: { includes: "admin" } }) {
  data: String!
}

BEFORE vs AFTER: CREATE supports only AFTER; READ supports only BEFORE.


Auto-Generated Operations

OperationGenerated NameExample
Query all{plural}movies(where, sort, limit, offset)
Cursor pagination{plural}ConnectionmoviesConnection(first, after, where, sort)
Createcreate{Plural}createMovies(input: [MovieCreateInput!]!)
Updateupdate{Plural}updateMovies(where, update)
Deletedelete{Plural}deleteMovies(where, delete)
v7 Filter Syntax (explicit eq)
graphql
# v7: explicit eq required
query {
  movies(where: { title: { eq: "The Matrix" } }) {
    title
    actors { name }
  }
}

# Sort and paginate (v7: direct args, not options wrapper)
query {
  movies(sort: [{ title: ASC }], limit: 10, offset: 0) {
    title
  }
}
Nested Mutations
graphql
mutation {
  createMovies(input: [{
    title: "Inception"
    actors: {
      create: [{ node: { name: "Leonardo DiCaprio" } }]
      connect: { where: { node: { name: { eq: "Joseph Gordon-Levitt" } } } }
    }
  }]) {
    movies { id title }
  }
}

OGM — Programmatic Access

OGM bypasses GraphQL authorization — use only in trusted server-side contexts.

javascript
import { OGM } from '@neo4j/graphql-ogm';

const ogm = new OGM({ typeDefs, driver });
await ogm.init();  // must await before using models

const Movie = ogm.model('Movie');

// find
const movies = await Movie.find({
  where: { title: { eq: 'The Matrix' } },
  selectionSet: `{ id title actors { name } }`,
});

// create
const { movies: created } = await Movie.create({
  input: [{ title: 'Dune', actors: { create: [{ node: { name: 'Timothée Chalamet' } }] } }],
});

// update
await Movie.update({
  where: { id: { eq: movieId } },
  update: { title: { set: 'Dune: Part One' } },
});

// delete
await Movie.delete({ where: { id: { eq: movieId } } });

Install separately: npm install @neo4j/graphql-ogm


Subscriptions (CDC Required)

Requires Neo4j CDC enabled in FULL mode. See CDC docs.

javascript
const neoSchema = new Neo4jGraphQL({
  typeDefs,
  driver,
  features: { subscriptions: true },
});

Authenticate subscriptions with a verified token in the WebSocket context; a pre-decoded jwt is trusted only when set server-side (7.5.6 / 5.12.14 stopped trusting client-supplied connectionParams JWTs).

graphql
subscription {
  movieCreated(where: { title: { eq: "The Matrix" } }) {
    createdMovie { title }
  }
}
# Also: movieUpdated, movieDeleted

Schema Control Directives

graphql
type ReadOnlyData @node @mutation(operations: []) { value: String! }  # disable mutations

type HeavyDoc @node {
  id: ID! @id
  content: String! @filterable(byValue: false) @sortable(enabled: false)  # perf guard
  title: String!
}

type Series @node @plural(value: "seriesList") { title: String! }  # irregular plural fix

Show full SKILL.md (347 more words)Show less

Common Errors

ErrorCauseFix
Type 'X' not foundMissing @node on type (v7)Add @node to every node type
@cypher field returns nullcolumnName mismatch with RETURN aliasMatch columnName exactly to RETURN alias
Relationship direction mismatchBoth sides declare same directionInverse: if A has direction: OUT, B must have direction: IN
assertIndexesAndConstraints throws@id constraint not in DBAdd { options: { create: true } } or run CREATE CONSTRAINT manually
Auth not appliedJWT not in contextPass token: req.headers.authorization in context function
0 results with valid datav7 filter missing eqUse { field: { eq: value } } not { field: value }
connectOrCreate not foundRemoved in v7Use connect + create separately
Memory errors on large mutationsComplex Cypher generationBatch mutations; increase server.memory.heap.max_size
@subscription not generatingv7 requires explicit enableAdd features: { subscriptions: true } to constructor

v6 → v7 Breaking Changes Summary

v6v7
@node optional@node required on every node type
options: { limit, sort }limit, sort as direct args
{ field: value } filter{ field: { eq: value } }
connectOrCreate nested mutationRemoved — use connect + create
directed arg on queriesqueryDirection in @relationship
Single rel fields actor: PersonMust use list actors: [Person!]!
@private directiveRemoved
@unique directiveRemoved

References


Checklist

  • @node on every GraphQL type representing a Neo4j node (v7 hard requirement)
  • @id on identity fields (triggers CREATE CONSTRAINT via assertIndexesAndConstraints)
  • assertIndexesAndConstraints called on startup with try/catch
  • @relationship direction correct: OUT = arrow leaves this node, IN = arrow enters
  • Both sides of relationship declared with inverse directions
  • @cypher columnName matches RETURN alias exactly
  • JWT secret or JWKS URL in features.authorization.key; token passed in context
  • @authorization filter vs validate chosen deliberately (silent hide vs thrown error)
  • v7: filters use explicit { field: { eq: value } } syntax
  • v7: limit/sort passed as direct query args (not options wrapper)
  • OGM: await ogm.init() called before any ogm.model() usage
  • Subscriptions: CDC enabled in FULL mode before enabling features.subscriptions
  • @neo4j/graphql ≥ 7.6.2 (v7) or ≥ 5.12.15 (LTS) — earlier versions have auth bypasses
  • .env holds credentials; .env in .gitignore

© neo4j-contrib, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in neo4j-graphql-skill of neo4j-contrib/neo4j-skills.

  • SKILL.md
  • README.md
  • references/search-directives.md

Open the folder on GitHubat commit bb30e1f

Compare with similar skills

Neo4j Graphql Skill next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Neo4j Graphql Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Neo4j Graphql Skill this skillneo4j-contrib/neo4j-skills114—~3.8kAutomated safety check: NotesMIT
Apollo Routerapollographql/skills117—~5.4kAutomated safety check: PassMIT
GraphQL Operations with CodegenChrisWiles/claude-code-showcase6.1k3 repos~1.5kAutomated safety check: PassNone
Pii DetectorgoSprinto/compliance-skills133—~1.6kAutomated safety check: PassMIT
API Auditbriiirussell/cybersecurity-skills413—~2.8kAutomated safety check: NotesMIT
Apollo Clientapollographql/skills117—~1.9kAutomated safety check: PassMIT

Similar skills

  • Apollo Router

    apollographql/skills

    Version-aware guide for configuring and running Apollo Router for federated GraphQL supergraphs.

    117 GitHub stars~5.4k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • GraphQL Operations with Codegen

    ChrisWiles/claude-code-showcase

    Sets the rules for writing GraphQL queries and mutations in .gql files, running codegen, and using generated Apollo hooks with proper error and loading handling.

    6.1k GitHub starsUsed in 3 repos~1.5k tokens
    Backend & APIsAuto-check passed
  • Pii Detector

    goSprinto/compliance-skills

    Proactive PII add-on — augments the main response with PII guidance.

    133 GitHub stars~1.6k tokensUpdated 4 mo ago
    Backend & APIsAuto-check passed
  • API Audit

    briiirussell/cybersecurity-skills

    Audit REST, GraphQL, and RPC APIs against the OWASP API Security Top 10 (2023).

    413 GitHub stars~2.8k tokensUpdated 4 mo ago
    Backend & APIsAuto-check: notes
  • Apollo Client

    apollographql/skills

    Guide for building React applications with Apollo Client 4.x.

    117 GitHub stars~1.9k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • Domain Web

    fjrevoredo/mini-diarium

    A skill your agent uses when building web services. An agent skill from fjrevoredo/mini-diarium.

    310 GitHub starsUsed in 2 repos~1k tokens
    Backend & APIsAuto-check passed

More from neo4j-contrib/neo4j-skills

All 28 skills in this repo
  • Neo4j Aura Agent Skill

    neo4j-contrib/neo4j-skills

    Manages Neo4j Aura Agents via the v2beta1 REST API — create, list, get, update, delete, and invoke Aura agents backed by an AuraDB instance.

    114 GitHub stars~4.4k tokensUpdated yesterday
    Auto-check: notes
  • Neo4j Cypher Skill

    neo4j-contrib/neo4j-skills

    Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x.

    114 GitHub starsUsed in 1 repo~6.1k tokens
    Auto-check passed
  • Neo4j Aura Graph Analytics Skill

    neo4j-contrib/neo4j-skills

    Serverless Aura Graph Analytics (AGA) GDS Sessions — covers GdsSessions, AuraGraphDataScience, AuraAPICredentials, DbmsConnectionInfo, SessionMemory, getorcreate, remote graph projection with…

    114 GitHub stars~4.6k tokensUpdated yesterday
    Auto-check: notes
  • Neo4j Getting Started Skill

    neo4j-contrib/neo4j-skills

    Orchestrates zero-to-running-app in 8 stages — prerequisites → context → provision → model → load → explore → query → build.

    114 GitHub stars~4.3k tokensUpdated yesterday
    Auto-check: warnings
  • Neo4j Aura Provisioning Skill

    neo4j-contrib/neo4j-skills

    Provisions and manages Neo4j Aura instances via CLI (aura-cli v1.7+) or REST API.

    114 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check: notes
  • Neo4j Driver Dotnet Skill

    neo4j-contrib/neo4j-skills

    Neo4j .NET Driver v6 — IDriver lifecycle, DI registration (singleton), ExecutableQuery fluent API, ExecuteReadAsync/ExecuteWriteAsync managed transactions, IResultCursor (FetchAsync/ ToListAsync)…

    114 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check: notes

Categories

Questions about Neo4j Graphql Skill

What does Neo4j Graphql Skill do?

Build and configure a GraphQL API backed by Neo4j using @neo4j/graphql v7 (current) or v5 (LTS). Neo4j Graphql Skill is an agent skill from neo4j-contrib/neo4j-skills. Build and configure a GraphQL API backed by Neo4j using @neo4j/graphql v7 (current) or v5 (LTS).

When should I use Neo4j Graphql Skill?

Neo4j Graphql Skill fits situations like: writing typeDefs; securing fields; wiring Neo4j to Apollo Server.

How do I install Neo4j Graphql Skill in Claude Code?

Run `npx skills add neo4j-contrib/neo4j-skills --skill neo4j-graphql-skill -a claude-code`. Or copy the skill folder (neo4j-graphql-skill in neo4j-contrib/neo4j-skills) into .claude/skills/neo4j-graphql-skill in your project. Claude Code loads it when a task matches its description.

How do I install Neo4j Graphql Skill in Codex?

Run `npx skills add neo4j-contrib/neo4j-skills --skill neo4j-graphql-skill -a codex`. Or copy the skill folder (neo4j-graphql-skill in neo4j-contrib/neo4j-skills) into .agents/skills/neo4j-graphql-skill in your project. Codex loads it when a task matches its description.

Can I use Neo4j Graphql Skill in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add neo4j-contrib/neo4j-skills --skill neo4j-graphql-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/neo4j-graphql-skill, .gemini/skills/neo4j-graphql-skill, .github/skills/neo4j-graphql-skill and .opencode/skills/neo4j-graphql-skill in your project.

What does Neo4j Graphql Skill need to run?

Going by SKILL.md and its folder, Neo4j Graphql Skill needs the command-line tools its instructions call (npm) and credentials named NEO4J_PASSWORD and JWT_SECRET. Our summary lists: Node.js; A credential in JWT_SECRET. Its frontmatter pre-approves these tools: Bash, WebFetch.

Does Neo4j Graphql Skill access the network?

SKILL.md names 3 domains. As links in the text: neo4j.com, graphacademy.neo4j.com and github.com. This is read from the text; nothing was executed.

Is Neo4j Graphql Skill safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Neo4j Graphql Skill use?

Neo4j Graphql Skill is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Neo4j Graphql Skill use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 908 tokens, read only when the agent opens those files.

What are the alternatives to Neo4j Graphql Skill?

Skills that share tags, products or a category with Neo4j Graphql Skill: Apollo Router (apollographql/skills, 117 stars), GraphQL Operations with Codegen (ChrisWiles/claude-code-showcase, 6.1k stars), Pii Detector (goSprinto/compliance-skills, 133 stars) and API Audit (briiirussell/cybersecurity-skills, 413 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Neo4j Graphql Skill?

neo4j-contrib (a GitHub organization) maintains it in neo4j-contrib/neo4j-skills, which has 114 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 9, 2026.

Source: neo4j-contrib/neo4j-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.