CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

neo4j-migration-skill

Migrates Neo4j driver code and Cypher queries from older versions (4.x, 5.x) to current (2025.x/2026.x, Cypher 25). Covers Python, JavaScript/Node.js, Java, .NET, and Go drivers — package renames, removed APIs, version requirements, diff-ready fixes. Also handles Cypher syntax migration — QPE paths, CALL subqueries, id() → elementId(), PERIODIC COMMIT → CALL IN TRANSACTIONS, and all Cypher 25 removals. Does NOT write new Cypher queries — use neo4j-cypher-skill. Does NOT cover DB administration or server ops — use neo4j-cli-tools-skill. Does NOT provision new Neo4j instances — use neo4j-getting-started-skill.

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

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

An exceptionally actionable, token-efficient migration skill: every section is executable, the workflow is sequenced with real validation feedback loops, and detailed changelogs are properly offloaded to well-labeled one-level-deep references. The single flaw is an orphaned bundle file (relational-to-graph.md) never referenced from the body.

Suggestions

Either link references/relational-to-graph.md from the body (e.g., under When NOT to Use or References) or remove it from the bundle, since it is currently undiscoverable.

DimensionReasoningScore

Conciseness

Lean and dense throughout — substitution tables, diff blocks, and exact commands with no explanations of concepts Claude already knows. Time-sensitive version information is organized as old→new pattern tables and a version-branched matrix, not free-floating dates. Not 4: there is no over-explanation to trim; every row carries migration-relevant facts.

5 / 5

Actionability

Fully executable guidance: copy-paste diffs for package renames (requirements.txt, pom.xml, go.mod, .csproj), exact replacement tables for every removed API, runnable scan commands in Step 1, per-language test commands, and a concrete curl template for EXPLAIN validation. Not 4: no pseudocode or vague steps; the common cases are covered with exact syntax.

5 / 5

Workflow Clarity

Clear sequence (Entry Criteria → Scan → Cypher migration → Driver migration → Compatibility matrix → Test) with explicit validation checkpoints: 'treat as ERROR — fix before proceeding' for deprecation warnings, 'EXPLAIN' every migrated query, and a final checklist. Not 3 (the batch-operation cap): this is a batch codebase migration and validation feedback loops are present, so the cap for missing validation does not apply.

5 / 5

Progressive Disclosure

Six one-level-deep references, each real, clearly signaled with per-file descriptions and 'Load on demand' framing; core substitution tables appropriately live in the body. Not 5: references/relational-to-graph.md exists in the bundle but is never linked from SKILL.md, leaving it undiscoverable — a minor organization gap.

4 / 5

Total

19

/

20

Passed

Description

83%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 highly specific, well-bounded description that names concrete driver and Cypher migrations across five languages and explicitly routes away sibling-skill triggers. The only structural gap is the absence of a positive 'Use when…' trigger phrase — timing is conveyed solely through negative boundaries.

Suggestions

Add a positive trigger clause, e.g. 'Use when upgrading Neo4j drivers from 4.x/5.x or migrating queries to Cypher 25', to complement the negative boundaries.

Include natural user synonyms such as 'upgrade', 'deprecated APIs', and 'version bump' to broaden trigger coverage.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions with comprehensive coverage: 'package renames, removed APIs, version requirements, diff-ready fixes' plus named Cypher transformations ('id() → elementId()', 'PERIODIC COMMIT → CALL IN TRANSACTIONS') across five languages. Not 4: coverage spans both driver and Cypher migration with named replacements rather than having minor gaps.

5 / 5

Completeness

The 'what' is explicit and rich ('Migrates Neo4j driver code and Cypher queries from older versions (4.x, 5.x) to current'), and 'when' guidance exists via three explicit negative boundary clauses ('Does NOT write new Cypher queries — use neo4j-cypher-skill'), which function as explicit trigger routing. Not 5: there is no positive 'Use when upgrading…' trigger phrase; the 'when' is stated only negatively. Not 3: explicit boundary routing exceeds a merely implied 'when'.

4 / 5

Trigger Term Quality

Good natural keyword coverage — 'Neo4j', 'driver code', 'Cypher queries', 'Python, JavaScript/Node.js, Java, .NET, and Go', 'package renames', 'removed APIs'. Not 5: common synonyms users would say are missing — 'upgrade', 'deprecated', 'version bump' never appear, and no dependency-file terms (pom.xml, requirements.txt). Not 3: far more keyword coverage than a single generic phrase.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Neo4j version migration) with three explicit redirects to sibling skills ('use neo4j-cypher-skill', 'use neo4j-cli-tools-skill', 'use neo4j-getting-started-skill'), which actively disambiguate overlapping triggers. Minimal conflict risk; not 4 because the boundaries are explicit rather than just topically distinct.

5 / 5

Total

18

/

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-migration-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.