CtrlK
BlogDocsLog inGet started
Tessl Logo

neo4j-spark-skill

Use when reading from or writing to Neo4j with Apache Spark or Databricks using the Neo4j Connector for Apache Spark (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.

91

1.49x
Quality

87%

Does it follow best practices?

Impact

100%

1.49x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

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 dense, highly actionable reference with executable code for every common read/write scenario, a useful error-recovery table, and a closing checklist. It is well-structured with appropriately offloaded reference files; the main gaps are time-sensitive version numbers not segregated into a deprecated section and the absence of inline post-write verification steps.

Suggestions

Move version-specific details (connector 5.4.x, Spark 3.3/3.4/3.5, runtime versions) into a clearly dated 'Version compatibility' note or a separate references file so stale numbers don't consume context tokens.

Add an inline post-write verification step to the write workflows (e.g., a count-back read or constraint existence check) to turn the closing Checklist into an explicit validate→fix→retry loop within the workflow.

Consider collapsing the redundant PySpark and Scala setup snippets into one language with a note, or moving the second language into a reference file, to tighten the token budget.

DimensionReasoningScore

Conciseness

Largely lean and code/table/checklist-driven with minimal prose padding, but the Version Matrix embeds time-sensitive version numbers (5.4.x, Spark 3.3/3.4/3.5) outside any deprecated/old-patterns section, which the rubric penalizes for token efficiency.

4 / 5

Actionability

Fully executable, copy-paste-ready code throughout — setup, label/Cypher/relationship reads, Append/Overwrite node writes, relationship writes, the Delta Lake pipeline, and tuning — with specific options and concrete Databricks library-install steps covering the common cases.

5 / 5

Workflow Clarity

Batch/database operations are sequenced (Delta pipeline Step 1 nodes → Step 2 relationships) with a verification Checklist and a Common Errors error→cause→fix feedback table plus constraint-before-MERGE and coalesce(1) warnings; capped below 5 because there is no inline post-write validation checkpoint (e.g., a row-count verify).

4 / 5

Progressive Disclosure

Clear section structure with two real one-level-deep reference files (read-patterns.md, write-patterns.md) signaled inline at natural points ('Full read options reference: [references/read-patterns.md]'); common patterns stay inline while the full option catalog is offloaded, though the ~360-line body could arguably trim some dual PySpark/Scala examples.

4 / 5

Total

17

/

20

Passed

Description

92%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.

A precise, well-bounded description that names the specific connector, enumerates concrete capabilities, and provides explicit use-when triggers plus negative boundary guidance to three sibling skills. The only minor gap is missing synonyms (ETL, ingestion) for maximal trigger-term coverage.

DimensionReasoningScore

Specificity

Lists multiple 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' — giving comprehensive coverage of the connector's capabilities.

5 / 5

Completeness

Explicitly answers both 'what' ('Covers SparkSession setup, DataFrame reads...') and 'when' ('Use when reading from or writing to Neo4j with Apache Spark or Databricks...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Strong natural terms users would say ('Neo4j', 'Apache Spark', 'Databricks', 'PySpark', 'Scala', 'Delta Lake'), but missing common synonyms like 'ETL', 'ingestion', or 'graph database' that the anchor-5 example expects.

4 / 5

Distinctiveness Conflict Risk

Clear niche (the Neo4j Spark Connector) with explicit negative boundary guidance — 'Does NOT handle Cypher authoring', 'Does NOT handle the Python bolt driver', 'Does NOT handle GDS algorithms' — minimizing wrong-skill triggering.

5 / 5

Total

19

/

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.