Agent skill

Neo4j Driver Java Skill

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

Neo4j Java Driver v6 — driver lifecycle, Maven/Gradle setup, executableQuery, executeRead/Write managed transactions, explicit transactions, async/reactive patterns, error handling, data type…

MITAuto-check: notesMobile

Install Neo4j Driver Java Skill

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

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

GitHub CLI
$ gh skill install neo4j-contrib/neo4j-skills neo4j-driver-java-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-driver-java-skill .claude/skills/neo4j-driver-java-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-driver-java-skill
GitHub stars
114
Token cost
~4.2k tokens
SKILL.md length
923 words
Files
5 (incl. references)
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Neo4j Java Driver v6 — driver lifecycle, Maven/Gradle setup, executableQuery, executeRead/Write managed transactions, explicit transactions, async/reactive patterns, error handling, data type…

  • Kotlin code that connects to Neo4j via GraphDatabase.driver
  • SKILL.md covers When to Use, When NOT to Use, Dependency and Environment Variables, plus 12 more sections
  • Needs NEO4J_PASSWORD
  • ExecutableQuery

What it does

Neo4j Driver Java Skill is an agent skill from neo4j-contrib/neo4j-skills. Neo4j Java Driver v6 — driver lifecycle, Maven/Gradle setup, executableQuery, executeRead/Write managed transactions, explicit transactions, async/reactive patterns, error handling, data type mapping, connection pool tuning, causal consistency/bookmarks. Use when writing Java or Kotlin code that connects to Neo4j via GraphDatabase.driver, executableQuery, SessionConfig, executeRead, executeWrite, or TransactionCallback. Does NOT handle Cypher authoring — use neo4j-cypher-skill. Does NOT cover driver version…

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `README.md`, `references/advanced-config.md` and `references/async-reactive.md`).

It sits in Mobile, covering Code migrations and Android development. It works with Neo4j, Java, Gradle and Kotlin. The repository describes itself as: Neo4j Skills for Coding and other Agents including Cypher. The licence is MIT.

When your agent uses it

  • Kotlin code that connects to Neo4j via GraphDatabase.driver
  • ExecutableQuery
  • TransactionCallback

Example prompts

  • “/neo4j-driver-java-skill”

Requirements

  • Pre-approved tools (allowed-tools): Bash, WebFetch

What it can do on your machine

Read from SKILL.md and the folder at commit 9005c19. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are java, xml, groovy and properties).

    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
    • central.sonatype.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

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

Context cost

Neo4j Driver Java Skill loads about 4.2k tokens when it runs, and up to ~7.6k if it reads all its reference files. Until then it costs about 166 tokens; SKILL.md has 923 words of instructions outside code blocks.

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

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.

  • 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 9005c19, republished under its MIT licence (© neo4j-contrib). 923 words, ~4,217 tokens.

Download SKILL.mdSave it as .claude/skills/neo4j-driver-java-skill/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
neo4j-driver-java-skill
description
Neo4j Java Driver v6 — driver lifecycle, Maven/Gradle setup, executableQuery, executeRead/Write managed transactions, explicit transactions, async/reactive patterns, error handling, data type mapping, connection pool tuning, causal consistency/bookmarks. Use when writing Java or Kotlin code that connects to Neo4j via GraphDatabase.driver, executableQuery, SessionConfig, executeRead, executeWrite, or TransactionCallback. Does NOT handle Cypher authoring — use neo4j-cypher-skill. Does NOT cover driver version upgrades — use neo4j-migration-skill. Does NOT cover Spring Data Neo4j (@Node, Neo4jRepository) — use neo4j-spring-data-skill.
allowed-tools
Bash, WebFetch
version
1.0.12

When to Use

  • Java/Kotlin code connecting to Neo4j (Aura or self-managed)
  • Setting up driver, sessions, transactions in Maven/Gradle projects
  • Debugging result handling, error recovery, connection pool issues
  • Async (CompletableFuture) or reactive (Project Reactor / RxJava) Neo4j access

