What problem does it solve? Writing correct Neo4j client code in Java or Kotlin requires knowing driver lifecycle rules, transaction APIs, result consumption constraints, and error handling semantics that are easy to get wrong, leading to leaked sessions, ResultConsumedException errors, and non-idempotent writes. ## Core Features & Use Cases - Driver Setup & Lifecycle: Maven/Gradle dependency configuration, single-driver pattern, verifyConnectivity, URI scheme selection, and environment-based credentials. - Transaction APIs: Guidance on choosing between executableQuery, executeRead/executeWrite managed transactions, explicit transactions, async CompletableFuture, and reactive RxSession patterns. - Error Handling & Data Mapping: Covers TransientException retry behavior, commit uncertainty, null-safe value extraction, record-to-Java-class mapping, and UNWIND batch writes. - Use Case: You are building a Spring Boot service that reads and writes Person nodes in Neo4j Aura; the Skill provides the correct executeWrite callback pattern, connection pool tuning, and bookmark handling for causal consistency. ## Quick Start Ask the assistant to write a Java service class that connects to Neo4j Aura and creates Person nodes using managed transactions with proper error handling.