From neo4j
This skill should be used when the user wants to query a Neo4j graph database, run Cypher statements, inspect node labels or relationship types, check schema constraints or indexes, verify Neo4j connectivity, or explore graph data. Triggers include: "run a Cypher query", "what nodes are in my graph", "list relationship types", "check my Neo4j instance", "show me the graph schema", or any question about graph database queries.
How this skill is triggered — by the user, by Claude, or both
Slash command
/neo4j:neo4jThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Graph database — nodes, relationships, Cypher queries. Drive it with Cypher over Neo4j's **HTTP transactional API**.
Graph database — nodes, relationships, Cypher queries. Drive it with Cypher over Neo4j's HTTP transactional API.
NEO4J_USER=$(grep -E '^NEO4J_USER=' ~/.lab/.env | cut -d= -f2-)
NEO4J_PASSWORD=$(grep -E '^NEO4J_PASSWORD=' ~/.lab/.env | cut -d= -f2-)
NEO4J_DB=$(grep -E '^NEO4J_DB=' ~/.lab/.env | cut -d= -f2-); NEO4J_DB=${NEO4J_DB:-neo4j}
# NOTE: ~/.lab/.env stores NEO4J_URL as a bolt:// endpoint, which curl cannot speak.
# The HTTP API listens separately (default port 7474). Set NEO4J_HTTP_URL to it:
NEO4J_HTTP_URL="http://<neo4j-host>:7474" # adjust host/port to your HTTP listener
AUTH=(-u "$NEO4J_USER:$NEO4J_PASSWORD")
Auth is HTTP Basic. The bolt:// URL in ~/.lab/.env is for binary Bolt clients (cypher-shell, drivers) — for curl you need the HTTP listener URL. Never echo the password.
All queries go through POST /db/<database>/tx/commit with a statements array:
cypher() {
jq -n --arg stmt "$1" '{"statements":[{"statement":$stmt}]}' | \
curl -sS "${AUTH[@]}" -H 'Content-Type: application/json' \
"$NEO4J_HTTP_URL/db/$NEO4J_DB/tx/commit" \
-d @-
}
| Intent | Cypher (pass to cypher) |
|---|---|
| Read query | MATCH (n) RETURN n LIMIT 25 |
| Write query (destructive) | CREATE (n:Person {name:'Ada'}) RETURN n |
| List node labels | CALL db.labels() |
| List relationship types | CALL db.relationshipTypes() |
| List constraints | SHOW CONSTRAINTS |
| List indexes | SHOW INDEXES |
| List databases | SHOW DATABASES |
| Server / components info | CALL dbms.components() |
Multi-statement transaction: pass several objects in the statements array of a single tx/commit call. Server discovery (available endpoints) is GET $NEO4J_HTTP_URL/.
Any write Cypher (CREATE, MERGE, SET, DELETE, DROP, etc.) mutates the graph. Confirm with the user before running writes or multi-statement transactions that include them.
NEO4J_USER, NEO4J_PASSWORD, NEO4J_DB, and NEO4J_URL (bolt) live in ~/.lab/.env. For curl you additionally need the HTTP listener URL (NEO4J_HTTP_URL), which is not stored there by default. Verify connectivity:
curl -sS "${AUTH[@]}" "$NEO4J_HTTP_URL/" -w '\nHTTP %{http_code}\n'
If only Bolt is exposed, use cypher-shell -a "$NEO4J_URL" -u "$NEO4J_USER" -p "$NEO4J_PASSWORD" instead of curl.
qdrant skill.Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub jmagar/dendrite --plugin neo4j