When NOT to Use

  • Cypher query authoring/optimization → neo4j-cypher-skill
  • Driver version upgrades → neo4j-migration-skill
  • Spring Data Neo4j (@Node, @Relationship, Neo4jRepository) → neo4j-spring-data-skill

Dependency

Maven
xml
<dependency>
    <groupId>org.neo4j.driver</groupId>
    <artifactId>neo4j-java-driver</artifactId>
    <version>6.3.0</version>
</dependency>
Gradle
groovy
implementation 'org.neo4j.driver:neo4j-java-driver:6.3.0'

Check latest: https://central.sonatype.com/artifact/org.neo4j.driver/neo4j-java-driver

6.2.0 [2026-06]: Neo4j UUID type + Bolt 6.1 support; QueryProfile in result summary. 6.2.1 [2026-08]: fixes Value#asObject() on UUID values — required if reading UUID properties generically. Neo4j 2026.08 server bundles 6.2.1; 2026.07 bundles 6.2.0. 6.3.0 [2026-09]: Property Encryption preview — client-side envelope encryption of property values (driver.propertyEncryption()) → references/property-encryption.md.

Server-side UUID type and uuid() constructors ship in Neo4j 2026.08 — use driver >= 6.2.1 against those servers.


Environment Variables

Standard pattern for connection config — never hardcode credentials:

java
String uri      = System.getenv().getOrDefault("NEO4J_URI",      "neo4j://localhost:7687");
String user     = System.getenv().getOrDefault("NEO4J_USERNAME",  "neo4j");
String password = System.getenv().getOrDefault("NEO4J_PASSWORD",  "");
String database = System.getenv().getOrDefault("NEO4J_DATABASE",  "neo4j");

Spring Boot: inject via @Value("${spring.neo4j.uri}") or application.properties:

properties
spring.neo4j.uri=neo4j+s://xxx.databases.neo4j.io
spring.neo4j.authentication.username=neo4j
spring.neo4j.authentication.password=secret

Driver Lifecycle

One Driver per application — thread-safe, expensive to create. Implement AutoCloseable or use try-with-resources.

java
// Long-lived singleton
var driver = GraphDatabase.driver(
    "neo4j+s://xxx.databases.neo4j.io",          // Aura TLS+routing
    AuthTokens.basic(user, password));
driver.verifyConnectivity();                      // fail fast

// Short-lived (tests / CLI)
try (var driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password))) {
    driver.verifyConnectivity();
    // ...
}

URI schemes:

URIUse
neo4j://localhostUnencrypted, cluster routing
neo4j+s://xxx.databases.neo4j.ioTLS + cluster routing (Aura)
bolt://localhost:7687Unencrypted, single instance
bolt+s://localhost:7687TLS, single instance

Auth options: AuthTokens.basic(u,p) · AuthTokens.bearer(token) · AuthTokens.kerberos(b64) · AuthTokens.none()


Choosing the Right API

APIWhenAuto-retryStreaming
driver.executableQuery()Default for most queries✅❌ eager
session.executeRead/Write()Large results, callback control✅✅
session.beginTransaction()Multi-method, external coordination❌✅
session.run()Self-managing queries (CALL IN TRANSACTIONS)⚠️ one-shot [6.1+]✅
driver.asyncSession()Non-blocking CompletableFuture✅✅
driver.rxSession()Reactor/RxJava backpressure✅✅

CALL { … } IN TRANSACTIONS and USING PERIODIC COMMIT self-manage their transaction — use session.run() only. executableQuery and executeRead/Write will fail for these queries.

session.run() retry [6.1+]: single immediate retry on idempotent errors only (enabled by default). Disable per driver or per session:

java
// Driver-level — disable for all sessions
var config = Config.builder().withAutoCommitRetriesDisabled(true).build();

// Session-level — overrides driver
var sessionConfig = SessionConfig.builder()
    .withAutoCommitRetriesMode(AutoCommitRetriesMode.DISABLED)  // DEFAULT = follow driver
    .build();

executableQuery — Default

