SurrealDB 3
Expert SurrealDB 3 architect and developer skill (tracks v3.1.4+). SurrealQL mastery, multi-model data modeling (document, graph, vector, time-series, geospa...
Rank
62
Safety
84
Downloads
2.2k
Updated
Oct 9, 2026
Version
1.7.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2.2K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2.2K downloadsadoption · observed Oct 9, 2026
- Latest release
- 1.7.1release · observed Jun 17, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s178bj90ka9xeg44k6bt7q07k184jcr0:surrealdb- Install using `clawhub skill install s178bj90ka9xeg44k6bt7q07k184jcr0:surrealdb` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/24601/surrealdb before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-24601-surrealdb/snapshot"
Documentation
CLAWHUB
160,000 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: surrealdb
description: "Expert SurrealDB 3 architect and developer skill (tracks v3.1.4+). SurrealQL mastery, multi-model data modeling (document, graph, vector, time-series, geospatial), schema design, security, deployment, performance tuning, SDK integration (JS, Python, Go, Rust, Java, .NET, C, PHP, Swift, Kotlin, Ruby), Surrealism WASM extensions, SurrealML scope coverage (preview), built-in MCP (v3.1+) and standalone SurrealMCP, LangChain Python integration, editor tooling (LSP v0.1.6, tree-sitter, CodeMirror v1.0.6, VS Code/JetBrains/Neovim/Zed), and ecosystem integrations (Surrealist v3.9, Surreal-Sync, SurrealFS, SurrealKit v0.7, n8n, Agent Skills, setup-surreal). Universal skill for 30+ AI agents."
version: "1.7.1"
license: MIT
metadata:
version: "1.7.1"
author: "24601"
snapshot_date: "2026-06-17"
repository: "https://github.com/24601/surreal-skills"
openclaw:
requires:
env:
- SURREAL_ENDPOINT
- SURREAL_USER
- SURREAL_PASS
- SURREAL_NS
- SURREAL_DB
bins:
- surreal
- python3
- uv
primaryEnv: SURREAL_PASS
homepage: "https://github.com/24601/surreal-skills"
always: false
install:
- kind: brew
formula: surrealdb/tap/surreal
bins: [surreal]
- kind: brew
formula: uv
bins: [uv]
requires:
binaries:
- name: surreal
install: "brew install surrealdb/tap/surreal"
purpose: "SurrealDB CLI for server management, SQL REPL, import/export"
optional: false
- name: python3
version: ">=3.10"
purpose: "Required for skill scripts (doctor.py, schema.py, onboard.py)"
optional: false
- name: uv
install: "brew install uv"
purpose: "PEP 723 script runner -- installs script deps automatically"
optional: false
- name: docker
purpose: "Containerized SurrealDB instances"
optional: true
- name: gh
install: "brew install gh"
purpose: "GitHub CLI -- used only by check_upstream.py for comparing upstream repo SHAs"
optional: true
env_vars:
- name: SURREAL_ENDPOINT
purpose: "SurrealDB server URL"
default: "http://localhost:8000"
sensitive: false
- name: SURREAL_USER
purpose: "Authentication username"
default: "root"
sensitive: true
- name: SURREAL_PASS
purpose: "Authentication password"
default: "root"
sensitive: true
- name: SURREAL_NS
purpose: "Default namespace"
default: "test"
sensitive: false
- name: SURREAL_DB
purpose: "Default database"
default: "test"
sensitive: false
security:
no_network: false
no_network_note: "doctor.py and schema.py connect to a user-specified SurrealDB endpoint (WebSocket) for health checks and schema introspection. check_upstream.py calls GitHub API via gh CLI to compare upstream repo SHAs. No other third-party network calls."
no_credentials: false
no_credentials_noskills/surreal-sync/SKILL.md
---
name: surreal-sync
description: "Data migration and synchronization to SurrealDB from MongoDB, PostgreSQL, MySQL, Neo4j, Kafka, and JSONL. Full and incremental CDC sync. Part of the surreal-skills collection."
license: MIT
metadata:
version: "1.7.1"
author: "24601"
parent_skill: "surrealdb"
snapshot_date: "2026-06-17"
upstream:
repo: "surrealdb/surreal-sync"
release: "v0.3.4"
sha: "59b3166910f0"
---
# Surreal-Sync -- Data Migration and Synchronization
Surreal-Sync is a CLI tool for migrating data from various database sources to
SurrealDB with full and incremental synchronization via Change Data Capture (CDC).
## Supported Sources
| Source | Full Sync | Incremental CDC | Method |
|--------|-----------|----------------|--------|
| MongoDB | Yes | Yes | Change streams |
| MySQL | Yes | Yes | Trigger-based CDC + sequence checkpoints |
| PostgreSQL (triggers) | Yes | Yes | Trigger-based CDC + sequence checkpoints |
| PostgreSQL (wal2json) | Yes | Yes | Logical replication with wal2json plugin |
| Neo4j | Yes | Yes | Timestamp-based tracking |
| JSONL Files | Yes | N/A | Batch import from JSON Lines |
| Apache Kafka | Yes | Yes | Consumer subscriptions with deduplication |
## Quick Start
```bash
# Install surreal-sync (Rust binary)
cargo install surreal-sync
# Full sync from PostgreSQL (trigger-based)
surreal-sync from postgres trigger-full \
--connection-string "postgresql://user:pass@localhost/mydb" \
--surreal-endpoint "http://localhost:8000" \
--surreal-username root \
--surreal-password root \
--to-namespace prod \
--to-database main
# Incremental CDC from PostgreSQL (wal2json)
surreal-sync from postgres wal2json \
--connection-string "postgresql://user:pass@localhost/mydb" \
--surreal-endpoint "http://localhost:8000" \
--surreal-username root \
--surreal-password root \
--to-namespace prod \
--to-database main
# Full sync from MongoDB
surreal-sync from mongo full \
--connection-string "mongodb://localhost:27017/mydb" \
--surreal-endpoint "http://localhost:8000" \
--surreal-username root \
--surreal-password root \
--to-namespace prod \
--to-database main
# Batch import from JSONL
surreal-sync from jsonl import \
--file data.jsonl \
--surreal-endpoint "http://localhost:8000" \
--surreal-username root \
--surreal-password root \
--to-namespace prod \
--to-database main
# Consume from Kafka
surreal-sync from kafka consume \
--bootstrap-servers "localhost:9092" \
--topic my-events \
--surreal-endpoint "http://localhost:8000" \
--surreal-username root \
--surreal-password root \
--to-namespace prod \
--to-database main
```
## CLI Pattern
```
surreal-sync from <SOURCE> <COMMAND> \
--connection-string [CONNECTION STRING] \
--surreal-endpoint [SURREAL ENDPOINT] \
--surreal-username [SURREAL USERNAME] \
--surreal-password [SURREAL PASSWORD] \
--to-namespace <NS> \
--to-database <DB>
```
## Key Features
- Automatic schema inference and Surreaskills/surrealfs/SKILL.md
---
name: surrealfs
description: "SurrealFS virtual filesystem for AI agents. Rust core + Python agent (Pydantic AI). Persistent file operations backed by SurrealDB. Part of the surreal-skills collection."
license: MIT
metadata:
version: "1.7.1"
author: "24601"
parent_skill: "surrealdb"
snapshot_date: "2026-06-17"
upstream:
repo: "surrealdb/surrealfs"
sha: "0008a3a94dbe"
requires:
env_vars:
- name: SURREAL_ENDPOINT
purpose: "SurrealDB server URL (for remote backend)"
sensitive: false
- name: SURREAL_USER
purpose: "SurrealDB authentication username"
sensitive: true
- name: SURREAL_PASS
purpose: "SurrealDB authentication password"
sensitive: true
security:
no_network: false
no_network_note: "Connects to user-specified SurrealDB endpoint. Python agent hosts HTTP on localhost by default."
no_credentials: false
no_credentials_note: "Requires SurrealDB credentials for remote backend connections."
scripts_auditable: true
no_obfuscated_code: true
no_binary_blobs: true
---
# SurrealFS -- Virtual Filesystem for AI Agents
SurrealFS provides a persistent, queryable virtual filesystem backed by SurrealDB.
Designed for AI agents that need durable file operations, hierarchical storage,
and content search across sessions.
## Components
| Component | Crate/Package | Language | Purpose |
|-----------|---------------|----------|---------|
| Core Library | `surrealfs` | Rust | Filesystem operations, CLI REPL, SurrealDB storage layer |
| AI Agent | `surrealfs-ai` | Python (Pydantic AI) | Agent interface with tool integration, HTTP hosting |
## Rust Core -- Commands
The `surrealfs` crate provides a REPL with POSIX-like commands:
| Command | Description |
|---------|-------------|
| `ls` | List directory contents |
| `cat` | Display file contents |
| `tail` | Show last lines of a file |
| `nl` | Number lines of a file |
| `grep` | Search file contents |
| `touch` | Create empty file |
| `mkdir` | Create directory |
| `write_file` | Write content to file |
| `edit` | Edit file contents |
| `cp` | Copy file |
| `cd` | Change directory |
| `pwd` | Print working directory |
Supports piping from external commands: `curl https://example.com > /pages/example.html`
Storage backends:
- Embedded RocksDB (local)
- Remote SurrealDB via WebSocket
## Python AI Agent
Built on Pydantic AI with tools that mirror the filesystem commands.
```python
from surrealfs_ai import build_chat_agent
# Create the agent (default LLM: Claude Haiku)
agent = build_chat_agent()
# Expose over HTTP
import uvicorn
app = agent.to_web()
uvicorn.run(app, host="127.0.0.1", port=7932)
```
Features:
- Default LLM: Claude Haiku
- Telemetry via Pydantic Logfire (OpenTelemetry) -- see Security section for opt-out
- All filesystem operations available as agent tools
- HTTP hosting (default port 7932, bound to 127.0.0.1)
- Path normalization: virtual FS root `/` is isolated; paths cannot escape to host filesystem
## Quicskills/surrealism/SKILL.md
---
name: surrealism
description: "SurrealDB Surrealism WASM extension development. Write Rust functions, compile to WASM, deploy as database modules. Part of the surreal-skills collection."
license: MIT
metadata:
version: "1.7.1"
author: "24601"
parent_skill: "surrealdb"
snapshot_date: "2026-06-17"
upstream:
repo: "surrealdb/surrealdb"
release: "v3.1.4"
sha: "a97d3af85d79"
docs: "https://surrealdb.com/docs/surrealdb/extensions"
---
# Surrealism -- WASM Extensions for SurrealDB
New in SurrealDB 3. Write custom functions in Rust, compile them to WebAssembly
(WASM), and deploy them as native database modules callable from SurrealQL.
## Prerequisites
- Rust toolchain (stable) with `wasm32-unknown-unknown` target
- SurrealDB CLI v3.1.4+ (`surreal` binary with `surreal module` subcommand)
- Familiarity with SurrealQL `DEFINE MODULE` and `DEFINE BUCKET`
## Development Workflow
```
1. Annotate -- surrealism.toml + #[surrealism] on Rust functions
2. Compile -- surreal module compile (produces .wasm binary)
3. Register -- DEFINE BUCKET + DEFINE MODULE in SurrealQL
```
## Quick Start
```bash
# Create a new Surrealism project
cargo new --lib my_extension
cd my_extension
# Add the WASM target
rustup target add wasm32-unknown-unknown
# Create surrealism.toml (required manifest)
cat > surrealism.toml << 'TOML'
[package]
name = "my_extension"
version = "0.1.0"
TOML
# Write your extension (annotate with #[surrealism])
cat > src/lib.rs << 'RUST'
use surrealism::surrealism;
#[surrealism]
fn greet(name: String) -> String {
format!("Hello, {}!", name)
}
RUST
# Compile to WASM using SurrealDB CLI
surreal module compile
# Register in SurrealDB
surreal sql --endpoint http://localhost:8000 --user root --pass root --ns test --db test
```
```surql
-- Grant access to the WASM file
DEFINE BUCKET my_bucket;
-- Register the module functions
DEFINE MODULE my_extension FROM 'my_bucket:my_extension.wasm';
-- Use the function in queries
SELECT my_extension::greet('World');
```
## Use Cases
- Custom scalar functions callable from SurrealQL
- Fake/mock data generation for testing
- Domain-specific logic (language processing, quantitative finance, custom encoding)
- Access to niche Rust crate functionality too specific for core SurrealDB
- Custom analyzers for full-text search
## Status
Surrealism is actively in development and not yet stable. The API may change
between SurrealDB 3.x releases. File feedback via GitHub issues/PRs on the
[surrealdb/surrealdb](https://github.com/surrealdb/surrealdb) repository.
## Full Documentation
See the main skill's rule file for complete guidance:
- **[rules/surrealism.md](../../rules/surrealism.md)** -- project setup, Rust function signatures, WASM compilation, DEFINE MODULE/BUCKET syntax, deployment, testing, and best practices
- **[SurrealDB Extensions Docs](https://surrealdb.com/docs/surrealdb/extensions)** -- official documentation
- **[CLI module command](https://surrealdb.com/docsskills/surrealkit/SKILL.md
---
name: surrealkit
description: "SurrealKit schema sync, rollout migrations, seeding, and declarative testing for SurrealDB apps. Part of the surreal-skills collection."
license: MIT
metadata:
version: "1.7.1"
author: "24601"
parent_skill: "surrealdb"
snapshot_date: "2026-06-17"
upstream:
repo: "surrealdb/surrealkit"
release: "v0.6.3"
sha: "7771b93ea563"
---
# SurrealKit -- Schema Management for SurrealDB Apps
SurrealKit manages SurrealDB application schemas as desired-state `.surql`
files, with separate paths for disposable development databases and shared or
production rollouts.
Tracked upstream snapshot: **v0.6.3** pre-release (`7771b93ea563`, 2026-05-13).
The v0.6.1 -> v0.6.3 patch line added library-lock fixes, template variables,
comment-stripping cleanup, `DROP ... IF EXISTS` handling, and `DEFINE` coverage
for `BUCKET`, `SEQUENCE`, and `CONFIG`.
## Quick Start
```bash
# Install
cargo binstall surrealkit
# or: cargo install surrealkit
# Scaffold project structure
surrealkit init
# Reconcile local/disposable database to local schema files
surrealkit sync
# Generate and apply a reviewed rollout for shared/prod
surrealkit rollout plan --name add_customer_indexes
surrealkit rollout start 20260410120000__add_customer_indexes
surrealkit rollout complete 20260410120000__add_customer_indexes
```
## Core Commands
| Command | Use |
|---------|-----|
| `surrealkit sync` | Desired-state reconciliation for local, preview, or disposable DBs |
| `surrealkit sync --watch` | Local development loop with file watching |
| `surrealkit rollout baseline` | Establish rollout tracking on an existing shared DB |
| `surrealkit rollout plan --name <name>` | Create a reviewed manifest from current schema diff |
| `surrealkit rollout start <id>` | Apply the expansion phase |
| `surrealkit rollout complete <id>` | Apply the contract/destructive phase after cutover |
| `surrealkit rollout rollback <id>` | Roll back an in-flight rollout |
| `surrealkit rollout lint <id>` | Validate a rollout without mutating the DB |
| `surrealkit rollout status` | Inspect rollout state stored in the DB |
| `surrealkit seed` | Apply seed data |
| `surrealkit test` | Run declarative schema, permission, and API tests |
## When to Use It
- Use `sync` when the database should mirror local files immediately.
- Use `rollout` when changes need staging, review, rollback, or controlled cutover.
- Use `seed` for deterministic fixture data.
- Use `test` in CI to validate permissions, schema behavior, and API contracts.
## Environment
SurrealKit reads these variables:
- `SURREALDB_HOST` (fallback: `DATABASE_HOST`)
- `SURREALDB_NAME` (fallback: `DATABASE_NAME`)
- `SURREALDB_NAMESPACE` (fallback: `DATABASE_NAMESPACE`)
- `SURREALDB_USER` (fallback: `DATABASE_USER`)
- `SURREALDB_PASSWORD` (fallback: `DATABASE_PASSWORD`)
- `SURREALDB_AUTH_LEVEL` (fallback: `DATABASE_AUTH_LEVEL`)
## Testing
Declarative suites in `database/tests/suites/*.toml` support:
- `sql_expecAionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/24601/skills/surrealdb",
"sourceUrl": "https://clawhub.ai/24601/skills/surrealdb",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T17:13:26.276Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-24601-surrealdb/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-24601-surrealdb/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T17:13:26.276Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.2K downloads",
"href": "https://clawhub.ai/24601/surrealdb",
"sourceUrl": "https://clawhub.ai/24601/surrealdb",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T17:13:26.276Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.7.1",
"href": "https://clawhub.ai/24601/surrealdb",
"sourceUrl": "https://clawhub.ai/24601/surrealdb",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-17T17:15:12.566Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-24601-surrealdb/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-24601-surrealdb/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.7.1",
"description": "## [1.7.1] - 2026-06-17 — cross-domain gotchas catalog ### Added - **`rules/gotchas.md`** — consolidated footgun reference covering upgrade/migration, security, graph, vector, SurrealQL, MCP, SDK, and operational gotchas (v3.1.4+). - **AGENTS.md decision tree** for \"surprising SurrealDB behavior / gotcha\" queries. - **`gotchas` capability** in `onboard.py --agent` manifest. ### Changed - **`rules/graph-queries.md`** — renamed section to \"Graph Gotchas\" with pointer to `rules/gotchas.md` for cross-domain coverage. - **`rules/surrealql.md`** — replaced stale v3.1.0-alpha stub with v3.1.4 patch notes summary linking to gotchas and deployment rules.",
"href": "https://clawhub.ai/24601/surrealdb",
"sourceUrl": "https://clawhub.ai/24601/surrealdb",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-17T17:15:12.566Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
