CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

neo4j-graphrag-skill

Build GraphRAG retrieval pipelines on Neo4j using the neo4j-graphrag Python package (v1.22.0+). Covers retriever selection (VectorRetriever, HybridRetriever, VectorCypherRetriever, HybridCypherRetriever, Text2CypherRetriever, ToolsRetriever), external vector DB retrievers (Weaviate, Pinecone, Qdrant), retrieval_query Cypher fragments, query_params, filters, GraphRAG pipeline wiring (GraphRAG + LLM + prompt), all LLM providers (OpenAI, Anthropic, Gemini/VertexAI, Bedrock, Cohere, Mistral, Ollama), embedder setup, index creation, token usage tracking, Cypher 25 SEARCH clause, and LangChain/LlamaIndex integration. Does NOT handle KG construction — use neo4j-document-import-skill. Does NOT handle plain vector search — use neo4j-vector-index-skill. Does NOT handle GDS analytics — use neo4j-gds-skill. Does NOT handle agent memory — use neo4j-agent-memory-skill.

71

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

92%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, executable, well-gated skill body: copy-paste-ready code for every retriever type, explicit ONLINE-gate validation with polling, an error-to-fix feedback table, and a verification checklist. Deductions are minor — a duplicated security note, changelog-style version trivia, and cosmetic sequencing glitches (step numbering begins at 'Step 2', one misplaced paragraph).

DimensionReasoningScore

Conciseness

The body is lean and code-first: no concept explanations, dense tables, and terse version notes ('Auto-injected variables: node (matched node) score (similarity float)'). Minor over-explanation and duplication could be trimmed — the Text2Cypher EXPLAIN guard is stated twice ('Security (v1.16.0+): Every LLM-generated Cypher is run through EXPLAIN first' and again as 'Destructive-query guard [v1.16+]'), and the dense component-import/pipeline-DSL version notes read like changelog entries — so this is efficient with minor instances of over-explanation rather than the every-token-earns-its-place anchor 5.

4 / 5

Actionability

The core pattern is complete and copy-paste ready (full imports, driver, embedder, retrieval_query, GraphRAG wiring, search call), and every subsequent section adds executable code: install extras commands, index-creation Cypher, filters with the full operator list, query_params, custom RagTemplate, and a Common Errors table mapping each error to a concrete fix. Specific examples cover the common cases, matching anchor 5.

5 / 5

Workflow Clarity

The workflow is explicitly sequenced (Install → Choose Retriever → Create Indexes → Core Pattern → Verification) with real validation checkpoints and feedback loops: 'Confirm ONLINE before ingesting… Do NOT start ingestion until ONLINE' with 5-second polling, an error-recovery table keyed by exact exception messages, and a final Verification Checklist. The only blemishes are cosmetic (numbering starts at 'Step 2', and a schema-trimming note sits oddly under ORDER BY), which does not rise to the 'minor validation gaps' of anchor 4.

5 / 5

Progressive Disclosure

The body acts as an overview with well-signaled, one-level-deep references: all five linked files exist in references/ (retrievers.md, providers.md, pipeline-dsl.md, kg-builder.md, knowledge-graph-construction.md), each link states what it contains and is placed at the relevant section ('Full API → [references/pipeline-dsl.md]'), and the reference files link only back to SKILL.md — no nesting. Content is appropriately split between inline essentials and on-demand detail, matching anchor 5.

5 / 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, third-person description with comprehensive capability enumeration and excellent sibling-skill disambiguation. Its only weakness is the absence of a positive 'Use when…' trigger clause — triggering is conveyed solely through exclusion boundaries — which leaves completeness just short of full marks.

DimensionReasoningScore

Specificity

The description enumerates many concrete, verifiable actions — 'retriever selection (VectorRetriever, HybridRetriever, VectorCypherRetriever, HybridCypherRetriever, Text2CypherRetriever, ToolsRetriever)', 'retrieval_query Cypher fragments, query_params, filters', 'embedder setup, index creation, token usage tracking' — with no vague filler. Coverage of the package's surface is comprehensive, matching the anchor-5 example that lists multiple specific concrete actions.

5 / 5

Completeness

The 'what' is fully explicit ('Build GraphRAG retrieval pipelines on Neo4j using the neo4j-graphrag Python package (v1.22.0+). Covers…'), and the 'when' is addressed via explicit negative trigger guidance ('Does NOT handle KG construction — use neo4j-document-import-skill', plus three more redirects), which functions as equivalent trigger guidance and so avoids the score-3 cap. It sits between anchors 3 and 4 because no positive 'Use when…' phrase exists — the 'when' is conveyed only by exclusion — placing it noticeably above the weakly-implied anchor 3 but below the explicit both-what-and-when anchor 5.

4 / 5

Trigger Term Quality

Strong natural terms are present ('GraphRAG retrieval pipelines', 'Neo4j', 'plain vector search', 'hybrid', 'LangChain/LlamaIndex integration'), which users of this domain would actually say. However, the retriever list leans on technical class names, and common user phrasings like 'RAG', 'retrieval-augmented generation', or 'chat with my knowledge graph' are missing — good coverage with a few natural terms absent, so anchor 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

The description pins a distinct niche (GraphRAG retrieval on Neo4j via a named package and version) and explicitly disambiguates against four sibling skills by name ('Does NOT handle KG construction — use neo4j-document-import-skill… Does NOT handle GDS analytics — use neo4j-gds-skill'), giving minimal conflict risk — a clear anchor-5 match.

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