java
// Read — route to replicas
var result = driver.executableQuery("""
        MATCH (p:Person {name: $name})-[:KNOWS]->(friend)
        RETURN friend.name AS name
        """)
    .withParameters(Map.of("name", "Alice"))
    .withConfig(QueryConfig.builder()
        .withDatabase("neo4j")            // always specify — avoids home-db round-trip
        .withRouting(RoutingControl.READ)
        .build())
    .execute();

result.records().forEach(r -> System.out.println(r.get("name").asString()));
long ms = result.summary().resultAvailableAfter(TimeUnit.MILLISECONDS);

// Write
driver.executableQuery("CREATE (p:Person {name: $name, age: $age})")
    .withParameters(Map.of("name", "Bob", "age", 30))
    .withConfig(QueryConfig.builder().withDatabase("neo4j").build())
    .execute();

Never string-interpolate Cypher. Always .withParameters(Map.of(...)).


Managed Transactions (executeRead / executeWrite)

Sessions are NOT thread-safe — one per request/thread, always close.

java
try (var session = driver.session(SessionConfig.builder()
        .withDatabase("neo4j").build())) {

    // Read → replica routing
    var names = session.executeRead(tx -> {
        var result = tx.run(
            "MATCH (p:Person) WHERE p.name STARTS WITH $prefix RETURN p.name AS name",
            Map.of("prefix", "Al"));
        return result.stream().map(r -> r.get("name").asString()).toList(); // collect INSIDE
    });

    // Write → leader routing
    session.executeWriteWithoutResult(tx ->
        tx.run("CREATE (p:Person {name: $name})", Map.of("name", "Carol"))
    );
}
Result must be consumed INSIDE the callback

Result is a lazy cursor tied to the open transaction. Transaction closes when callback returns — any read after that throws ResultConsumedException.

java
// ❌ Returns Result — already closed by the time caller uses it
var result = session.executeRead(tx ->
    tx.run("MATCH (p:Person) RETURN p.name AS name"));
result.stream().forEach(...); // throws ResultConsumedException

// ✅ Collect to List inside callback
var names = session.executeRead(tx ->
    tx.run("MATCH (p:Person) RETURN p.name AS name")
      .stream().map(r -> r.get("name").asString()).toList());
Callback rules
  • Consume each Result before next tx.run() — multiple open cursors = undefined behaviour.
  • No side effects (HTTP, email, metric increments) — callback may be retried on transient errors.
  • Use MERGE (idempotent), not CREATE, for retry-safe writes.
  • executeRead → replica; executeWrite → leader.
TransactionConfig — timeouts & metadata
java
var config = TransactionConfig.builder()
    .withTimeout(Duration.ofSeconds(5))
    .withMetadata(Map.of("app", "myService", "user", userId))  // visible in SHOW TRANSACTIONS
    .build();
session.executeRead(tx -> { /* ... */ }, config);

Explicit Transactions

Use when work spans multiple methods or requires external coordination. Not auto-retried.

java
try (var session = driver.session(SessionConfig.builder().withDatabase("neo4j").build())) {
    var tx = session.beginTransaction();
    try {
        doPartA(tx);
        doPartB(tx);
        tx.commit();
    } catch (Exception e) {
        try { tx.rollback(); } catch (Exception rb) { e.addSuppressed(rb); }
        throw e;
    }
}

tx.rollback() is a network call — wrap in its own try/catch and use addSuppressed so the original exception is not lost.

Commit uncertainty: if tx.commit() throws ServiceUnavailableException, the commit may or may not have succeeded. Design writes as idempotent (MERGE + unique constraints) so retrying is safe.

Choose explicit vs managed:

  • Auto-retry needed → executeRead / executeWrite
  • Work spans multiple methods → explicit (pass tx as parameter)
  • Coordinating with external I/O → explicit (commit only after I/O succeeds)

Error Handling

java
try {
    driver.executableQuery("...").execute();
} catch (ServiceUnavailableException e) {
    // No servers — check connection
} catch (SessionExpiredException e) {
    // Server closed session — open new one
} catch (TransientException e) {
    // Managed txns retry automatically; explicit txns need manual retry
} catch (Neo4jException e) {
    // Cypher/constraint error — e.code() gives GQL status code
}

