Creator · neo4j-contrib
Last updated · Sep 1, 2026
Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x.
Creator · neo4j-contrib
Last updated · Sep 1, 2026
Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x.
Creator · neo4j-contrib
Last updated · Sep 1, 2026
Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x.
Creator · neo4j-contrib
Last updated · Sep 1, 2026
Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x.
Install targets
Codex install prompt
Install the "neo4j-cypher-skill" agent skill from https://github.com/neo4j-contrib/neo4j-skills/tree/main/neo4j-cypher-skill. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"neo4j-contrib-neo4j-cypher-skill","task":"Install neo4j-cypher-skill","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Maintenance
fresh
16d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
101
67/100 Quality · 65/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
101 GitHub stars
Repo activity
101 stars, 35 forks
Maintenance
16d since push
License
MIT
Install
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillDo not use when
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Agent should check
Copy prompt
Task: Use neo4j-cypher-skill in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Install command: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
LLM text format
/api/skills/neo4j-contrib-neo4j-cypher-skill/install?format=text
Find alternatives
/api/skills/search?q=neo4j-cypher-skill&limit=3
Agent prompt
Use neo4j-cypher-skill for this task. Review https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install, then install with: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill
LLM text
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill?format=text
Install alias
/api/registry/install/neo4j-contrib-neo4j-cypher-skill
Recommend
/api/registry/recommend?task=Use%20neo4j-cypher-skill%20in%20an%20agent%20workflow&limit=3
Agent fit
Database and SQL
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Database and SQL
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
INFO101 GitHub stars
Stars/forks activity
CHECK101 stars, 35 forks; issue activity unavailable in current metadata
Recent maintenance
PASS16d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Work with data stores
I need my agent to inspect database schemas, write SQL, and explain query results.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Ingest, retrieve, and cite
A workflow for document-heavy agents that ingest files, create searchable knowledge, retrieve relevant context, and answer with grounded sources.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: neo4j-cypher-skill description: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. Use when writing new Cypher queries, optimizing slow queries, graph pattern matching, vector or fulltext search, subqueries, or batch writes. Covers MATCH, MERGE, CREATE, WITH, RETURN, CALL, UNWIND, FOREACH, LOAD CSV, SEARCH, expressions, functions, indexes, and subqueries. Does NOT handle driver migration or API changes — use neo4j-migration-skill. Does NOT cover DB administration or server ops — use neo4j-cli-tools-skill. compatibility: Neo4j >= 2025.01 (safe baseline); Cypher 25 version: 1.0.22 ---
## When to Use - Writing, optimizing, or debugging Cypher queries - Graph pattern matching, QPEs, variable-length paths - Vector/fulltext search, subqueries, batch writes, LOAD CSV
## When NOT to Use - **Driver migration/API changes** → `neo4j-migration-skill` - **DB admin** (users, config, backups) → `neo4j-cli-tools-skill` - **Hybrid search that combines vector with fulltext or other ranked sources** → `neo4j-vector-index-skill`
GQL conformance note: `LET`, `FINISH`, `FILTER`, and `INSERT` are valid Cypher 25 clauses (introduced via GQL conformance, mostly in Neo4j 2025.06). On older versions, fall back to `WITH` / (omit RETURN) / `WHERE` / `CREATE`. `INSERT` requires `&`-separated multi-labels and does not support dynamic labels/types.
---
## Pre-flight
| ? | Known | Unknown | |---|---|---| | `<db-name>-schema.json` found in project | Use it directly — skip live inspection | — | | Schema (from context or live DB) | Use directly | Run Schema-First Protocol | | Neo4j version | Use version features | Default to 2025.01 safe set | | Executing (not generating)? | Use EXPLAIN + write gate | State query is unvalidated |
Schema unknown + no tool → produce non-executable sketch outside a code block: ``` (<SOURCE_LABEL> {<KEY>: $value})-[:<REL_TYPE>]->(<TARGET_LABEL>) ``` Never fill guessed names — realistic guesses get copied blindly.
---
## Defaults — apply every query
1. `CYPHER 25` — first token; never repeat after `UNION` or inside subqueries 2. Schema first — inspect before writing; if schema in prompt, use it directly 3. `MERGE` on constrained key only; rel `MERGE` on already-bound endpoints only 4. Label-free `MATCH (n)` forbidden unless bound or followed by `WHERE n:$($label)` 5. `LIMIT 25` default on all exploratory reads; push `WITH n LIMIT` before high-cardinality operations (variable-length traversals, fan-out MATCH, Cartesian products) 6. Comments: `//` only — `--` is SQL, invalid 7. `REPEATABLE ELEMENTS` / `DIFFERENT RELATIONSHIPS` go after `MATCH`, not end of pattern 8. `SHOW` commands: `YIELD` before `WHERE`; combinable with general Cypher clauses incl. `UNION`/`RETURN` [2026.05] — `SHOW DATABASES` still requires system db (use `USE system`). `CALL` on `system` db: `YIELD` then `WHERE` [2026.07] 9. Inline node predicates `(:Label WHERE p=x)` — valid in `MATCH` only 10. `WHERE` cannot follow bare `UNWIND` — use `WITH x WHERE` 11. `(a)-[:R]-(b)` — undirected matches both directions, double-counts; use directed unless unknown 12. `DETACH DELETE` — plain `DELETE` throws if node has relationships
---
## Style
| Element | Convention | |---|---| | Node labels | PascalCase `:Person` | | Rel types | SCREAMING_SNAKE_CASE `:KNOWS` | | Properties/vars | camelCase `firstName` | | Clauses | UPPERCASE `MATCH` | | Booleans/null | lowercase `true false null` | | Strings | single-quoted; double only if contains `'` |
> Schema is truth. `:Person`, `:KNOWS`, `name` in examples are illustrative — substitute real names from schema.
---
## Schema-First Protocol
**Priority order:**
1. `<db-name>-schema.json` anywhere in project → read directly, state file name + `schema_retrieved_at`, skip live inspection. If significantly outdated and DB reachable, offer re-fetch. Full rules: [references/schema-guardrail.md](references/schema-guardrail.md). - **Existence** — labels/rel-types/properties must be in schema; try synonym resolution before asking - **Property type** — reason about intent first (e.g. string vs INTEGER may be null check); ask only if unclear - **Relationship direction** — wrong direction → correct silently and note - **Synonym mapping** — unambiguous → resolve silently; ambiguous → pick most likely, note; ask if unresolvable
Scripts: `generate_schema.py` (live DB + APOC), `define_schema.py` (no DB), `import_neo4j_schema.py` (converts `neo4j-graphrag-python`, `graph-schema-introspector`, `graph-schema-json-js-utils`, `mcp-neo4j-data-modeling`).
2. Schema in context → use it, skip inspection.
3. Schema missing → run: ```cypher CALL db.schema.visualization() YIELD nodes, relationships RETURN nodes, relationships; SHOW INDEXES YIELD name, type, labelsOrTypes, properties, state WHERE state = 'ONLINE'; SHOW CONSTRAINTS YIELD name, type, labelsOrTypes, properties; SHOW PROCEDURES YIELD name RETURN split(name,'.')[0] AS namespace, count(*) AS procedures; ```
Property types per label — check APOC first: ```cypher // If APOC available (preferred — use this): CALL apoc.meta.schema() YIELD value RETURN value;
// No APOC AND database ≤ 100k nodes/rels only (expensive on large graphs): CALL db.schema.nodeTypeProperties() YIELD nodeType, propertyName, propertyTypes, mandatory; CALL db.schema.relTypeProperties() YIELD relType, propertyName, propertyTypes, mandatory; ```
Validate before returning any query: label exists · rel type+direction correct · property on that label · index ONLINE.
---
## Key Patterns
### MERGE ```cypher // MERGE on constrained key; set extras in ON CREATE/ON MATCH CYPHER 25 MATCH (a:Person {id: $a}) MATCH (b:Person {id: $b}) MERGE (a)-[r:KNOWS]->(b) ON CREATE SET r.since = date() ON MATCH SET r.lastSeen = date() ``` `SET n = {}` replaces all props. `SET n += {}` merges (safe partial update). Use `+=` for updates.
### WITH scope ```cypher CYPHER 25 MATCH (a:Person)-[:KNOWS]->(b:Person) WITH a, count(*) AS friends // b dropped here WHERE friends > 5 RETURN a.name, friends ORDER BY friends DESC ``` Every var not listed in `WITH` is dropped. `WITH *` carries all forward.
### Subqueries — cheat sheet ``` EXISTS { (a)-[:R]->(b) } // boolean check COUNT { (a)-[:R]->(b) WHERE a.x > 0 } // count COLLECT { MATCH (a)-[:R]->(b) RETURN b.name } // collect list (full MATCH+RETURN required) CALL (p) { MATCH (p)-[:ACTED_IN]->(m) RETURN m } // correlated subquery (explicit import) OPTIONAL CALL (p) { ... } // nullable subquery ``` `CALL { WITH x ... }` deprecated → `CALL (x) { ... }`. `COLLECT {}` returns exactly one column.
### CALL IN TRANSACTIONS (bulk writes) ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS row CALL (row) { MERGE (p:Person {id: row.id}) SET p += row } IN TRANSACTIONS OF 1000 ROWS ON ERROR CONTINUE REPORT STATUS AS s ``` Input stream must be outside subquery. Auto-commit only — never wrap in `beginTransaction()`. `PERIODIC COMMIT` deprecated.
`DISJOINT BY` [2026.06, Cypher 25] on `IN CONCURRENT TRANSACTIONS` prevents deadlocks by scheduling batches that share lock-prone resources sequentially — use when importing relationships: ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///rels.csv' AS line CALL (line) { MATCH (a:Movie {id: line.movieId}), (b:Person {id: line.personId}) MERGE (b)-[:ACTED_IN]->(a) } IN CONCURRENT TRANSACTIONS OF 1000 ROWS DISJOINT BY (line.movieId, line.personId) ``` `DISJOINT BY (expr,...)` declares lock keys (outer-query variables only); `DISJOINT BY AUTO` infers them via static analysis; `DISJOINT BY NONE` disables. Overrides `dbms.cypher.transactions.default_subquery_batch_strategy`. `EXPLAIN`/`PROFILE` shows keys in `DISJOINT BY (...)` on `TransactionForeach`.
### QPE basics ```cypher CYPHER 25 MATCH SHORTEST 1 (a:Person {name:'Alice'})(()-[:KNOWS]->()){1,}(b:Person {name:'Bob'}) RETURN b.name
// ACYCLIC [2026.03] — no repeated nodes within a path (prevents cycles) CYPHER 25 MATCH p = ACYCLIC (start:Router {name: $from})-[:LINK]-+(end:Router {name: $to}) RETURN [n IN nodes(p) | n.name] AS route ORDER BY length(p) LIMIT 5 ``` Quantifier outside group: `(pattern){N,M}`. Groups start+end with node. `REPEATABLE ELEMENTS` needs bounded `{m,n}`. `ACYCLIC` implies nodes cannot repeat within a path (stronger than default `DIFFERENT RELATIONSHIPS`).
Match mode — add after `MATCH`: - `DIFFERENT RELATIONSHIPS` (default) — each rel traversed once per path - `REPEATABLE ELEMENTS` [2025.x] — nodes/rels revisitable; use for circular routes, weight-optimized paths, constrained backtracking; requires bounded `{m,n}`
### Conditional CALL subqueries [2025.06] ```cypher CYPHER 25 MATCH (move:Item {id: $id}) OPTIONAL MATCH (insertBefore:Item {id: $before}) OPTIONAL MATCH (insertAfter:Item {id: $after}) CALL (move, insertBefore, insertAfter) { WHEN insertBefore IS NULL THEN { MATCH (last:Item) WHERE NOT (last)-[:NEXT]->() AND last <> move CREATE (last)-[:NEXT]->(move) } WHEN insertAfter IS NULL THEN { CREATE (move)-[:NEXT]->(insertBefore) } ELSE { CREATE (insertAfter)-[:NEXT]->(move) CREATE (move)-[:NEXT]->(insertBefore) } } ``` Use WHEN…THEN…ELSE for if-else-if write logic; mutually exclusive (first match wins). Not available pre-2025.06.
### Dynamic relationship types [2025.x] ```cypher // Create/match/merge with dynamic rel type (must resolve to exactly one STRING) CYPHER 25 CREATE (a:Node)-[:$($relType)]->(b:Node) CYPHER 25 MATCH (a:Node)-[:$($relType)]->(b:Node) RETURN a.name, b.name ```
### Spatial / Point ```cypher // WGS84 geographic point SET n.coords = point({longitude: $lon, latitude: $lat})
// Distance in metres; requires POINT index for performance MATCH (a:Place {name: $origin}) MATCH (b:Place) RETURN b.name, point.distance(a.coords, b.coords) AS distM ORDER BY distM LIMIT 10
// Bounding-box pre-filter (uses POINT index) then distance MATCH (b:Place) WHERE point.withinBBox(b.coords, point({longitude: $west, latitude: $south}), point({longitude: $east, latitude: $north})) RETURN b.name, point.distance(b.coords, $origin) AS distM ``` Create POINT index: `CREATE POINT INDEX name IF NOT EXISTS FOR (n:Place) ON (n.coords)`
### Aggregation grouping keys Non-aggregating expressions in `RETURN`/`WITH` are implicit grouping keys — `GROUP BY` optional: ```cypher // actor + director are grouping keys; count(*) is the aggregate MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations ORDER BY collaborations DESC
// GROUP BY states keys explicitly [2026.07, Cypher 25] MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN p.name AS actor, m.genre AS genre, avg(m.rating) AS avgRating GROUP BY actor, genre ``` Explicit `GROUP BY` subclause on `WITH`/`RETURN` [2026.07, Cypher 25] states grouping keys explicitly — GQL-aligned alternative to implicit grouping; implicit grouping stays valid: ```cypher MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations GROUP BY a.name, d.name ORDER BY collaborations DESC ``` `GROUP BY ()` = no grouping keys (one row); `GROUP BY ALL` = every non-aggregating return item is a key. Grouping keys absent from the projection are not returned. Rules → [references/cypher-syntax.md](references/cypher-syntax.md).
`count(n)` counts non-null; `count(*)` counts rows including nulls. `collect(DISTINCT expr)` deduplicates. `count()` is faster than `size(collect())` — count() reads the internal store; collect() builds a list first.
`ORDER BY`/`WHERE` subclause expressions referencing a projection item more complex than a variable or `var.prop` are deprecated [2026.07] — alias the expression in the projection and order by the alias. Same for names that shadow an incoming variable. `ORDER BY`/`WHERE` may now call aggregation functions absent from the projection list when the projection clause al
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for neo4j-cypher-skill, ready for a manual X post.
Before you hand an agent a repeatable workflow, give it a repeatable starting point. neo4j-cypher-skill: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. 101 stars https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x
Listing + install path for neo4j-cypher-skill: https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x Install: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to neo4j-contrib but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill/audit)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)neo4j-contrib
@neo4j-contrib
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsInstall targets
Codex install prompt
Install the "neo4j-cypher-skill" agent skill from https://github.com/neo4j-contrib/neo4j-skills/tree/main/neo4j-cypher-skill. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"neo4j-contrib-neo4j-cypher-skill","task":"Install neo4j-cypher-skill","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Maintenance
fresh
16d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
101
67/100 Quality · 65/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
101 GitHub stars
Repo activity
101 stars, 35 forks
Maintenance
16d since push
License
MIT
Install
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillDo not use when
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Agent should check
Copy prompt
Task: Use neo4j-cypher-skill in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Install command: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
LLM text format
/api/skills/neo4j-contrib-neo4j-cypher-skill/install?format=text
Find alternatives
/api/skills/search?q=neo4j-cypher-skill&limit=3
Agent prompt
Use neo4j-cypher-skill for this task. Review https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install, then install with: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill
LLM text
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill?format=text
Install alias
/api/registry/install/neo4j-contrib-neo4j-cypher-skill
Recommend
/api/registry/recommend?task=Use%20neo4j-cypher-skill%20in%20an%20agent%20workflow&limit=3
Agent fit
Database and SQL
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Database and SQL
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
INFO101 GitHub stars
Stars/forks activity
CHECK101 stars, 35 forks; issue activity unavailable in current metadata
Recent maintenance
PASS16d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Work with data stores
I need my agent to inspect database schemas, write SQL, and explain query results.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Ingest, retrieve, and cite
A workflow for document-heavy agents that ingest files, create searchable knowledge, retrieve relevant context, and answer with grounded sources.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: neo4j-cypher-skill description: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. Use when writing new Cypher queries, optimizing slow queries, graph pattern matching, vector or fulltext search, subqueries, or batch writes. Covers MATCH, MERGE, CREATE, WITH, RETURN, CALL, UNWIND, FOREACH, LOAD CSV, SEARCH, expressions, functions, indexes, and subqueries. Does NOT handle driver migration or API changes — use neo4j-migration-skill. Does NOT cover DB administration or server ops — use neo4j-cli-tools-skill. compatibility: Neo4j >= 2025.01 (safe baseline); Cypher 25 version: 1.0.22 ---
## When to Use - Writing, optimizing, or debugging Cypher queries - Graph pattern matching, QPEs, variable-length paths - Vector/fulltext search, subqueries, batch writes, LOAD CSV
## When NOT to Use - **Driver migration/API changes** → `neo4j-migration-skill` - **DB admin** (users, config, backups) → `neo4j-cli-tools-skill` - **Hybrid search that combines vector with fulltext or other ranked sources** → `neo4j-vector-index-skill`
GQL conformance note: `LET`, `FINISH`, `FILTER`, and `INSERT` are valid Cypher 25 clauses (introduced via GQL conformance, mostly in Neo4j 2025.06). On older versions, fall back to `WITH` / (omit RETURN) / `WHERE` / `CREATE`. `INSERT` requires `&`-separated multi-labels and does not support dynamic labels/types.
---
## Pre-flight
| ? | Known | Unknown | |---|---|---| | `<db-name>-schema.json` found in project | Use it directly — skip live inspection | — | | Schema (from context or live DB) | Use directly | Run Schema-First Protocol | | Neo4j version | Use version features | Default to 2025.01 safe set | | Executing (not generating)? | Use EXPLAIN + write gate | State query is unvalidated |
Schema unknown + no tool → produce non-executable sketch outside a code block: ``` (<SOURCE_LABEL> {<KEY>: $value})-[:<REL_TYPE>]->(<TARGET_LABEL>) ``` Never fill guessed names — realistic guesses get copied blindly.
---
## Defaults — apply every query
1. `CYPHER 25` — first token; never repeat after `UNION` or inside subqueries 2. Schema first — inspect before writing; if schema in prompt, use it directly 3. `MERGE` on constrained key only; rel `MERGE` on already-bound endpoints only 4. Label-free `MATCH (n)` forbidden unless bound or followed by `WHERE n:$($label)` 5. `LIMIT 25` default on all exploratory reads; push `WITH n LIMIT` before high-cardinality operations (variable-length traversals, fan-out MATCH, Cartesian products) 6. Comments: `//` only — `--` is SQL, invalid 7. `REPEATABLE ELEMENTS` / `DIFFERENT RELATIONSHIPS` go after `MATCH`, not end of pattern 8. `SHOW` commands: `YIELD` before `WHERE`; combinable with general Cypher clauses incl. `UNION`/`RETURN` [2026.05] — `SHOW DATABASES` still requires system db (use `USE system`). `CALL` on `system` db: `YIELD` then `WHERE` [2026.07] 9. Inline node predicates `(:Label WHERE p=x)` — valid in `MATCH` only 10. `WHERE` cannot follow bare `UNWIND` — use `WITH x WHERE` 11. `(a)-[:R]-(b)` — undirected matches both directions, double-counts; use directed unless unknown 12. `DETACH DELETE` — plain `DELETE` throws if node has relationships
---
## Style
| Element | Convention | |---|---| | Node labels | PascalCase `:Person` | | Rel types | SCREAMING_SNAKE_CASE `:KNOWS` | | Properties/vars | camelCase `firstName` | | Clauses | UPPERCASE `MATCH` | | Booleans/null | lowercase `true false null` | | Strings | single-quoted; double only if contains `'` |
> Schema is truth. `:Person`, `:KNOWS`, `name` in examples are illustrative — substitute real names from schema.
---
## Schema-First Protocol
**Priority order:**
1. `<db-name>-schema.json` anywhere in project → read directly, state file name + `schema_retrieved_at`, skip live inspection. If significantly outdated and DB reachable, offer re-fetch. Full rules: [references/schema-guardrail.md](references/schema-guardrail.md). - **Existence** — labels/rel-types/properties must be in schema; try synonym resolution before asking - **Property type** — reason about intent first (e.g. string vs INTEGER may be null check); ask only if unclear - **Relationship direction** — wrong direction → correct silently and note - **Synonym mapping** — unambiguous → resolve silently; ambiguous → pick most likely, note; ask if unresolvable
Scripts: `generate_schema.py` (live DB + APOC), `define_schema.py` (no DB), `import_neo4j_schema.py` (converts `neo4j-graphrag-python`, `graph-schema-introspector`, `graph-schema-json-js-utils`, `mcp-neo4j-data-modeling`).
2. Schema in context → use it, skip inspection.
3. Schema missing → run: ```cypher CALL db.schema.visualization() YIELD nodes, relationships RETURN nodes, relationships; SHOW INDEXES YIELD name, type, labelsOrTypes, properties, state WHERE state = 'ONLINE'; SHOW CONSTRAINTS YIELD name, type, labelsOrTypes, properties; SHOW PROCEDURES YIELD name RETURN split(name,'.')[0] AS namespace, count(*) AS procedures; ```
Property types per label — check APOC first: ```cypher // If APOC available (preferred — use this): CALL apoc.meta.schema() YIELD value RETURN value;
// No APOC AND database ≤ 100k nodes/rels only (expensive on large graphs): CALL db.schema.nodeTypeProperties() YIELD nodeType, propertyName, propertyTypes, mandatory; CALL db.schema.relTypeProperties() YIELD relType, propertyName, propertyTypes, mandatory; ```
Validate before returning any query: label exists · rel type+direction correct · property on that label · index ONLINE.
---
## Key Patterns
### MERGE ```cypher // MERGE on constrained key; set extras in ON CREATE/ON MATCH CYPHER 25 MATCH (a:Person {id: $a}) MATCH (b:Person {id: $b}) MERGE (a)-[r:KNOWS]->(b) ON CREATE SET r.since = date() ON MATCH SET r.lastSeen = date() ``` `SET n = {}` replaces all props. `SET n += {}` merges (safe partial update). Use `+=` for updates.
### WITH scope ```cypher CYPHER 25 MATCH (a:Person)-[:KNOWS]->(b:Person) WITH a, count(*) AS friends // b dropped here WHERE friends > 5 RETURN a.name, friends ORDER BY friends DESC ``` Every var not listed in `WITH` is dropped. `WITH *` carries all forward.
### Subqueries — cheat sheet ``` EXISTS { (a)-[:R]->(b) } // boolean check COUNT { (a)-[:R]->(b) WHERE a.x > 0 } // count COLLECT { MATCH (a)-[:R]->(b) RETURN b.name } // collect list (full MATCH+RETURN required) CALL (p) { MATCH (p)-[:ACTED_IN]->(m) RETURN m } // correlated subquery (explicit import) OPTIONAL CALL (p) { ... } // nullable subquery ``` `CALL { WITH x ... }` deprecated → `CALL (x) { ... }`. `COLLECT {}` returns exactly one column.
### CALL IN TRANSACTIONS (bulk writes) ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS row CALL (row) { MERGE (p:Person {id: row.id}) SET p += row } IN TRANSACTIONS OF 1000 ROWS ON ERROR CONTINUE REPORT STATUS AS s ``` Input stream must be outside subquery. Auto-commit only — never wrap in `beginTransaction()`. `PERIODIC COMMIT` deprecated.
`DISJOINT BY` [2026.06, Cypher 25] on `IN CONCURRENT TRANSACTIONS` prevents deadlocks by scheduling batches that share lock-prone resources sequentially — use when importing relationships: ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///rels.csv' AS line CALL (line) { MATCH (a:Movie {id: line.movieId}), (b:Person {id: line.personId}) MERGE (b)-[:ACTED_IN]->(a) } IN CONCURRENT TRANSACTIONS OF 1000 ROWS DISJOINT BY (line.movieId, line.personId) ``` `DISJOINT BY (expr,...)` declares lock keys (outer-query variables only); `DISJOINT BY AUTO` infers them via static analysis; `DISJOINT BY NONE` disables. Overrides `dbms.cypher.transactions.default_subquery_batch_strategy`. `EXPLAIN`/`PROFILE` shows keys in `DISJOINT BY (...)` on `TransactionForeach`.
### QPE basics ```cypher CYPHER 25 MATCH SHORTEST 1 (a:Person {name:'Alice'})(()-[:KNOWS]->()){1,}(b:Person {name:'Bob'}) RETURN b.name
// ACYCLIC [2026.03] — no repeated nodes within a path (prevents cycles) CYPHER 25 MATCH p = ACYCLIC (start:Router {name: $from})-[:LINK]-+(end:Router {name: $to}) RETURN [n IN nodes(p) | n.name] AS route ORDER BY length(p) LIMIT 5 ``` Quantifier outside group: `(pattern){N,M}`. Groups start+end with node. `REPEATABLE ELEMENTS` needs bounded `{m,n}`. `ACYCLIC` implies nodes cannot repeat within a path (stronger than default `DIFFERENT RELATIONSHIPS`).
Match mode — add after `MATCH`: - `DIFFERENT RELATIONSHIPS` (default) — each rel traversed once per path - `REPEATABLE ELEMENTS` [2025.x] — nodes/rels revisitable; use for circular routes, weight-optimized paths, constrained backtracking; requires bounded `{m,n}`
### Conditional CALL subqueries [2025.06] ```cypher CYPHER 25 MATCH (move:Item {id: $id}) OPTIONAL MATCH (insertBefore:Item {id: $before}) OPTIONAL MATCH (insertAfter:Item {id: $after}) CALL (move, insertBefore, insertAfter) { WHEN insertBefore IS NULL THEN { MATCH (last:Item) WHERE NOT (last)-[:NEXT]->() AND last <> move CREATE (last)-[:NEXT]->(move) } WHEN insertAfter IS NULL THEN { CREATE (move)-[:NEXT]->(insertBefore) } ELSE { CREATE (insertAfter)-[:NEXT]->(move) CREATE (move)-[:NEXT]->(insertBefore) } } ``` Use WHEN…THEN…ELSE for if-else-if write logic; mutually exclusive (first match wins). Not available pre-2025.06.
### Dynamic relationship types [2025.x] ```cypher // Create/match/merge with dynamic rel type (must resolve to exactly one STRING) CYPHER 25 CREATE (a:Node)-[:$($relType)]->(b:Node) CYPHER 25 MATCH (a:Node)-[:$($relType)]->(b:Node) RETURN a.name, b.name ```
### Spatial / Point ```cypher // WGS84 geographic point SET n.coords = point({longitude: $lon, latitude: $lat})
// Distance in metres; requires POINT index for performance MATCH (a:Place {name: $origin}) MATCH (b:Place) RETURN b.name, point.distance(a.coords, b.coords) AS distM ORDER BY distM LIMIT 10
// Bounding-box pre-filter (uses POINT index) then distance MATCH (b:Place) WHERE point.withinBBox(b.coords, point({longitude: $west, latitude: $south}), point({longitude: $east, latitude: $north})) RETURN b.name, point.distance(b.coords, $origin) AS distM ``` Create POINT index: `CREATE POINT INDEX name IF NOT EXISTS FOR (n:Place) ON (n.coords)`
### Aggregation grouping keys Non-aggregating expressions in `RETURN`/`WITH` are implicit grouping keys — `GROUP BY` optional: ```cypher // actor + director are grouping keys; count(*) is the aggregate MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations ORDER BY collaborations DESC
// GROUP BY states keys explicitly [2026.07, Cypher 25] MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN p.name AS actor, m.genre AS genre, avg(m.rating) AS avgRating GROUP BY actor, genre ``` Explicit `GROUP BY` subclause on `WITH`/`RETURN` [2026.07, Cypher 25] states grouping keys explicitly — GQL-aligned alternative to implicit grouping; implicit grouping stays valid: ```cypher MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations GROUP BY a.name, d.name ORDER BY collaborations DESC ``` `GROUP BY ()` = no grouping keys (one row); `GROUP BY ALL` = every non-aggregating return item is a key. Grouping keys absent from the projection are not returned. Rules → [references/cypher-syntax.md](references/cypher-syntax.md).
`count(n)` counts non-null; `count(*)` counts rows including nulls. `collect(DISTINCT expr)` deduplicates. `count()` is faster than `size(collect())` — count() reads the internal store; collect() builds a list first.
`ORDER BY`/`WHERE` subclause expressions referencing a projection item more complex than a variable or `var.prop` are deprecated [2026.07] — alias the expression in the projection and order by the alias. Same for names that shadow an incoming variable. `ORDER BY`/`WHERE` may now call aggregation functions absent from the projection list when the projection clause al
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for neo4j-cypher-skill, ready for a manual X post.
Before you hand an agent a repeatable workflow, give it a repeatable starting point. neo4j-cypher-skill: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. 101 stars https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x
Listing + install path for neo4j-cypher-skill: https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x Install: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to neo4j-contrib but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill/audit)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)neo4j-contrib
@neo4j-contrib
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsInstall targets
Codex install prompt
Install the "neo4j-cypher-skill" agent skill from https://github.com/neo4j-contrib/neo4j-skills/tree/main/neo4j-cypher-skill. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"neo4j-contrib-neo4j-cypher-skill","task":"Install neo4j-cypher-skill","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Maintenance
fresh
16d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
101
67/100 Quality · 65/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
101 GitHub stars
Repo activity
101 stars, 35 forks
Maintenance
16d since push
License
MIT
Install
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillDo not use when
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Agent should check
Copy prompt
Task: Use neo4j-cypher-skill in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Install command: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
LLM text format
/api/skills/neo4j-contrib-neo4j-cypher-skill/install?format=text
Find alternatives
/api/skills/search?q=neo4j-cypher-skill&limit=3
Agent prompt
Use neo4j-cypher-skill for this task. Review https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install, then install with: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill
LLM text
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill?format=text
Install alias
/api/registry/install/neo4j-contrib-neo4j-cypher-skill
Recommend
/api/registry/recommend?task=Use%20neo4j-cypher-skill%20in%20an%20agent%20workflow&limit=3
Agent fit
Database and SQL
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Database and SQL
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
INFO101 GitHub stars
Stars/forks activity
CHECK101 stars, 35 forks; issue activity unavailable in current metadata
Recent maintenance
PASS16d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Work with data stores
I need my agent to inspect database schemas, write SQL, and explain query results.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Ingest, retrieve, and cite
A workflow for document-heavy agents that ingest files, create searchable knowledge, retrieve relevant context, and answer with grounded sources.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: neo4j-cypher-skill description: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. Use when writing new Cypher queries, optimizing slow queries, graph pattern matching, vector or fulltext search, subqueries, or batch writes. Covers MATCH, MERGE, CREATE, WITH, RETURN, CALL, UNWIND, FOREACH, LOAD CSV, SEARCH, expressions, functions, indexes, and subqueries. Does NOT handle driver migration or API changes — use neo4j-migration-skill. Does NOT cover DB administration or server ops — use neo4j-cli-tools-skill. compatibility: Neo4j >= 2025.01 (safe baseline); Cypher 25 version: 1.0.22 ---
## When to Use - Writing, optimizing, or debugging Cypher queries - Graph pattern matching, QPEs, variable-length paths - Vector/fulltext search, subqueries, batch writes, LOAD CSV
## When NOT to Use - **Driver migration/API changes** → `neo4j-migration-skill` - **DB admin** (users, config, backups) → `neo4j-cli-tools-skill` - **Hybrid search that combines vector with fulltext or other ranked sources** → `neo4j-vector-index-skill`
GQL conformance note: `LET`, `FINISH`, `FILTER`, and `INSERT` are valid Cypher 25 clauses (introduced via GQL conformance, mostly in Neo4j 2025.06). On older versions, fall back to `WITH` / (omit RETURN) / `WHERE` / `CREATE`. `INSERT` requires `&`-separated multi-labels and does not support dynamic labels/types.
---
## Pre-flight
| ? | Known | Unknown | |---|---|---| | `<db-name>-schema.json` found in project | Use it directly — skip live inspection | — | | Schema (from context or live DB) | Use directly | Run Schema-First Protocol | | Neo4j version | Use version features | Default to 2025.01 safe set | | Executing (not generating)? | Use EXPLAIN + write gate | State query is unvalidated |
Schema unknown + no tool → produce non-executable sketch outside a code block: ``` (<SOURCE_LABEL> {<KEY>: $value})-[:<REL_TYPE>]->(<TARGET_LABEL>) ``` Never fill guessed names — realistic guesses get copied blindly.
---
## Defaults — apply every query
1. `CYPHER 25` — first token; never repeat after `UNION` or inside subqueries 2. Schema first — inspect before writing; if schema in prompt, use it directly 3. `MERGE` on constrained key only; rel `MERGE` on already-bound endpoints only 4. Label-free `MATCH (n)` forbidden unless bound or followed by `WHERE n:$($label)` 5. `LIMIT 25` default on all exploratory reads; push `WITH n LIMIT` before high-cardinality operations (variable-length traversals, fan-out MATCH, Cartesian products) 6. Comments: `//` only — `--` is SQL, invalid 7. `REPEATABLE ELEMENTS` / `DIFFERENT RELATIONSHIPS` go after `MATCH`, not end of pattern 8. `SHOW` commands: `YIELD` before `WHERE`; combinable with general Cypher clauses incl. `UNION`/`RETURN` [2026.05] — `SHOW DATABASES` still requires system db (use `USE system`). `CALL` on `system` db: `YIELD` then `WHERE` [2026.07] 9. Inline node predicates `(:Label WHERE p=x)` — valid in `MATCH` only 10. `WHERE` cannot follow bare `UNWIND` — use `WITH x WHERE` 11. `(a)-[:R]-(b)` — undirected matches both directions, double-counts; use directed unless unknown 12. `DETACH DELETE` — plain `DELETE` throws if node has relationships
---
## Style
| Element | Convention | |---|---| | Node labels | PascalCase `:Person` | | Rel types | SCREAMING_SNAKE_CASE `:KNOWS` | | Properties/vars | camelCase `firstName` | | Clauses | UPPERCASE `MATCH` | | Booleans/null | lowercase `true false null` | | Strings | single-quoted; double only if contains `'` |
> Schema is truth. `:Person`, `:KNOWS`, `name` in examples are illustrative — substitute real names from schema.
---
## Schema-First Protocol
**Priority order:**
1. `<db-name>-schema.json` anywhere in project → read directly, state file name + `schema_retrieved_at`, skip live inspection. If significantly outdated and DB reachable, offer re-fetch. Full rules: [references/schema-guardrail.md](references/schema-guardrail.md). - **Existence** — labels/rel-types/properties must be in schema; try synonym resolution before asking - **Property type** — reason about intent first (e.g. string vs INTEGER may be null check); ask only if unclear - **Relationship direction** — wrong direction → correct silently and note - **Synonym mapping** — unambiguous → resolve silently; ambiguous → pick most likely, note; ask if unresolvable
Scripts: `generate_schema.py` (live DB + APOC), `define_schema.py` (no DB), `import_neo4j_schema.py` (converts `neo4j-graphrag-python`, `graph-schema-introspector`, `graph-schema-json-js-utils`, `mcp-neo4j-data-modeling`).
2. Schema in context → use it, skip inspection.
3. Schema missing → run: ```cypher CALL db.schema.visualization() YIELD nodes, relationships RETURN nodes, relationships; SHOW INDEXES YIELD name, type, labelsOrTypes, properties, state WHERE state = 'ONLINE'; SHOW CONSTRAINTS YIELD name, type, labelsOrTypes, properties; SHOW PROCEDURES YIELD name RETURN split(name,'.')[0] AS namespace, count(*) AS procedures; ```
Property types per label — check APOC first: ```cypher // If APOC available (preferred — use this): CALL apoc.meta.schema() YIELD value RETURN value;
// No APOC AND database ≤ 100k nodes/rels only (expensive on large graphs): CALL db.schema.nodeTypeProperties() YIELD nodeType, propertyName, propertyTypes, mandatory; CALL db.schema.relTypeProperties() YIELD relType, propertyName, propertyTypes, mandatory; ```
Validate before returning any query: label exists · rel type+direction correct · property on that label · index ONLINE.
---
## Key Patterns
### MERGE ```cypher // MERGE on constrained key; set extras in ON CREATE/ON MATCH CYPHER 25 MATCH (a:Person {id: $a}) MATCH (b:Person {id: $b}) MERGE (a)-[r:KNOWS]->(b) ON CREATE SET r.since = date() ON MATCH SET r.lastSeen = date() ``` `SET n = {}` replaces all props. `SET n += {}` merges (safe partial update). Use `+=` for updates.
### WITH scope ```cypher CYPHER 25 MATCH (a:Person)-[:KNOWS]->(b:Person) WITH a, count(*) AS friends // b dropped here WHERE friends > 5 RETURN a.name, friends ORDER BY friends DESC ``` Every var not listed in `WITH` is dropped. `WITH *` carries all forward.
### Subqueries — cheat sheet ``` EXISTS { (a)-[:R]->(b) } // boolean check COUNT { (a)-[:R]->(b) WHERE a.x > 0 } // count COLLECT { MATCH (a)-[:R]->(b) RETURN b.name } // collect list (full MATCH+RETURN required) CALL (p) { MATCH (p)-[:ACTED_IN]->(m) RETURN m } // correlated subquery (explicit import) OPTIONAL CALL (p) { ... } // nullable subquery ``` `CALL { WITH x ... }` deprecated → `CALL (x) { ... }`. `COLLECT {}` returns exactly one column.
### CALL IN TRANSACTIONS (bulk writes) ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS row CALL (row) { MERGE (p:Person {id: row.id}) SET p += row } IN TRANSACTIONS OF 1000 ROWS ON ERROR CONTINUE REPORT STATUS AS s ``` Input stream must be outside subquery. Auto-commit only — never wrap in `beginTransaction()`. `PERIODIC COMMIT` deprecated.
`DISJOINT BY` [2026.06, Cypher 25] on `IN CONCURRENT TRANSACTIONS` prevents deadlocks by scheduling batches that share lock-prone resources sequentially — use when importing relationships: ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///rels.csv' AS line CALL (line) { MATCH (a:Movie {id: line.movieId}), (b:Person {id: line.personId}) MERGE (b)-[:ACTED_IN]->(a) } IN CONCURRENT TRANSACTIONS OF 1000 ROWS DISJOINT BY (line.movieId, line.personId) ``` `DISJOINT BY (expr,...)` declares lock keys (outer-query variables only); `DISJOINT BY AUTO` infers them via static analysis; `DISJOINT BY NONE` disables. Overrides `dbms.cypher.transactions.default_subquery_batch_strategy`. `EXPLAIN`/`PROFILE` shows keys in `DISJOINT BY (...)` on `TransactionForeach`.
### QPE basics ```cypher CYPHER 25 MATCH SHORTEST 1 (a:Person {name:'Alice'})(()-[:KNOWS]->()){1,}(b:Person {name:'Bob'}) RETURN b.name
// ACYCLIC [2026.03] — no repeated nodes within a path (prevents cycles) CYPHER 25 MATCH p = ACYCLIC (start:Router {name: $from})-[:LINK]-+(end:Router {name: $to}) RETURN [n IN nodes(p) | n.name] AS route ORDER BY length(p) LIMIT 5 ``` Quantifier outside group: `(pattern){N,M}`. Groups start+end with node. `REPEATABLE ELEMENTS` needs bounded `{m,n}`. `ACYCLIC` implies nodes cannot repeat within a path (stronger than default `DIFFERENT RELATIONSHIPS`).
Match mode — add after `MATCH`: - `DIFFERENT RELATIONSHIPS` (default) — each rel traversed once per path - `REPEATABLE ELEMENTS` [2025.x] — nodes/rels revisitable; use for circular routes, weight-optimized paths, constrained backtracking; requires bounded `{m,n}`
### Conditional CALL subqueries [2025.06] ```cypher CYPHER 25 MATCH (move:Item {id: $id}) OPTIONAL MATCH (insertBefore:Item {id: $before}) OPTIONAL MATCH (insertAfter:Item {id: $after}) CALL (move, insertBefore, insertAfter) { WHEN insertBefore IS NULL THEN { MATCH (last:Item) WHERE NOT (last)-[:NEXT]->() AND last <> move CREATE (last)-[:NEXT]->(move) } WHEN insertAfter IS NULL THEN { CREATE (move)-[:NEXT]->(insertBefore) } ELSE { CREATE (insertAfter)-[:NEXT]->(move) CREATE (move)-[:NEXT]->(insertBefore) } } ``` Use WHEN…THEN…ELSE for if-else-if write logic; mutually exclusive (first match wins). Not available pre-2025.06.
### Dynamic relationship types [2025.x] ```cypher // Create/match/merge with dynamic rel type (must resolve to exactly one STRING) CYPHER 25 CREATE (a:Node)-[:$($relType)]->(b:Node) CYPHER 25 MATCH (a:Node)-[:$($relType)]->(b:Node) RETURN a.name, b.name ```
### Spatial / Point ```cypher // WGS84 geographic point SET n.coords = point({longitude: $lon, latitude: $lat})
// Distance in metres; requires POINT index for performance MATCH (a:Place {name: $origin}) MATCH (b:Place) RETURN b.name, point.distance(a.coords, b.coords) AS distM ORDER BY distM LIMIT 10
// Bounding-box pre-filter (uses POINT index) then distance MATCH (b:Place) WHERE point.withinBBox(b.coords, point({longitude: $west, latitude: $south}), point({longitude: $east, latitude: $north})) RETURN b.name, point.distance(b.coords, $origin) AS distM ``` Create POINT index: `CREATE POINT INDEX name IF NOT EXISTS FOR (n:Place) ON (n.coords)`
### Aggregation grouping keys Non-aggregating expressions in `RETURN`/`WITH` are implicit grouping keys — `GROUP BY` optional: ```cypher // actor + director are grouping keys; count(*) is the aggregate MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations ORDER BY collaborations DESC
// GROUP BY states keys explicitly [2026.07, Cypher 25] MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN p.name AS actor, m.genre AS genre, avg(m.rating) AS avgRating GROUP BY actor, genre ``` Explicit `GROUP BY` subclause on `WITH`/`RETURN` [2026.07, Cypher 25] states grouping keys explicitly — GQL-aligned alternative to implicit grouping; implicit grouping stays valid: ```cypher MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations GROUP BY a.name, d.name ORDER BY collaborations DESC ``` `GROUP BY ()` = no grouping keys (one row); `GROUP BY ALL` = every non-aggregating return item is a key. Grouping keys absent from the projection are not returned. Rules → [references/cypher-syntax.md](references/cypher-syntax.md).
`count(n)` counts non-null; `count(*)` counts rows including nulls. `collect(DISTINCT expr)` deduplicates. `count()` is faster than `size(collect())` — count() reads the internal store; collect() builds a list first.
`ORDER BY`/`WHERE` subclause expressions referencing a projection item more complex than a variable or `var.prop` are deprecated [2026.07] — alias the expression in the projection and order by the alias. Same for names that shadow an incoming variable. `ORDER BY`/`WHERE` may now call aggregation functions absent from the projection list when the projection clause al
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for neo4j-cypher-skill, ready for a manual X post.
Before you hand an agent a repeatable workflow, give it a repeatable starting point. neo4j-cypher-skill: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. 101 stars https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x
Listing + install path for neo4j-cypher-skill: https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x Install: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to neo4j-contrib but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill/audit)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)neo4j-contrib
@neo4j-contrib
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsInstall targets
Codex install prompt
Install the "neo4j-cypher-skill" agent skill from https://github.com/neo4j-contrib/neo4j-skills/tree/main/neo4j-cypher-skill. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"neo4j-contrib-neo4j-cypher-skill","task":"Install neo4j-cypher-skill","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Maintenance
fresh
16d since push
Risk
Needs review
Dependency or permission surface needs review
GitHub quality
101
67/100 Quality · 65/100 Trust
Coverage tags
Review notes
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
101 GitHub stars
Repo activity
101 stars, 35 forks
Maintenance
16d since push
License
MIT
Install
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillDo not use when
Agent safety v2
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
high
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Agent should check
Copy prompt
Task: Use neo4j-cypher-skill in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20neo4j-cypher-skill%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install
Install command: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/neo4j-contrib-neo4j-cypher-skill/install
LLM text format
/api/skills/neo4j-contrib-neo4j-cypher-skill/install?format=text
Find alternatives
/api/skills/search?q=neo4j-cypher-skill&limit=3
Agent prompt
Use neo4j-cypher-skill for this task. Review https://www.openagentskill.com/api/skills/neo4j-contrib-neo4j-cypher-skill/install, then install with: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skillRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill
LLM text
/api/registry/manifest/neo4j-contrib-neo4j-cypher-skill?format=text
Install alias
/api/registry/install/neo4j-contrib-neo4j-cypher-skill
Recommend
/api/registry/recommend?task=Use%20neo4j-cypher-skill%20in%20an%20agent%20workflow&limit=3
Agent fit
Database and SQL
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Database and SQL
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
INFO101 GitHub stars
Stars/forks activity
CHECK101 stars, 35 forks; issue activity unavailable in current metadata
Recent maintenance
PASS16d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Work with data stores
I need my agent to inspect database schemas, write SQL, and explain query results.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Ingest, retrieve, and cite
A workflow for document-heavy agents that ingest files, create searchable knowledge, retrieve relevant context, and answer with grounded sources.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: neo4j-cypher-skill description: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. Use when writing new Cypher queries, optimizing slow queries, graph pattern matching, vector or fulltext search, subqueries, or batch writes. Covers MATCH, MERGE, CREATE, WITH, RETURN, CALL, UNWIND, FOREACH, LOAD CSV, SEARCH, expressions, functions, indexes, and subqueries. Does NOT handle driver migration or API changes — use neo4j-migration-skill. Does NOT cover DB administration or server ops — use neo4j-cli-tools-skill. compatibility: Neo4j >= 2025.01 (safe baseline); Cypher 25 version: 1.0.22 ---
## When to Use - Writing, optimizing, or debugging Cypher queries - Graph pattern matching, QPEs, variable-length paths - Vector/fulltext search, subqueries, batch writes, LOAD CSV
## When NOT to Use - **Driver migration/API changes** → `neo4j-migration-skill` - **DB admin** (users, config, backups) → `neo4j-cli-tools-skill` - **Hybrid search that combines vector with fulltext or other ranked sources** → `neo4j-vector-index-skill`
GQL conformance note: `LET`, `FINISH`, `FILTER`, and `INSERT` are valid Cypher 25 clauses (introduced via GQL conformance, mostly in Neo4j 2025.06). On older versions, fall back to `WITH` / (omit RETURN) / `WHERE` / `CREATE`. `INSERT` requires `&`-separated multi-labels and does not support dynamic labels/types.
---
## Pre-flight
| ? | Known | Unknown | |---|---|---| | `<db-name>-schema.json` found in project | Use it directly — skip live inspection | — | | Schema (from context or live DB) | Use directly | Run Schema-First Protocol | | Neo4j version | Use version features | Default to 2025.01 safe set | | Executing (not generating)? | Use EXPLAIN + write gate | State query is unvalidated |
Schema unknown + no tool → produce non-executable sketch outside a code block: ``` (<SOURCE_LABEL> {<KEY>: $value})-[:<REL_TYPE>]->(<TARGET_LABEL>) ``` Never fill guessed names — realistic guesses get copied blindly.
---
## Defaults — apply every query
1. `CYPHER 25` — first token; never repeat after `UNION` or inside subqueries 2. Schema first — inspect before writing; if schema in prompt, use it directly 3. `MERGE` on constrained key only; rel `MERGE` on already-bound endpoints only 4. Label-free `MATCH (n)` forbidden unless bound or followed by `WHERE n:$($label)` 5. `LIMIT 25` default on all exploratory reads; push `WITH n LIMIT` before high-cardinality operations (variable-length traversals, fan-out MATCH, Cartesian products) 6. Comments: `//` only — `--` is SQL, invalid 7. `REPEATABLE ELEMENTS` / `DIFFERENT RELATIONSHIPS` go after `MATCH`, not end of pattern 8. `SHOW` commands: `YIELD` before `WHERE`; combinable with general Cypher clauses incl. `UNION`/`RETURN` [2026.05] — `SHOW DATABASES` still requires system db (use `USE system`). `CALL` on `system` db: `YIELD` then `WHERE` [2026.07] 9. Inline node predicates `(:Label WHERE p=x)` — valid in `MATCH` only 10. `WHERE` cannot follow bare `UNWIND` — use `WITH x WHERE` 11. `(a)-[:R]-(b)` — undirected matches both directions, double-counts; use directed unless unknown 12. `DETACH DELETE` — plain `DELETE` throws if node has relationships
---
## Style
| Element | Convention | |---|---| | Node labels | PascalCase `:Person` | | Rel types | SCREAMING_SNAKE_CASE `:KNOWS` | | Properties/vars | camelCase `firstName` | | Clauses | UPPERCASE `MATCH` | | Booleans/null | lowercase `true false null` | | Strings | single-quoted; double only if contains `'` |
> Schema is truth. `:Person`, `:KNOWS`, `name` in examples are illustrative — substitute real names from schema.
---
## Schema-First Protocol
**Priority order:**
1. `<db-name>-schema.json` anywhere in project → read directly, state file name + `schema_retrieved_at`, skip live inspection. If significantly outdated and DB reachable, offer re-fetch. Full rules: [references/schema-guardrail.md](references/schema-guardrail.md). - **Existence** — labels/rel-types/properties must be in schema; try synonym resolution before asking - **Property type** — reason about intent first (e.g. string vs INTEGER may be null check); ask only if unclear - **Relationship direction** — wrong direction → correct silently and note - **Synonym mapping** — unambiguous → resolve silently; ambiguous → pick most likely, note; ask if unresolvable
Scripts: `generate_schema.py` (live DB + APOC), `define_schema.py` (no DB), `import_neo4j_schema.py` (converts `neo4j-graphrag-python`, `graph-schema-introspector`, `graph-schema-json-js-utils`, `mcp-neo4j-data-modeling`).
2. Schema in context → use it, skip inspection.
3. Schema missing → run: ```cypher CALL db.schema.visualization() YIELD nodes, relationships RETURN nodes, relationships; SHOW INDEXES YIELD name, type, labelsOrTypes, properties, state WHERE state = 'ONLINE'; SHOW CONSTRAINTS YIELD name, type, labelsOrTypes, properties; SHOW PROCEDURES YIELD name RETURN split(name,'.')[0] AS namespace, count(*) AS procedures; ```
Property types per label — check APOC first: ```cypher // If APOC available (preferred — use this): CALL apoc.meta.schema() YIELD value RETURN value;
// No APOC AND database ≤ 100k nodes/rels only (expensive on large graphs): CALL db.schema.nodeTypeProperties() YIELD nodeType, propertyName, propertyTypes, mandatory; CALL db.schema.relTypeProperties() YIELD relType, propertyName, propertyTypes, mandatory; ```
Validate before returning any query: label exists · rel type+direction correct · property on that label · index ONLINE.
---
## Key Patterns
### MERGE ```cypher // MERGE on constrained key; set extras in ON CREATE/ON MATCH CYPHER 25 MATCH (a:Person {id: $a}) MATCH (b:Person {id: $b}) MERGE (a)-[r:KNOWS]->(b) ON CREATE SET r.since = date() ON MATCH SET r.lastSeen = date() ``` `SET n = {}` replaces all props. `SET n += {}` merges (safe partial update). Use `+=` for updates.
### WITH scope ```cypher CYPHER 25 MATCH (a:Person)-[:KNOWS]->(b:Person) WITH a, count(*) AS friends // b dropped here WHERE friends > 5 RETURN a.name, friends ORDER BY friends DESC ``` Every var not listed in `WITH` is dropped. `WITH *` carries all forward.
### Subqueries — cheat sheet ``` EXISTS { (a)-[:R]->(b) } // boolean check COUNT { (a)-[:R]->(b) WHERE a.x > 0 } // count COLLECT { MATCH (a)-[:R]->(b) RETURN b.name } // collect list (full MATCH+RETURN required) CALL (p) { MATCH (p)-[:ACTED_IN]->(m) RETURN m } // correlated subquery (explicit import) OPTIONAL CALL (p) { ... } // nullable subquery ``` `CALL { WITH x ... }` deprecated → `CALL (x) { ... }`. `COLLECT {}` returns exactly one column.
### CALL IN TRANSACTIONS (bulk writes) ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS row CALL (row) { MERGE (p:Person {id: row.id}) SET p += row } IN TRANSACTIONS OF 1000 ROWS ON ERROR CONTINUE REPORT STATUS AS s ``` Input stream must be outside subquery. Auto-commit only — never wrap in `beginTransaction()`. `PERIODIC COMMIT` deprecated.
`DISJOINT BY` [2026.06, Cypher 25] on `IN CONCURRENT TRANSACTIONS` prevents deadlocks by scheduling batches that share lock-prone resources sequentially — use when importing relationships: ```cypher CYPHER 25 LOAD CSV WITH HEADERS FROM 'file:///rels.csv' AS line CALL (line) { MATCH (a:Movie {id: line.movieId}), (b:Person {id: line.personId}) MERGE (b)-[:ACTED_IN]->(a) } IN CONCURRENT TRANSACTIONS OF 1000 ROWS DISJOINT BY (line.movieId, line.personId) ``` `DISJOINT BY (expr,...)` declares lock keys (outer-query variables only); `DISJOINT BY AUTO` infers them via static analysis; `DISJOINT BY NONE` disables. Overrides `dbms.cypher.transactions.default_subquery_batch_strategy`. `EXPLAIN`/`PROFILE` shows keys in `DISJOINT BY (...)` on `TransactionForeach`.
### QPE basics ```cypher CYPHER 25 MATCH SHORTEST 1 (a:Person {name:'Alice'})(()-[:KNOWS]->()){1,}(b:Person {name:'Bob'}) RETURN b.name
// ACYCLIC [2026.03] — no repeated nodes within a path (prevents cycles) CYPHER 25 MATCH p = ACYCLIC (start:Router {name: $from})-[:LINK]-+(end:Router {name: $to}) RETURN [n IN nodes(p) | n.name] AS route ORDER BY length(p) LIMIT 5 ``` Quantifier outside group: `(pattern){N,M}`. Groups start+end with node. `REPEATABLE ELEMENTS` needs bounded `{m,n}`. `ACYCLIC` implies nodes cannot repeat within a path (stronger than default `DIFFERENT RELATIONSHIPS`).
Match mode — add after `MATCH`: - `DIFFERENT RELATIONSHIPS` (default) — each rel traversed once per path - `REPEATABLE ELEMENTS` [2025.x] — nodes/rels revisitable; use for circular routes, weight-optimized paths, constrained backtracking; requires bounded `{m,n}`
### Conditional CALL subqueries [2025.06] ```cypher CYPHER 25 MATCH (move:Item {id: $id}) OPTIONAL MATCH (insertBefore:Item {id: $before}) OPTIONAL MATCH (insertAfter:Item {id: $after}) CALL (move, insertBefore, insertAfter) { WHEN insertBefore IS NULL THEN { MATCH (last:Item) WHERE NOT (last)-[:NEXT]->() AND last <> move CREATE (last)-[:NEXT]->(move) } WHEN insertAfter IS NULL THEN { CREATE (move)-[:NEXT]->(insertBefore) } ELSE { CREATE (insertAfter)-[:NEXT]->(move) CREATE (move)-[:NEXT]->(insertBefore) } } ``` Use WHEN…THEN…ELSE for if-else-if write logic; mutually exclusive (first match wins). Not available pre-2025.06.
### Dynamic relationship types [2025.x] ```cypher // Create/match/merge with dynamic rel type (must resolve to exactly one STRING) CYPHER 25 CREATE (a:Node)-[:$($relType)]->(b:Node) CYPHER 25 MATCH (a:Node)-[:$($relType)]->(b:Node) RETURN a.name, b.name ```
### Spatial / Point ```cypher // WGS84 geographic point SET n.coords = point({longitude: $lon, latitude: $lat})
// Distance in metres; requires POINT index for performance MATCH (a:Place {name: $origin}) MATCH (b:Place) RETURN b.name, point.distance(a.coords, b.coords) AS distM ORDER BY distM LIMIT 10
// Bounding-box pre-filter (uses POINT index) then distance MATCH (b:Place) WHERE point.withinBBox(b.coords, point({longitude: $west, latitude: $south}), point({longitude: $east, latitude: $north})) RETURN b.name, point.distance(b.coords, $origin) AS distM ``` Create POINT index: `CREATE POINT INDEX name IF NOT EXISTS FOR (n:Place) ON (n.coords)`
### Aggregation grouping keys Non-aggregating expressions in `RETURN`/`WITH` are implicit grouping keys — `GROUP BY` optional: ```cypher // actor + director are grouping keys; count(*) is the aggregate MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations ORDER BY collaborations DESC
// GROUP BY states keys explicitly [2026.07, Cypher 25] MATCH (p:Person)-[:ACTED_IN]->(m:Movie) RETURN p.name AS actor, m.genre AS genre, avg(m.rating) AS avgRating GROUP BY actor, genre ``` Explicit `GROUP BY` subclause on `WITH`/`RETURN` [2026.07, Cypher 25] states grouping keys explicitly — GQL-aligned alternative to implicit grouping; implicit grouping stays valid: ```cypher MATCH (a:Person)-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Person) RETURN a.name, d.name, count(*) AS collaborations GROUP BY a.name, d.name ORDER BY collaborations DESC ``` `GROUP BY ()` = no grouping keys (one row); `GROUP BY ALL` = every non-aggregating return item is a key. Grouping keys absent from the projection are not returned. Rules → [references/cypher-syntax.md](references/cypher-syntax.md).
`count(n)` counts non-null; `count(*)` counts rows including nulls. `collect(DISTINCT expr)` deduplicates. `count()` is faster than `size(collect())` — count() reads the internal store; collect() builds a list first.
`ORDER BY`/`WHERE` subclause expressions referencing a projection item more complex than a variable or `var.prop` are deprecated [2026.07] — alias the expression in the projection and order by the alias. Same for names that shadow an incoming variable. `ORDER BY`/`WHERE` may now call aggregation functions absent from the projection list when the projection clause al
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for neo4j-cypher-skill, ready for a manual X post.
Before you hand an agent a repeatable workflow, give it a repeatable starting point. neo4j-cypher-skill: Generates, optimizes, and validates Cypher 25 queries for Neo4j 2025.x and 2026.x. 101 stars https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x
Listing + install path for neo4j-cypher-skill: https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=x Install: npx skills add neo4j-contrib/neo4j-skills --skill neo4j-cypher-skill
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to neo4j-contrib but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill/audit)
[](https://www.openagentskill.com/skills/neo4j-contrib-neo4j-cypher-skill?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)neo4j-contrib
@neo4j-contrib
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsPermission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
secrets or environment access, shell or command execution
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness