Build GraphRAG retrieval pipelines on Neo4j using the neo4j-graphrag Python package (formerly neo4j-genai). Covers retriever selection (VectorRetriever, HybridRetriever, VectorCypherRetriever, HybridCypherRetriever, Text2CypherRetriever), retrieval_query Cypher fragments, query_params, pipeline wiring (GraphRAG + LLM), embedder setup, index creation, and LangChain/LlamaIndex integration. Does NOT handle KG construction from documents — 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.
66
80%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./neo4j-graphrag-skill/SKILL.mdQuality
Discovery
82%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong, highly specific description with excellent trigger terms and outstanding distinctiveness through explicit boundary-setting with sibling skills. Its main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know exactly when to select this skill. Adding that clause would elevate this from a good description to an excellent one.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about building RAG pipelines with Neo4j, configuring graph-based retrievers, or integrating neo4j-graphrag with LangChain or LlamaIndex.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: retriever selection (with five named retrievers), retrieval_query Cypher fragments, query_params, pipeline wiring, embedder setup, index creation, and LangChain/LlamaIndex integration. Highly specific and actionable. | 3 / 3 |
Completeness | The 'what' is thoroughly covered with specific capabilities and explicit exclusions pointing to other skills. However, there is no explicit 'Use when...' clause or equivalent trigger guidance telling Claude when to select this skill, which caps completeness at 2 per the rubric guidelines. | 2 / 3 |
Trigger Term Quality | Excellent coverage of natural terms: 'GraphRAG', 'Neo4j', 'neo4j-graphrag', 'neo4j-genai', 'VectorRetriever', 'HybridRetriever', 'Text2CypherRetriever', 'retrieval_query', 'LangChain', 'LlamaIndex', 'embedder', 'Cypher'. These are terms users working in this domain would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Exceptionally distinctive — explicitly delineates boundaries with four named sibling skills (neo4j-document-import-skill, neo4j-vector-index-skill, neo4j-gds-skill, neo4j-agent-memory-skill) using 'Does NOT handle' clauses, making conflict risk very low. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, highly actionable skill with excellent workflow clarity — the decision tree for retriever selection, explicit validation checkpoints for index creation, and the comprehensive checklist are standout features. The main weaknesses are moderate verbosity (some sections like LLM/embedder import lists add limited value inline) and the progressive disclosure could be improved by offloading reference material to bundle files that are confirmed to exist.
Suggestions
Move the Embedder Quick Reference and LLM Quick Reference sections to the referenced `references/retrievers.md` file to reduce main file length and improve progressive disclosure.
Ensure the referenced `references/retrievers.md` bundle file actually exists and contains the promised full retriever API documentation.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient with good use of tables and code blocks, but includes some unnecessary content like the full LLM quick reference (just a list of imports Claude already knows how to use), and the embedder dimension mapping could be more compact. The common errors table is valuable but a few entries (like the coroutine/asyncio one) are general Python knowledge. | 2 / 3 |
Actionability | Excellent executable code throughout — complete working examples for HybridCypherRetriever, query_params, filters, VectorRetriever, Text2CypherRetriever, custom prompts, and index creation. All code is copy-paste ready with clear variable names and inline comments explaining critical constraints (e.g., `node` and `score` auto-injected). | 3 / 3 |
Workflow Clarity | Clear numbered steps from install through retriever selection, index creation, core pattern, and advanced features. Includes explicit validation checkpoints (verify indexes are ONLINE before proceeding, poll every 5s), a decision tree for retriever selection, a failure recovery section, and a comprehensive checklist. The retrieval_query constraints are called out with bold warnings. | 3 / 3 |
Progressive Disclosure | References a `references/retrievers.md` file for full API details, which is good progressive disclosure, but no bundle files are provided to verify this exists. The main SKILL.md is quite long (~250+ lines) and some sections like the full embedder/LLM import lists and the common errors table could potentially be moved to reference files. The 'When NOT to Use' section with cross-references to other skills is well done. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
66ed0e1
Table of Contents
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.