Managed transactions auto-retry TransientException — no catch needed.


Data Types & Value Extraction

Cypher typeJava accessor
Integervalue.asLong() / value.asInt()
Floatvalue.asDouble()
Stringvalue.asString()
Booleanvalue.asBoolean()
Listvalue.asList()
Mapvalue.asMap()
Nodevalue.asNode()
Relationshipvalue.asRelationship()
Datevalue.asLocalDate()
DateTimevalue.asZonedDateTime()
UUIDvalue.asUUID() → java.util.UUID [6.2+, Neo4j 2026.08+]
java
var record = result.records().get(0);
String name = record.get("name").asString();
long age    = record.get("age").asLong();

var node = record.get("p").asNode();
String label = node.labels().iterator().next();
Map<String,Object> props = node.asMap();
Null safety — two distinct cases
Situationrecord.get(key).asString()
Key present, value non-nullthe valuereturns string
Key present, value is graph nullValue where .isNull() = truethrows Uncoercible
Key absent (typo / not projected)Value.NULL sentinelthrows NoSuchElementException
java
// Graph null — use default overload (safe only if key is always projected):
String city = record.get("city").asString("Unknown");

// Absent key — check containsKey first:
if (record.containsKey("city") && !record.get("city").isNull()) {
    String city = record.get("city").asString();
}

Object Mapping

Map query results to Java records/classes directly — eliminates manual accessor calls.

java
// Domain record — field names match RETURN aliases (case-sensitive)
public record Person(String name, long age) {}

// Map single record
var person = driver.executableQuery("MATCH (p:Person {name: $name}) RETURN p.name AS name, p.age AS age")
    .withParameters(Map.of("name", "Alice"))
    .withConfig(QueryConfig.builder().withDatabase("neo4j").build())
    .execute()
    .records()
    .stream()
    .map(r -> r.get("name").asString())   // or: r.as(Person.class) — see note
    .findFirst()
    .orElseThrow();

// Using .as(Person.class) — maps RETURN keys to record fields by name
var person2 = driver.executableQuery("""
        MATCH (p:Person {name: $name})
        RETURN p.name AS name, p.age AS age
        """)
    .withParameters(Map.of("name", "Tom Hanks"))
    .withConfig(QueryConfig.builder().withDatabase("neo4j").build())
    .execute()
    .records()
    .stream()
    .map(record -> record.get("p").as(Person.class))
    .findFirst()
    .orElseThrow(() -> new RuntimeException("Person not found"));

Nested mapping — return a map projection and include COLLECT {} for lists:

java
public record Movie(String title, List<Person> actors) {}

var movieCypher = """
    MATCH (movie:Movie)
    LIMIT 1
    RETURN movie {
        .title,
        actors: COLLECT {
            MATCH (actor:Person)-[:ACTED_IN]->(movie)
            RETURN actor
        }
    }
    """;

var movie = driver.executableQuery(movieCypher)
    .withConfig(QueryConfig.builder().withDatabase("neo4j").build())
    .execute()
    .records()
    .stream()
    .map(r -> r.get("movie").as(Movie.class))
    .findFirst()
    .orElseThrow();

Only mapped properties defined in the record are populated — extra properties returned by Cypher are ignored.


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

Performance Patterns

Always specify database — omitting triggers home-db round-trip on every call.

Route reads to replicas — RoutingControl.READ in QueryConfig or use executeRead.

Batch writes with UNWIND — pass List<Map<String,Object>> (plain maps only; custom objects fail):

java
List<Map<String, Object>> rows = people.stream()
    .map(p -> Map.<String, Object>of("name", p.name(), "age", p.age()))
    .toList();

driver.executableQuery("UNWIND $items AS item MERGE (p:Person {name: item.name}) SET p.age = item.age")
    .withParameters(Map.of("items", rows))
    .withConfig(QueryConfig.builder().withDatabase("neo4j").build())
    .execute();

