
Neo4j Aura Agent Skill
Stand up and operate Neo4j Aura Agents with GraphRAG tools over an AuraDB knowledge graph via REST scripts.
Overview
neo4j-aura-agent-skill is an agent skill for the Build phase that creates, configures, and invokes Neo4j Aura GraphRAG agents over AuraDB using schema-driven tool selection and the v2beta1 REST API.
Install
npx skills add https://github.com/neo4j-contrib/neo4j-skills --skill neo4j-aura-agent-skillWhat is this skill?
- Fetches AuraDB graph schema and annotates property types for tool design
- Guides tool choice across CypherTemplate, SimilaritySearch, and Text2Cypher from schema and use case
- Creates, lists, and manages Aura Agents through the v2beta1 REST API
- Sets system prompts and visibility (private/public, REST/MCP)
- Invokes agents with natural language and parses structured responses
- Three guided Aura Agent tool types: CypherTemplate, SimilaritySearch, Text2Cypher
- Python 3.13+ project with uv sync and documented manage_agent.py / fetch_schema.py scripts
Adoption & trust: 1 installs on skills.sh; 80 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You have knowledge in AuraDB but no repeatable path to turn graph schema into the right agent tools, prompts, and managed Aura Agent instances.
Who is it for?
Solo builders shipping graph-backed AI features who already run AuraDB and hold Aura API credentials.
Skip if: Teams without AuraDB data loaded, without Aura Agent enabled in org settings, or who only need local Neo4j Desktop without cloud agents.
When should I use this skill?
You need to create or manage Neo4j Aura Agents on an existing AuraDB knowledge graph with REST or MCP exposure.
What do I get? / Deliverables
You get scripted schema fetch, tool-matched agent configs, and working natural-language invocations ready to hook into your app or MCP surface.
- Annotated graph schema output for tool design
- Configured Aura Agent with system prompt and visibility settings
- Validated natural-language query responses from agent invocation
Recommended Skills
Journey fit
Aura Agent creation, tool wiring, and invocation are core product integration work during the build phase. The skill is procedural knowledge for configuring agent tooling (CypherTemplate, SimilaritySearch, Text2Cypher) against a live graph backend.
How it compares
Use as an agent-skill playbook with REST scripts, not a hosted MCP server or generic chat wrapper.
Common Questions / FAQ
Who is neo4j-aura-agent-skill for?
Indie and small-team developers building GraphRAG or graph-aware assistants on Neo4j Aura who want API-driven agent lifecycle management from Claude Code, Cursor, or similar agents.
When should I use neo4j-aura-agent-skill?
During build when integrating agent-tooling against AuraDB—after loading a knowledge graph and before exposing an agent via REST or MCP to your product.
Is neo4j-aura-agent-skill safe to install?
The skill expects Aura client secrets and network calls to Neo4j cloud APIs; review the Security Audits panel on this page and scope credentials to a dedicated project before running manage scripts.
SKILL.md
READMESKILL.md - Neo4j Aura Agent Skill
3.13 [project] name = "neo4j-aura-agent-skill" version = "0.1.0" description = "Scripts for creating and managing Neo4j Aura Agents via the v2beta1 REST API" readme = "README.md" requires-python = ">=3.13" dependencies = [ "neo4j>=6.1.0", "neo4j-graphrag>=1.15.0", "python-dotenv>=1.2.2", "requests>=2.33.1", ] # neo4j-aura-agent-skill Create, configure, and invoke [Neo4j Aura Agents](https://neo4j.com/docs/aura/aura-agent/) — GraphRAG agents backed by an AuraDB knowledge graph. ## What this skill does - Fetches the graph schema from AuraDB and annotates property types for tool design - Guides tool selection (CypherTemplate, SimilaritySearch, Text2Cypher) based on use cases and schema - Creates and manages Aura Agents via the v2beta1 REST API - Sets system prompts and agent visibility (private/public, REST/MCP) - Invokes agents with natural language queries and parses responses ## Requirements - Running AuraDB instance with knowledge graph loaded - "Generative AI assistance" + "Aura Agent" enabled in Aura org settings - Project admin access - `AURA_CLIENT_ID` and `AURA_CLIENT_SECRET` from console.neo4j.io → API Credentials - Organization ID and Project ID from the Aura console URL ## Install dependencies ```bash uv sync ``` ## Quick start ```bash # Fetch graph schema and detect vector indexes uv run python3 scripts/fetch_schema.py # List existing agents uv run python3 scripts/manage_agent.py list # Create an agent from a config file uv run python3 scripts/manage_agent.py create --config agent-config.json # Invoke the agent uv run python3 scripts/invoke_agent.py --agent-id "$AURA_AGENT_ID" "What can you help me with?" ``` ## Files | File | Purpose | |---|---| | `SKILL.md` | Agent-readable operational playbook | | `scripts/fetch_schema.py` | Fetch graph schema from AuraDB; save to `schema.json` | | `scripts/manage_agent.py` | CRUD operations (list/create/get/update/delete) | | `scripts/invoke_agent.py` | Send queries to a deployed agent | | `references/REFERENCE.md` | Full API schema, embedding providers, response formats | # Aura Agent Authoring Guide Best practices for system prompts, tool names, tool descriptions, and parameter descriptions. The agent's LLM reads all of these at inference time to decide which tool to call and how to answer. Quality here determines routing accuracy and answer quality. --- ## System Prompt ### Purpose Defines the agent's identity, scope, and behavior constraints. Supplements — does not replace — tool descriptions. ### Rules **Role sentence** — one sentence: domain + expertise level. ``` ✅ "You are a specialist assistant for commercial contract analysis using a knowledge graph." ❌ "You are a helpful AI assistant." ``` **Supported use cases** — bullet list of what it can answer. Keeps LLM from fabricating capabilities. ``` ✅ "You can: look up agreements by party or type, find similar clause language, identify contracts expiring within a date range." ❌ (omitting this — LLM will guess its own scope) ``` **Explicit boundaries** — state what it cannot do; do not rely on tool absence alone. ``` ✅ "You cannot modify data, generate contract drafts, or access documents outside the knowledge graph." ❌ (omitting this — LLM may attempt tasks outside its tools) ``` **Tool preference order** — tell it which tool to try first for specific lookups. Without this, LLM defaults to Text2Cypher for everything. ``` ✅ "For lookups by a known ID or property value, prefer CypherTemplate tools over the Text2Cypher tool." ``` **Uncertainty handling** — tell it to say so when it cannot answer. Prevents hallucination. ``` ✅ "If you cannot find an answer using the available tools, say so explicitly. Do not guess." ``` **Output format** — specify structure when the use case demands it. ``` ✅ "Always include the source node ID or property in your answer so users can verify." ✅ "For comparisons across multiple items, use a table." ``` **Citation rule** — tell it to reference graph d