CtrlK
BlogDocsLog inGet started
Tessl Logo

neo4j-driver-python-skill

Neo4j Python Driver v6 — driver lifecycle, execute_query, managed and explicit transactions, async (AsyncGraphDatabase), result handling, data type mapping, error handling, UNWIND batching, connection pool tuning, and causal consistency. Use when writing Python code that connects to Neo4j via GraphDatabase.driver, execute_query, execute_read, execute_write, AsyncGraphDatabase, neo4j.Result, or RoutingControl. Package name is `neo4j` (not neo4j-driver) since v6. Python >=3.10 required. Does NOT handle Cypher query authoring — use neo4j-cypher-skill. Does NOT cover driver upgrades or breaking changes — use neo4j-migration-skill. Does NOT cover GraphRAG pipelines (neo4j-graphrag package) — use neo4j-graphrag-skill.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

80%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A high-quality, action-dense driver reference with excellent progressive disclosure and copy-paste code throughout. Its one weak spot is workflow clarity on batch/destructive write paths, which present idempotency notes and counters but no explicit post-batch validation loop.

Suggestions

Add an explicit validate-after-batch step to the UNWIND section (e.g., compare summary.counters.nodes_created to len(rows) or re-query a sample) so destructive/batch workflows have a checkpoint, lifting workflow_clarity above the cap.

Tighten conciseness by collapsing the standalone dotenv Environment Variables section into a brief pointer or folding it into Driver Lifecycle, and de-duplicate the database_ round-trip note (stated in both Performance and Common Errors).

Consolidate the scattered [6.1+]/[6.2+] version markers into a single version-compatibility note (or a small 'Deprecated since v6' section) to reduce inline time-sensitive clutter.

DimensionReasoningScore

Conciseness

Dense reference-style body with tables, terse bullets, and no beginner-concept padding, but the dotenv environment-variable section and a few restated points (database_ round-trip appears twice) plus inline version markers [6.1+]/[6.2+] keep it just short of lean-and-efficient.

4 / 5

Actionability

Copy-paste-ready code for every core API (driver lifecycle, execute_query, managed tx, async + FastAPI lifespan + gather, error handling, UNWIND batch, pool tuning) plus a mistake→fix Common Errors table and a checklist — fully executable covering common cases.

5 / 5

Workflow Clarity

Multi-step processes carry checkpoints (verify_connectivity, .consume(), exception ordering) and a checklist, but the UNWIND batch and execute_write write paths lack an explicit validate-after-batch verification step, so the destructive/batch cap applies and holds it at 3.

3 / 5

Progressive Disclosure

Clear sections each signal a one-level-deep reference (async.md, data-types.md, performance.md, transactions.md); all four referenced files exist in ./references/ with no nested references, matching the clear-overview anchor exactly.

5 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is exemplary: it states comprehensive concrete capabilities, gives explicit symbol-level trigger terms for when to use it, and delineates three adjacent skills via negative boundaries. It is third-person, concise for its breadth, and free of fluff.

DimensionReasoningScore

Specificity

Enumerates 10+ concrete capabilities — driver lifecycle, execute_query, managed/explicit transactions, async, result handling, data type mapping, error handling, UNWIND batching, pool tuning, causal consistency — matching the comprehensive-coverage anchor; a couple of items are domains rather than crisp verbs but it sits closer to 5 than 4.

5 / 5

Completeness

Explicitly answers both what (the enumerated capabilities) and when ('Use when writing Python code that connects to Neo4j via …') with concrete trigger phrases, and adds negative boundaries — matching the anchor exactly.

5 / 5

Trigger Term Quality

'Use when writing Python code that connects to Neo4j via GraphDatabase.driver, execute_query, execute_read, execute_write, AsyncGraphDatabase, neo4j.Result, or RoutingControl' covers the actual symbol names a developer would type, plus synonyms (neo4j package, AsyncGraphDatabase), matching comprehensive coverage.

5 / 5

Distinctiveness Conflict Risk

Explicit 'Does NOT handle Cypher … use neo4j-cypher-skill', 'Does NOT cover driver upgrades … use neo4j-migration-skill', and 'Does NOT cover GraphRAG … use neo4j-graphrag-skill' carve a clear niche with minimal conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
neo4j-contrib/neo4j-skills
Reviewed

Table of Contents

Is this your skill?

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.