Allowed leaf types in parameter maps: String, Long/Integer/Short/Byte, Double/Float, Boolean, List<?>, Map<String,?>, null. Custom objects and LocalDate must be converted first.

Group writes in one transaction — one executeWrite with a loop, not one executeWrite per iteration.

Connection pool — default 100 connections. Tune if exhausted:

java
Config.builder()
    .withMaxConnectionPoolSize(50)
    .withConnectionAcquisitionTimeout(30, TimeUnit.SECONDS)
    .build()

Common Errors

MistakeFix
String-interpolate Cypher params.withParameters(Map.of(...)) always
Omit database nameSet in QueryConfig / SessionConfig every time
New Driver per requestCreate once at startup; share everywhere
Share Session across threadsOne session per request/thread
Return Result from tx callbackCollect to List/Map inside callback
Leave Result open before next tx.run()Consume before next call
Side effects in managed tx callbackMove outside — callback may retry
Pass custom objects to UNWIND paramsConvert to List<Map<String,Object>>
asString() on graph null.asString("default") or check .isNull()
asString() on absent keycontainsKey() before optional access
Naked tx.rollback() in catchWrap in try/catch; use addSuppressed
Assume commit() failure = no commitCommit uncertainty — design writes idempotent
Block inside async callback (.join())Chain with thenCompose
Skip session close in async error pathexceptionallyCompose to close then re-throw
One transaction per write in loopBatch with UNWIND or group in one callback
executeWrite for a readUse executeRead — routes to replica

References

Load on demand:

  • references/async-reactive.md — full async CompletableFuture patterns, reactive RxSession with Flux.usingWhen, deadlock avoidance
  • references/property-encryption.md — Property Encryption preview [6.3.0+]: envelope profile, key encapsulation services (local, AWS KMS, Azure Key Vault, GCP KMS), key manager, encrypt/decrypt with AAD
  • references/advanced-config.md — full Config.builder() options, TLS, notification filtering, session-level auth, user impersonation, cross-session bookmarks, spatial types (Values.point/WGS-84/Cartesian)

Docs:


Checklist

  • One Driver instance created at startup; closed on shutdown
  • verifyConnectivity() called after driver creation
  • Database name specified in every QueryConfig / SessionConfig
  • Parameters used (never string-interpolated Cypher)
  • Result consumed inside managed transaction callback
  • No side effects inside executeRead/Write callbacks
  • Sessions closed via try-with-resources
  • Async sessions closed in both success and error paths (exceptionallyCompose)
  • ServiceUnavailableException on commit handled as commit-uncertain
  • UNWIND params are List<Map<String,Object>> (no custom objects)
  • containsKey() checked before accessing optional result columns

© 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 4 other files (references) in neo4j-driver-java-skill of neo4j-contrib/neo4j-skills.

  • SKILL.md
  • README.md
  • references/advanced-config.md
  • references/async-reactive.md
  • references/property-encryption.md

Open the folder on GitHubat commit 9005c19

Compare with similar skills

Neo4j Driver Java 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 Driver Java Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Neo4j Driver Java Skill this skillneo4j-contrib/neo4j-skills114—~4.2kAutomated safety check: NotesMIT
Android Audio E2Ehyochan/react-native-nitro-sound961—~814Automated safety check: PassMIT
Harmonica DevKenjiOhtsuka/harmonica131—~742Automated safety check: PassMIT
Kotlin Tooling Immutable Collections 0 5 X MigrationKotlin/kotlin-agent-skills1.1k—~2.3kAutomated safety check: PassApache-2.0
Kotlin Tooling Kotlin ToolchainKotlin/kotlin-agent-skills1.1k—~2.4kAutomated safety check: PassApache-2.0
Apc BuildJoker-x-dev/AndroidProject-Compose102—~553Automated safety check: PassNone

