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.
90
87%
Does it follow best practices?
Impact
94%
1.10xAverage score across 3 eval scenarios
Passed
No findings from the security scan
Neo4j GraphQL v7 blog API scaffold
v7 version pinned
0%
100%
Core packages declared
100%
100%
@node on all types
0%
100%
@relationship directions correct
100%
100%
@id and @timestamp used
100%
100%
assertIndexesAndConstraints with try/catch
42%
100%
JWT auth in constructor
85%
100%
@authorization filter vs validate
100%
28%
@jwt type with @jwtClaim
100%
100%
OGM package declared
100%
100%
ogm.init() awaited
100%
100%
OGM bypass note
100%
100%
.env.example present
100%
100%
.gitignore excludes .env
100%
100%
Neo4j GraphQL type definitions with @cypher, relationships, and directives
@node on Movie
100%
100%
@node on User
100%
100%
@relationship inverse directions
100%
100%
@cypher columnName matches RETURN alias
100%
100%
'this' in field-level Cypher
100%
100%
@cypher arg has default value
100%
100%
@alias on username field
100%
100%
@id on identity fields
100%
100%
@timestamp present
100%
100%
extend type for averageRating
100%
100%
Connection API in sample query
100%
100%
v5 to v7 Neo4j GraphQL migration
@node on Movie
100%
100%
@node on Person
100%
100%
@node on Genre
100%
100%
@node on Post
100%
100%
actor field list syntax
0%
100%
author field list syntax
0%
0%
Explicit eq in filter
100%
100%
Direct sort arg
100%
100%
Direct limit/offset args
100%
100%
connectOrCreate replaced
100%
100%
CREATE auth uses AFTER
0%
100%
requireAuthentication: false
0%
0%
a3627d2
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.