CtrlK
BlogDocsLog inGet started
Tessl Logo

neo4j-nvl-skill

Neo4j Visualization Library (NVL) — framework-agnostic graph rendering for the browser. Covers @neo4j-nvl/base (NVL class, nodes/relationships, Canvas vs WebGL renderer), @neo4j-nvl/interaction-handlers (ZoomInteraction, PanInteraction, DragNodeInteraction, ClickInteraction, HoverInteraction, BoxSelectInteraction, LassoInteraction, KeyboardInteraction), and @neo4j-nvl/react (InteractiveNvlWrapper, BasicNvlWrapper, StaticPictureWrapper). Use when rendering a Neo4j graph in a browser, feeding driver results through nvlResultTransformer, choosing Canvas vs WebGL, wiring node/relationship click/hover/drag handlers, or embedding NVL in React, Vite, or vanilla JS apps. Does NOT handle Cypher query authoring — use neo4j-cypher-skill. Does NOT handle driver lifecycle, sessions, or executeQuery setup — use neo4j-driver-javascript-skill. Does NOT handle GraphVisualization/Needle default embed — use @neo4j-ndl/react.

72

Quality

89%

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

86%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 well-structured, actionable skill body that splits detail into reference files and leads with executable code and decision tables. Minor conciseness gains are possible by deduplicating boundary guidance already in the frontmatter.

Suggestions

Remove or condense the 'When NOT to Use' boundary list in the body since the frontmatter description already enumerates the same exclusions, to reduce token duplication.

Tighten the Install section's peer-requirement prose into a short bulleted list of constraints (React 19, layout-workers transitive, neo4j-driver peer only with transformer).

DimensionReasoningScore

Conciseness

Mostly lean — terse decision tables and copy-paste code with no padding about what a graph or library is — though boundary guidance and some package descriptions repeat content already present in the frontmatter and a few sections could be tightened.

4 / 5

Actionability

Provides fully executable, copy-paste-ready code across vanilla JS, React wrappers, driver wiring, and hit testing, with specific options objects, method calls, and explicit teardown patterns covering the common cases.

5 / 5

Workflow Clarity

Sequences install → paradigm → renderer → container → wiring → teardown with a closing checklist and explicit destroy() validation checkpoints, though some checkpoints are advisory rather than enforced feedback loops.

4 / 5

Progressive Disclosure

The body is an overview with the bulk API surface and troubleshooting split into real, one-level-deep reference files (api-surface.md, troubleshooting.md) that are clearly signaled with markdown links, making navigation easy.

5 / 5

Total

18

/

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, trigger-rich description that clearly delineates scope and boundaries against sibling Neo4j skills. The only minor gap is a few additional natural user phrasings that could broaden trigger coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities — rendering graphs, feeding driver results through nvlResultTransformer, choosing Canvas vs WebGL, wiring click/hover/drag interactions, and embedding in React/Vite/vanilla JS — with named packages and classes, giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both 'what' (framework-agnostic graph rendering across three named packages and their classes) and 'when' (a concrete 'Use when...' clause enumerating trigger scenarios).

5 / 5

Trigger Term Quality

Strong natural trigger phrases ('rendering a Neo4j graph in a browser', 'wiring node/relationship click/hover/drag handlers', 'embedding NVL in React, Vite, or vanilla JS apps') with synonyms, though a few common user phrasings are not covered.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (browser graph rendering) and adds explicit negative boundary guidance ('Does NOT handle Cypher', driver lifecycle, or Needle defaults) pointing to sibling skills, minimizing mis-trigger risk.

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.