Similar skills

  • Android Audio E2E

    hyochan/react-native-nitro-sound

    Build and run device-backed Android end-to-end checks for react-native-nitro-sound permissions, recording, playback, listeners, pause/resume, seek, speed, audio focus, lifecycle behavior, and rapid…

    961 GitHub stars~814 tokensUpdated 7 days ago
    MobileAuto-check passed
  • Harmonica Dev

    KenjiOhtsuka/harmonica

    A skill your agent uses when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo.

    131 GitHub stars~742 tokensUpdated 15 days ago
    MobileAuto-check passed
  • Kotlin Tooling Kotlin Toolchain

    Kotlin/kotlin-agent-skills

    Load when building, running, testing, packaging, linting, or configuring a Kotlin/Java project with the Kotlin Toolchain (JetBrains' unified CLI, formerly Amper), when scaffolding a new or…

    1.1k GitHub stars~2.4k tokensUpdated 8 days ago
    MobileAuto-check passed
  • Apc Build

    Joker-x-dev/AndroidProject-Compose

    管理 AndroidProject-Compose 的 Gradle、版本目录、SDK、BuildConfig、构建类型、ABI、签名、混淆、应用资源和 APK/AAB 发布流程。用户要求升级依赖、修改构建配置、替换图标或启动页、配置签名、排查构建失败、缩减包体或生成发布包时使用。

    102 GitHub stars~553 tokensUpdated 21 days ago
    MobileAuto-check passed
  • Official

    Audits existing tests in any language using formal, research-backed test smell names and the testsmells.org 19-smell academic taxonomy.

    5.6k GitHub starsUsed in 1 repo~2.5k tokens
    MobileAuto-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~3.8k tokensUpdated today
    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 today
    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 today
    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 today
    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 today
    Auto-check: notes

Questions about Neo4j Driver Java Skill

What does Neo4j Driver Java Skill do?

Neo4j Java Driver v6 — driver lifecycle, Maven/Gradle setup, executableQuery, executeRead/Write managed transactions, explicit transactions, async/reactive patterns, error handling, data type…. Neo4j Driver Java Skill is an agent skill from neo4j-contrib/neo4j-skills. Neo4j Java Driver v6 — driver lifecycle, Maven/Gradle setup, executableQuery, executeRead/Write managed transactions, explicit transactions, async/reactive patterns, error handling, data type mapping, connection pool tuning, causal consistency/bookmarks.

When should I use Neo4j Driver Java Skill?

Neo4j Driver Java Skill fits situations like: kotlin code that connects to Neo4j via GraphDatabase.driver; executableQuery; transactionCallback.

How do I install Neo4j Driver Java Skill in Claude Code?

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

How do I install Neo4j Driver Java Skill in Codex?

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

Can I use Neo4j Driver Java 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-driver-java-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-driver-java-skill, .gemini/skills/neo4j-driver-java-skill, .github/skills/neo4j-driver-java-skill and .opencode/skills/neo4j-driver-java-skill in your project.

What does Neo4j Driver Java Skill need to run?

Going by SKILL.md and its folder, Neo4j Driver Java Skill needs credentials named NEO4J_PASSWORD. Its frontmatter pre-approves these tools: Bash, WebFetch.

Does Neo4j Driver Java Skill access the network?

SKILL.md names 2 domains. As links in the text: neo4j.com and central.sonatype.com. This is read from the text; nothing was executed.

Is Neo4j Driver Java Skill safe to install?

Our automated static check of SKILL.md found notes only (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 Driver Java Skill use?

Neo4j Driver Java 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 Driver Java Skill use?

About 4.2k tokens (SKILL.md is roughly 17k 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 3.4k tokens, read only when the agent opens those files.

What are the alternatives to Neo4j Driver Java Skill?

Skills that share tags, products or a category with Neo4j Driver Java Skill: Android Audio E2E (hyochan/react-native-nitro-sound, 961 stars), Harmonica Dev (KenjiOhtsuka/harmonica, 131 stars), Kotlin Tooling Immutable Collections 0 5 X Migration (Kotlin/kotlin-agent-skills, 1.1k stars) and Kotlin Tooling Kotlin Toolchain (Kotlin/kotlin-agent-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Neo4j Driver Java 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 6, 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.