CtrlK
BlogDocsLog inGet started
Tessl Logo

neo4j-graphrag-skill

Build GraphRAG retrieval pipelines on Neo4j using the neo4j-graphrag Python package (v1.16.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, 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.

69

Quality

86%

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

88%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 highly actionable, well-sequenced skill body with strong validation checkpoints and a useful error/verification apparatus. The chief weaknesses are duplicated selection content and underused bundle reference files.

Suggestions

Remove the duplicated retriever-selection decision tree and table (keep either the 'Retriever Selection' or 'Step 2 — Choose Retriever' version) to recover tokens.

Move the bulk provider/embedder tables and per-retriever code into the existing ./references/ files (e.g., retrievers.md) and link them from the body so progressive disclosure is actually exercised.

Consolidate the two Text2Cypher destructive-query guard statements into a single authoritative callout.

DimensionReasoningScore

Conciseness

Dense, code-forward body that avoids explaining concepts Claude already knows, but the retriever-selection decision tree and table are duplicated (Retriever Selection section and 'Step 2 — Choose Retriever') and the Text2Cypher destructive-query guard is restated twice, costing unnecessary tokens.

4 / 5

Actionability

Copy-paste-ready executable code for every retriever, index creation, filters, query_params, embedders, and all LLM providers, plus a Common Errors fix table and a verification checklist, fully covering the common cases.

5 / 5

Workflow Clarity

Clear sequenced workflow (Install -> Choose Retriever -> Create Indexes -> Core Pattern) with an explicit ONLINE validation checkpoint ('Do NOT start ingestion until ONLINE', poll every 5s) and a final Verification Checklist, satisfying the explicit-validation + checklist anchor for fragile database operations.

5 / 5

Progressive Disclosure

Good section structure, but a large amount of reference-grade material (full provider/embedder tables and every retriever's complete code) is inlined rather than split out, and the three existing ./references/ bundle files are never linked from the body, so the bundle structure goes unused.

4 / 5

Total

18

/

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 precise, comprehensive description with strong negative-boundary disambiguation that makes the skill's niche unambiguous. The main gap is the absence of an affirmative 'Use when...' trigger phrase, with trigger guidance expressed primarily through exclusions.

Suggestions

Add an explicit affirmative trigger phrase such as 'Use when building GraphRAG retrieval pipelines with the neo4j-graphrag package' to strengthen the positive 'when' guidance.

Soften the leading technical enumeration with one or two everyday user phrases (e.g., 'graph-augmented RAG', 'hybrid vector + knowledge-graph search') to broaden trigger-term naturalness.

DimensionReasoningScore

Specificity

Enumerates multiple concrete actions (retriever selection, retrieval_query fragments, pipeline wiring, embedder setup, index creation, token tracking) across a comprehensive list of retrievers, LLM/embedder providers, and external vector DBs, matching the 'comprehensive coverage' anchor.

5 / 5

Completeness

Explicitly states both what (build GraphRAG pipelines covering enumerated capabilities) and when, but the 'when' is articulated mainly through seven 'Does NOT handle -> use <skill>' boundary clauses rather than an affirmative 'Use when...' trigger phrase, keeping it below a 5.

4 / 5

Trigger Term Quality

Contains strong natural terms ('GraphRAG retrieval pipelines', 'vector search', 'hybrid search') plus concrete provider names, but leans technical (package name, retriever class names) and lacks everyday synonyms, so it sits just below the fully comprehensive anchor.

4 / 5

Distinctiveness Conflict Risk

Four explicit 'Does NOT handle -> use <other-skill>' disambiguations carve a precise niche and minimize conflict with sibling skills (vector-index, gds, document-import, agent-memory), matching the 'clear niche, minimal conflict risk' anchor.

5 / 5

Total

18

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (556 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

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.