Content
78%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A strong, dense body that is almost entirely non-obvious package-specific knowledge with executable examples, explicit index-ONLINE validation, an error-recovery table, and a clean one-level-deep reference structure. Remaining issues are small: duplicated guard/schema notes, a few context-dependent code fragments, and step numbering that starts at Step 2.
Suggestions
Label the Install section as "Step 1" (or renumber) so the Install → Step 2 → Step 3 → Step 4 sequence is coherent.
Deduplicate the Text2Cypher destructive-query guard (keep it in one place) and move the neo4j_schema trimming note out of the ORDER BY section into the Text2Cypher section.
Make secondary snippets self-contained — the ToolsRetriever example should construct or note the origin of vector_retriever/text2cypher_retriever rather than referencing undefined variables.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense with version-gated API knowledge Claude cannot be assumed to know (auto-routing behavior, import moves, the v1.19–1.22 name-mismatch bug) and almost zero concept padding, but the Text2Cypher destructive-query guard is stated twice ("Security (v1.16.0+): Every LLM-generated Cypher is run through EXPLAIN" and again "Destructive-query guard [v1.16+]") and the neo4j_schema trimming note is duplicated under ORDER BY. Not 5 due to this redundant/misplaced content; not 3 since the over-explanation is minor and localized. | 4 / 5 |
Actionability | The core HybridCypherRetriever pattern is complete and copy-paste ready (full imports, driver setup, retrieval_query, GraphRAG wiring, search call), and install commands, index Cypher, filters, and query_params are all executable. Minor gaps keep it below 5: the ToolsRetriever snippet references undefined variables ("retrievers=[vector_retriever, text2cypher_retriever]") and the VectorCypherRetriever snippet reuses rag/retrieval_query from a prior section without redefinition. | 4 / 5 |
Workflow Clarity | There is a clear sequence — Install → Choose Retriever → Create Indexes → Core Pattern — with an explicit validation checkpoint ("Confirm ONLINE before ingesting... If index not ONLINE: wait, poll every 5s"), a Common Errors recovery table, and a final Verification Checklist. Not 5 because the steps are numbered 2–4 with no labeled Step 1 (Install is unnumbered), a small sequencing incoherence. | 4 / 5 |
Progressive Disclosure | Five real reference files (retrievers.md, providers.md, pipeline-dsl.md, kg-builder.md, knowledge-graph-construction.md) are all exactly one level deep with no nested references, signaled inline ("Full API → references/pipeline-dsl.md") and consolidated in a "Load on demand" References section. The core retrieval flow lives inline while per-retriever constructors, providers, and KG-builder detail are delegated — matching the top anchor. | 5 / 5 |
Total | 17 / 20 Passed |