CtrlK
BlogDocsLog inGet started
Tessl Logo

neo4j-agent-memory-skill

Authoritative reference for the neo4j-agent-memory Python package — a graph-native memory system for AI agents built on Neo4j — and for the hosted service (NAMS) at memory.neo4jlabs.com. Use this skill whenever the user mentions neo4j-agent-memory, agent memory with Neo4j, context graphs, the POLE+O model, MemoryClient/MemorySettings, the memory MCP server, or any of the framework integrations (LangChain, PydanticAI, CrewAI, AWS Strands, Google ADK, Microsoft Agent Framework, OpenAI Agents, LlamaIndex). Also use when the user mentions the hosted service at memory.neo4jlabs.com, NAMS, the Neo4j Agent Memory Service, the `nams_` API key prefix, or the hosted MCP endpoint. Also use when writing documentation, blog posts, tutorials, PRDs, or code samples for the project, when comparing agent memory approaches, or when positioning graph-native memory against vector-only approaches — even if the user doesn't explicitly name the package.

60

Quality

70%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Optimize this skill with Tessl

npx tessl skill review --optimize ./neo4j-agent-memory-skill/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%

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

The skill is comprehensive and highly actionable with excellent executable examples, correct import paths, and concrete CLI commands. However, it is significantly over-length, mixing technical reference with marketing/positioning guidance, editorial checklists, and repeated version disclaimers — much of which doesn't help Claude execute tasks. The monolithic structure and lack of multi-step validated workflows further weaken it.

Suggestions

Reduce token count by 50%+: move positioning language, 'Do Say/Don't Say', diagram conventions, documentation structure philosophy, and common corrections into separate bundle files (e.g., POSITIONING.md, DIAGRAM_CONVENTIONS.md, EDITORIAL_CHECKLIST.md) and reference them from the main skill.

Remove repeated version disclaimers — state once at the top that version numbers must be verified against PyPI, then don't repeat the warning.

Add an explicit end-to-end setup workflow with validation checkpoints: e.g., 1) Start Neo4j → 2) pip install → 3) Run quickstart → 4) Verify output contains expected context → 5) If error, check connection string.

Cut explanatory content Claude already knows (e.g., what POLE stands for can be a one-liner, not a bulleted list with descriptions; the Diataxis framework reference is unnecessary context).

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~400+ lines. It includes extensive positioning language, marketing guidance ('Do Say / Don't Say'), diagram color conventions, documentation philosophy (Diataxis), competitive framing advice, and repeated checklists — much of which is not actionable technical instruction. Sections like 'Positioning Language' and 'Common Corrections to Watch For' are editorial guidelines, not skill content Claude needs to execute tasks. The version disclaimer is repeated multiple times.

1 / 3

Actionability

The skill provides fully executable code examples: the Python quickstart with async context manager, MCP server invocation commands, Claude Code/Desktop registration configs, pip install commands with extras, and framework integration import paths. These are copy-paste ready and specific.

3 / 3

Workflow Clarity

The skill covers individual tasks well (install, configure, register MCP) but lacks explicit multi-step workflows with validation checkpoints. For example, there's no 'set up from scratch' workflow that sequences database setup → install → configure → verify connection → store first memory → validate retrieval. The quickstart code is a single block without verification steps.

2 / 3

Progressive Disclosure

The skill references external resources (PyPI, GitHub, canonical docs, cross-reference skills like excalidraw and neo4j-styleguide) and points to canonical examples in the repo. However, with no bundle files provided, all content is monolithic in a single very long file. Sections like the full extras list, positioning language, diagram conventions, and the corrections checklist could be split into separate reference files to keep the main skill lean.

2 / 3

Total

8

/

12

Passed

Description

89%

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 skill description with excellent trigger term coverage and completeness, clearly specifying both what the skill covers and when to use it. Its main weakness is that the 'what' portion focuses on being an 'authoritative reference' rather than listing specific concrete actions the skill enables. The description could benefit from briefly enumerating the specific tasks it helps with (e.g., configuring connections, storing/retrieving memories, setting up integrations) rather than relying on the reference-guide framing.

Suggestions

Add 2-3 concrete action verbs describing what the skill does beyond being a 'reference' — e.g., 'Configures MemoryClient connections, implements framework integrations, and troubleshoots graph-native memory setups.'

DimensionReasoningScore

Specificity

The description names the domain (neo4j-agent-memory Python package, hosted service NAMS) and mentions some actions like 'writing documentation, blog posts, tutorials, PRDs, or code samples' and 'comparing agent memory approaches,' but it doesn't list concrete technical actions the skill performs (e.g., 'configure MemoryClient connections, store and retrieve agent memories, set up framework integrations'). It reads more as a reference guide scope than a list of concrete capabilities.

2 / 3

Completeness

The description clearly answers both 'what' (authoritative reference for the neo4j-agent-memory Python package and hosted NAMS service) and 'when' with extensive explicit trigger guidance using 'Use this skill whenever...' and 'Also use when...' clauses covering multiple scenarios including direct mentions, framework integrations, content creation, and comparative discussions.

3 / 3

Trigger Term Quality

Excellent coverage of natural trigger terms including package names (neo4j-agent-memory, MemoryClient, MemorySettings), service names (NAMS, memory.neo4jlabs.com), API key prefix (nams_), framework integrations (LangChain, PydanticAI, CrewAI, AWS Strands, Google ADK, etc.), conceptual terms (POLE+O model, context graphs, graph-native memory), and content types (documentation, blog posts, tutorials). Users would naturally mention many of these terms.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with very specific triggers tied to a particular package (neo4j-agent-memory), service (NAMS), API prefix (nams_), and domain-specific concepts (POLE+O model, graph-native memory). The last clause about 'even if the user doesn't explicitly name the package' slightly broadens scope, but the overall niche is clear and unlikely to conflict with other skills.

3 / 3

Total

11

/

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.