neo4j-support-specialist
Skill141 starsChanged 8 days agoApache-2.0View on GitHub
Diagnoses self-managed Neo4j 2026.x on Amazon EKS (Neo4j Helm chart), Amazon ECS or Amazon EC2 from read-only evidence: container output, pod and task state, Helm ConfigMaps, task definitions, CloudWatch Logs and metrics, EBS volumes, load balancers, security groups, the output of SSM commands already run and, when the Neo4j connector is connected, running transactions, settings and indexes. Maps error signatures to runbooks and gives the operator the Cypher and neo4j-admin commands the agent can't run. Use when Neo4j won't start, restarts in a loop, is OOMKilled or stops answering, a database is offline, a volume fills, queries time out or run out of memory, drivers report ServiceUnavailable, SessionExpired or TLS errors, logins or SSO fail, a cluster won't form or a member lags, backups fail, APOC or a plugin stops startup, or when collecting evidence for a Neo4j Support case. Not for Neo4j Aura, Bloom, GDS, Cypher how-to, or other databases.
In this repository102 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- agentcore-observability-setupSkill
- agentcore-ops-reviewSkill
- aiml-access-diagnosticsSkill
- aiml-gpu-training-cluster-investigationSkill
- analytics-opensearch-expertiseSkill
- aws-backup-coverage-reviewSkill
- aws-eks-healthdashboardSkill
- aws-eks-operations-reviewSkill
- aws-fsxn-operations-reviewSkill
- aws-health-eventsSkill
- aws-natgw-traffic-analysisSkill
- aws-routingSkill
- aws-vpc-dns-investigationSkill
- bedrock-adoption-readinessSkill
- bedrock-operation-reviewSkill
- bluebox-observabilitySkill
- bronto-dataset-discoverySkill
- bronto-error-investigationSkill
- bronto-log-searchSkill
- clickstack-investigationSkill
- cloudtrail-cost-optimizationSkill
- config-cost-optimizationSkill
- coralogix-ai-centerSkill
- coralogix-alertsSkill
- coralogix-case-analyticsSkill
- coralogix-case-managementSkill
- coralogix-casesSkill
- coralogix-dashboardsSkill
- coralogix-dataprimeSkill
- coralogix-datasetsSkill
- coralogix-data-usageSkill
- coralogix-docsSkill
- coralogix-infrastructureSkill
- coralogix-logsSkill
- coralogix-metrics-querySkill
- coralogix-ollySkill
- coralogix-rumSkill
- coralogix-service-catalogSkill
- coralogix-single-caseSkill
- coralogix-spansSkill
- coralogix-viewsSkill
- cribl-investigationSkill
- crm-production-investigation-guidelinesSkill
- database-migration-service-expertiseSkill
- database-rds-devopsSkill
- devops-agent-cost-insightsSkill
- dx-vif-resilienceSkill
- ecs-operation-reviewSkill
- eks-upgrade-readinessSkill
- elastic-csp-investigationSkill
- elastic-k8s-investigationSkill
- elastic-llm-obsSkill
- elastic-onboardingSkill
- elastic-service-reliabilitySkill
- elastic-sre-triageSkill
- enrich-with-aws-security-agentSkill
- eos-cost-analysisSkill
- firehose-operation-reviewSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Read only. Never change Neo4j, its configuration, the workload or any AWS resource.
- Very specific: line 26
Never read secret values (Kubernetes Secrets, Secrets Manager, NEO4J_AUTH).
- Very specific: line 84
Read exit codes with the last lines of the previous container output: 1 is a startup error with the cause in container output.
- Distinctive: line 120
If the evidence you read shows no problem, say so and list what you couldn't read.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Neo4j Support Specialist
Diagnose self-managed Neo4j 2026.x on AWS from what Neo4j, the orchestrator and AWS already expose. Name the most likely cause with quoted evidence, then tell the operator what to change and what to collect. The runbooks cover the issues that most often reach Neo4j Support, checked against Neo4j 2026.10.1.
Rules
- Read only. Never change Neo4j, its configuration, the workload or any AWS resource; a human carries out every
recommendation. The only database access is the Neo4j connector's
read-cyphertool, limited to the queries in live-database.md. For any other live database state, give the operator the command from operator-queries.md. - Never read secret values (Kubernetes Secrets, Secrets Manager,
NEO4J_AUTH). Secret names and mount paths are fine. - Quote the log line, field or metric behind every finding, with its source and time.
- A clean container log rules out server startup failures and nothing else. Only neo4j.log reaches container output by default, so an offline database, replication lag, slow queries and transaction memory errors leave no trace there. Say which sources you couldn't read.
- Probe status isn't health. The Helm chart's probes are TCP checks on 7687 and pass while a database is offline or
the JVM is hung after a heap
OutOfMemoryError. - Quote 2026.x names. Translate 3.x to 5.x settings and commands with version-map.md.
- Cover self-managed Neo4j only. For Aura, Bloom, GDS, Cypher how-to or other databases, say the skill doesn't cover it.
Workflow
1. Scope and time window
| Platform | Required scope | First call |
| EKS | Cluster, namespace, and Helm release or pod | use_kubectl get pods -n <ns> -l helm.neo4j.com/instance, then get pod <pod> -o yaml |
| ECS | Cluster and service, or a task ARN | use_aws ecs describe-services --cluster <c> --services <s> |
| EC2 | Instance IDs, or a tag that selects the Neo4j hosts | use_aws ec2 describe-instances --instance-ids <ids> |
Take scope from the request, the alarm or webhook payload, or the agent configuration, never from memory; for a
CloudWatch alarm, read its dimensions with cloudwatch describe-alarms --alarm-names <name>. If no target is named
and you can't ask, list the Neo4j deployments in one Region, check at most 5 (those showing trouble first) and name
the ones you skipped. The window starts 1 hour before the alarm, or covers the last 6 hours without one.
Identify the edition and state it in the report: the image tag (-enterprise is Enterprise; no suffix or -community
is Community), NEO4J_EDITION in the Helm <release>-env ConfigMap, or the EC2 package (neo4j-enterprise or
neo4j). Community has no query.log, security.log, clustering, roles or online backup; what changes is in
editions.md.
2. Evidence, in order
Where each source lives, tool quirks, and how to tell a source is missing: evidence-sources.md. Log calls and Logs Insights queries: log-queries.md.
- Runtime state: pod
lastStateand events, ECS stopped tasks (containers[].reason,exitCode), EC2 status checks and console output. - Container output, current and previous (
--previouson EKS). - Configuration: Helm ConfigMaps and the StatefulSet, the ECS task definition, or SSM command output on EC2.
- Live database, when the Neo4j connector's
read-cyphertool is available: the queries in live-database.md. Without it, list the live database as not available. - Infrastructure: volumes and EBS metrics, Services and load balancers, security groups, and
lookup_cloudtrail_eventsfor changes in the window. - Shipped debug.log, query.log, security.log and client logs, when a log group holds them. Community writes no query.log or security.log.
A log line shows the state when it was written. When a live query or a newer source disagrees with it, report the live value as current and the log line as history, with its timestamp.
3. Match the error
Each runbook issue starts with its Signature (exact text) or Symptom. Match a distinctive fragment of the error, such
as a class name, path or message, not the whole line: fs_grep the runbooks when the skill is on disk
(/aidevops/skills/user/neo4j-support-specialist/), otherwise open the runbook from the table in step 4. A startup
failure is usually A1.1 store lock, A6.1 or A6.2 TLS, A10.1 to A10.4 permissions, open files, ports or settings, or
A12.1 APOC. Not problems: the Fleet Manager banner at startup, Query started: lines, and Raft handler warnings during
database start or stop (A7.3).
Read exit codes with the last lines of the previous container output: 1 is a startup error with the cause in container
output; 137 with OOMKilled (EKS) or container killed due to memory usage (ECS containers[].reason) is a memory
kill that logs nothing; 137 without it is a kill after the stop timeout or by the node; 0 after Stopped. is a clean
stop (A1.4).
4. Runbooks the evidence points to
| Runbook | Read when |
| A1 Startup and recovery | Won't start, restart loop, database offline while the server runs, unclean shutdown |
| A2 Memory and JVM | Memory kill, stops answering while probes pass, memory sizing, GC pauses |
| A3 Disk and storage | Volume full, store doesn't shrink after deletes, slow EBS |
| A4 Queries and transactions | Slow, failing or out-of-memory queries |
| A5 Connectivity and drivers | Clients can't connect, lose sessions or overload one member |
| A6 Authentication and TLS | Logins, SSO, LDAP or TLS fail |
| A7 Clustering | Cluster won't form, a member lags, routing across zones (Enterprise) |
| A8 Backup and restore | Backup or restore fails, backup port exposed, Community dump and load |
| A9 Import and migration | Slow or failing loads, imports and dumps |
| A10 Platform and configuration | Volume permissions, file limits, privileged ports, unknown settings |
| A11 Logging and diagnostics | Which logs exist, what to send Neo4j Support |
| A12 Versions and plugins | APOC or plugin mismatch, missing or blocked procedures |
5. Report
Fill assets/templates/report.md:
- At most 5 findings and 5 recommendations, highest severity first, marked ✅ checked and fine, ⚠️ risk or partial evidence, ❌ confirmed problem.
- Severity: P0 data at risk or every database down; P1 a database, member or the server down, or a restart loop; P2 degraded (slow queries, lag, memory pressure, intermittent client errors); P3 misconfiguration with no current impact; P4 informational.
- Quote the exact error text and its source, and name the runbook issue.
- List each source you couldn't read, such as debug.log that isn't shipped, what it would have answered and the operator command to get it. A missing source isn't a clean result.
- Give operator commands, with names filled in, for every database check the connector can't run. When a support case is likely, add the collection list from A11.1.
- If the evidence you read shows no problem, say so and list what you couldn't read. Don't invent a finding.
- Judge sizes and timeouts against the deployment's own values and the rule in the runbook, such as the stop timeout against the measured shutdown time, or GC pauses against the leader failure window. State the numbers and the reference in the finding.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

