CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

neo4j-spark-skill

Use when reading from or writing to Neo4j with Apache Spark or Databricks using the Neo4j Connector for Apache Spark 6.0 (org.neo4j.connectors:spark) or 5.x (org.neo4j:neo4j-connector-apache-spark). Covers SparkSession setup, DataFrame reads via labels/Cypher/relationship scan, DataFrame writes with SaveMode, node.keys for MERGE, relationship write mapping, partition and batch tuning, PySpark and Scala examples, Databricks cluster config, Databricks secrets for credentials, Delta Lake to Neo4j pipelines. Does NOT handle Cypher authoring — use neo4j-cypher-skill. Does NOT handle the Python bolt driver — use neo4j-driver-python-skill. Does NOT handle GDS algorithms — use neo4j-gds-skill.

86

1.35x
Quality

92%

Does it follow best practices?

Impact

95%

1.35x

2 of 3 eval scenarios. Add 1 more for a full score.

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

82%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 strong, highly actionable reference skill: executable code in two languages, explicit option names, version guidance, a common-errors recovery table, and a pre-flight checklist, with genuine one-level-deep reference files for full option details. The main gaps are a slightly overweight inline body (version/config detail that could move to references) and missing explicit post-write verification in the batch write pipelines.

Suggestions

Trim the inline 'Key Configuration Options' table to the handful of options needed for common tasks and move the full table (including the [6.0] transaction-metadata and authentication-supplier rows) into a references file, leaving the body a leaner overview.

Add an explicit post-write verification step to the Delta Lake pipeline and MERGE workflows — e.g., a follow-up count/read-back query per label — so batch database writes have a validate-and-confirm checkpoint rather than only pre-flight checks.

Consolidate the version matrix, 6.0 breaking-changes table, and Spark-4 compatibility error rows into a single 'Versions and migration' section (or references file) to reduce duplicated version-sensitive detail scattered across the body.

DimensionReasoningScore

Conciseness

The body is dense and directive — tables and executable code with almost no concept explanation Claude already knows ('Use `coalesce(1)` before relationship writes to avoid deadlocks') — but it carries substantial time-sensitive version detail inline (version matrix, breaking-changes table, [6.0] tags) that partly duplicates the references and could be trimmed, matching the 'efficient; minor instances of over-explanation' anchor rather than the lean score-5 anchor.

4 / 5

Actionability

Fully executable, copy-paste-ready code in both PySpark and Scala for every operation class (reads, node writes, relationship writes, pre-write scripts, Delta pipelines), plus concrete Databricks UI steps, secret commands, exact Maven coordinates, and a Common Errors table with exact fixes. This matches the score-5 anchor: common cases are covered with runnable code.

5 / 5

Workflow Clarity

Sequences are clear — numbered Databricks install steps, 'Step 1: ensure nodes exist / Step 2: write relationships' pipeline, and a pre-flight checklist with constraints and `index.await.timeout` — but there is no explicit post-write verification (e.g., row-count check) or validate→fix→retry loop in the batch write workflows themselves, leaving minor validation gaps consistent with the score-4 anchor rather than score 5.

4 / 5

Progressive Disclosure

Two well-signaled, one-level-deep references ('Full read options reference: [references/read-patterns.md]', write-patterns.md) both exist as real files with no nested references, and exhaustive option tables are correctly split out. However, the ~420-line body still inlines a sizeable Key Configuration Options table plus version/breaking-change detail, fitting the 'most content appropriately placed; minor organization gaps' score-4 anchor better than the lean overview of the score-5 anchor.

4 / 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.

An exemplary description: explicit 'Use when' trigger, comprehensive enumeration of concrete capabilities, natural domain vocabulary, and explicit negative-scope routing to sibling Neo4j skills. It answers what, when, and when-not without padding or over-claiming.

DimensionReasoningScore

Specificity

Lists ten-plus concrete actions — 'SparkSession setup, DataFrame reads via labels/Cypher/relationship scan, DataFrame writes with SaveMode, node.keys for MERGE, relationship write mapping, partition and batch tuning... Databricks secrets for credentials, Delta Lake to Neo4j pipelines' — which is comprehensive, concrete coverage of the connector's capabilities, matching the score-5 anchor; score 4 would require minor gaps in coverage that are not evident.

5 / 5

Completeness

Explicitly answers both questions: 'Use when reading from or writing to Neo4j with Apache Spark or Databricks using the Neo4j Connector...' gives the when with concrete triggers, and the 'Covers...' sentence gives the what in detail. Both are explicit with concrete trigger phrases, matching the score-5 anchor exactly.

5 / 5

Trigger Term Quality

Natural user vocabulary is comprehensively present: 'reading from or writing to Neo4j', 'Apache Spark', 'Databricks', 'PySpark', 'Scala', 'DataFrame', 'Delta Lake', 'MERGE', 'partition' — the exact terms a user with this need would say. The Maven coordinates add precision without displacing natural phrases, so this fits the score-5 anchor rather than the 'a few natural terms missing' score-4 anchor.

5 / 5

Distinctiveness Conflict Risk

Three explicit disambiguation clauses — 'Does NOT handle Cypher authoring — use neo4j-cypher-skill', 'Does NOT handle the Python bolt driver', 'Does NOT handle GDS algorithms' — actively route away sibling skills, giving it a clear niche with minimal conflict risk. This exceeds the score-4 'minor overlap risk' anchor.

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.

Validation — 15 / 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

Path

neo4j-spark-skill/SKILL.md

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.