CtrlK
BlogDocsLog inGet started
Tessl Logo

neo4j-genai-plugin-skill

Use Neo4j GenAI Plugin ai.text.* functions and procedures for in-Cypher embedding generation, text completion, structured output, chat, tokenization, and batch ingestion. Covers ai.text.embed(), ai.text.embedBatch(), ai.text.completion(), ai.text.structuredCompletion(), ai.text.aggregateCompletion(), ai.text.chat(), ai.text.tokenCount(), ai.text.chunkByTokenLimit(), and provider configuration for OpenAI, Azure OpenAI, VertexAI, and Amazon Bedrock. Requires CYPHER 25. Replaces deprecated genai.vector.encode(). Use when writing pure-Cypher GraphRAG, embedding nodes in-graph, generating structured maps from prompts, or calling LLMs inside Cypher queries. Does NOT handle neo4j-graphrag Python library pipelines — use neo4j-graphrag-skill. Does NOT handle vector index creation/search — use neo4j-vector-index-skill.

76

Quality

96%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

92%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is an excellent, highly actionable skill that covers a complex API surface (9+ functions across embedding, completion, chat, tokenization) with remarkable conciseness and fully executable examples. The workflow clarity is strong with explicit write gates, batch safety patterns, and a comprehensive error troubleshooting table. The only minor weakness is that the content is fairly long for a single file and the referenced bundle file (references/providers.md) is not provided, though the inline provider table covers the essentials.

DimensionReasoningScore

Conciseness

The skill is remarkably efficient — no unnecessary explanations of what embeddings are, what LLMs do, or how Neo4j works. Every section delivers concrete syntax and configuration. The provider table, error table, and deprecation table are all dense and useful. The 'When to Use / When NOT to Use' sections are tight routing guides, not filler.

3 / 3

Actionability

Every function is demonstrated with complete, executable Cypher queries including proper CYPHER 25 prefixes, parameterized keys ($openaiKey), realistic data models (Chunk, Article, Product), and correct procedure signatures. The Pure-Cypher GraphRAG pattern is a fully copy-paste-ready multi-step query. Provider config table gives exact required keys.

3 / 3

Workflow Clarity

The 'Write Gate' section provides an explicit validation workflow: count nodes first, verify config with one test node, use IN TRANSACTIONS for batches, require confirmation before executing. The checklist at the end serves as a pre-flight verification. The Common Errors table provides a feedback loop for troubleshooting. Batch embedding examples include the IN TRANSACTIONS pattern.

3 / 3

Progressive Disclosure

The skill references 'references/providers.md' for full provider config and external docs, which is good progressive disclosure. However, the bundle has no files, so we can't verify the reference exists. The main content is quite long (~250 lines) and could potentially split the GraphRAG pattern or structured output examples into separate reference files, but the inline content is well-organized with clear headers so it remains navigable.

2 / 3

Total

11

/

12

Passed

Description

100%

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 an excellent skill description that thoroughly covers specific capabilities, includes rich natural trigger terms, explicitly states both what and when, and proactively disambiguates from related skills. The explicit negative boundaries are a best practice for avoiding skill conflicts. The description uses proper third-person voice throughout and is information-dense without being padded.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and function names: embedding generation, text completion, structured output, chat, tokenization, batch ingestion, with explicit function references like ai.text.embed(), ai.text.embedBatch(), ai.text.completion(), etc.

3 / 3

Completeness

Clearly answers both 'what' (lists all ai.text.* functions, provider configurations, and capabilities) and 'when' with explicit triggers ('Use when writing pure-Cypher GraphRAG, embedding nodes in-graph, generating structured maps from prompts, or calling LLMs inside Cypher queries'). Also includes explicit negative boundaries for disambiguation.

3 / 3

Trigger Term Quality

Excellent coverage of natural terms a user would say: 'embedding', 'Cypher', 'GraphRAG', 'LLMs inside Cypher', 'structured maps from prompts', 'OpenAI', 'Azure OpenAI', 'VertexAI', 'Amazon Bedrock', plus specific function names like 'ai.text.embed()' and 'genai.vector.encode()' that users would reference directly.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with explicit boundary statements ('Does NOT handle neo4j-graphrag Python library pipelines — use neo4j-graphrag-skill. Does NOT handle vector index creation/search — use neo4j-vector-index-skill.') that directly prevent conflicts with related skills. The niche of in-Cypher AI functions is clearly carved out.

3 / 3

Total

12

/

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

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.