CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

neo4j-security-skill

Programmatic security management in Neo4j — RBAC/ABAC, user lifecycle (CREATE/ALTER/DROP USER), role lifecycle (CREATE/GRANT ROLE/DROP ROLE), privilege grants and denies (GRANT/DENY/REVOKE on graph, database, DBMS), property-level access control, sub-graph access control, SHOW PRIVILEGES inspection, and auth provider config reference (LDAP, OIDC/SSO). Use when an agent needs to manage users, roles, or privileges programmatically via Cypher on the system database. Does NOT handle Cypher query writing — use neo4j-cypher-skill. Does NOT handle cluster ops or backups — use neo4j-cli-tools-skill. Property-level security and ABAC require Enterprise Edition.

83

1.04x
Quality

89%

Does it follow best practices?

Impact

95%

1.04x

2 of 3 eval scenarios. Add 1 more for a full score.

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%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 strong, highly actionable reference body: executable Cypher everywhere, a verification-bearing checklist, and sensible overflow to one real reference file. The main headroom is tightening overlap between the decision table and pattern sections, and offloading the inline auth-provider config to a reference.

Suggestions

Add a short verify→fix→retry note to the checklist (e.g. 'If SHOW PRIVILEGES reveals an unexpected grant/deny, REVOKE it and re-verify') to close the feedback loop for incorrect privilege changes.

Move the §9 auth provider config block (LDAP/OIDC neo4j.conf settings) into a references/auth-providers.md file, keeping only a pointer and the restart caveat in SKILL.md.

Trim duplication between the §3 decision table and §4/§5 examples — e.g. drop the property-read rows from §3 since §5 covers property-level control in full.

DimensionReasoningScore

Conciseness

Command-first sections with terse, version-tagged comments keep the body dense, and version markers ([2026.06+], [2026.09], Cypher 25) are load-bearing rather than padding. Minor trimmable material remains: slight overlap between the §3 decision table and §4/§5 examples, and a few restated basics ('CHANGE REQUIRED (default): forces password change on first login').

4 / 5

Actionability

Nearly everything is copy-paste-ready Cypher: parameterized passwords ('CREATE USER $username SET PASSWORD $password'), idempotent guards ('DROP USER alice IF EXISTS', 'CREATE ROLE analyst IF NOT EXISTS'), a goal→command decision table, and complete role recipes covering common cases.

5 / 5

Workflow Clarity

The 'Checklist — New Role Setup' sequences the full process with explicit verification steps ('Run SHOW ROLE ... PRIVILEGES AS COMMANDS to verify', 'Test with SHOW USER ... PRIVILEGES AS COMMANDS') and the mandatory write gate adds a pre-execution checkpoint. A 3-cap does not apply since validation is present, but no explicit verify→fix→retry loop is spelled out for failed or incorrect grants.

4 / 5

Progressive Disclosure

A single real, one-level-deep reference (references/privilege-reference.md, no nested links) is well signaled at three natural exit points (§5 PBAC edge cases, §6 Infinigraph note, closing full-syntax pointer). The 439-line body still inlines operational bulk — notably §9's auth provider config block — that could be split into a second reference file.

4 / 5

Total

17

/

20

Passed

Description

92%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.

An exemplary description: comprehensive concrete capabilities, an explicit use-when clause, and clear negative triggers that deconflict sibling skills. Only minor synonym coverage (e.g. 'permissions') is missing.

DimensionReasoningScore

Specificity

The description enumerates concrete, distinct actions — 'user lifecycle (CREATE/ALTER/DROP USER)', 'privilege grants and denies (GRANT/DENY/REVOKE on graph, database, DBMS)', 'property-level access control, sub-graph access control', 'SHOW PRIVILEGES inspection', 'auth provider config reference (LDAP, OIDC/SSO)' — matching every major capability in the body with no gaps.

5 / 5

Completeness

Explicitly answers both what (the enumerated capability list) and when ('Use when an agent needs to manage users, roles, or privileges programmatically via Cypher on the system database'), with concrete trigger phrases throughout.

5 / 5

Trigger Term Quality

Strong natural phrasing ('manage users, roles, or privileges', 'access control', RBAC/ABAC, LDAP, OIDC/SSO, grants) that users would actually say, but a few common variations are absent (e.g. 'permissions', 'password reset', 'suspend/lock user').

4 / 5

Distinctiveness Conflict Risk

Explicit negative triggers cleanly separate neighboring skills ('Does NOT handle Cypher query writing — use neo4j-cypher-skill'; 'Does NOT handle cluster ops or backups — use neo4j-cli-tools-skill'), and the Neo4j security/RBAC niche is unambiguous.

5 / 5

Total

19

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

neo4j-contrib/neo4j-skills

Path

neo4j-security-skill/SKILL.md

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.