surrealdb
Skill34 starsChanged 6 months agoMITView on GitHub
Expert SurrealDB 3 skill. Use when working with SurrealDB, SurrealQL queries, multi-model data modeling (document, graph, vector, time-series, geospatial), schema design, graph traversal, vector search, security and permissions, deployment and operations, performance tuning, SDK integration, Surrealism WASM extensions, SurrealMCP, Surrealist IDE, Surreal-Sync migrations, SurrealFS, SurrealKit, or ecosystem integrations such as n8n and CodeMirror.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- Quad4-Software/skillstheir own version, first seen Oct 3, 2026
- CaliLuke/skillstheir own version, first seen May 15, 2026
- tyrchen/claude-skillstheir own version, first seen Nov 10, 2025
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- tyrchen/claude-skills★ 45same name
- CaliLuke/skills★ 7same name
- Quad4-Software/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 82
Multi-model: Document + Graph + Vector + Time-series + Geospatial in one DB
- Distinctive: line 106
Prefer package-manager or container installs over remote shell installers.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SurrealDB 3 Expert Skill
Expert-level SurrealDB 3 architecture, development, and operations for GitHub Copilot.
When Copilot Should Use This Skill
Activate automatically when the user:
- Writes or asks about SurrealQL queries
- Works with
.surqlfiles - Designs database schemas for SurrealDB
- Configures SurrealDB deployment or Docker
- Uses SurrealDB SDKs (JavaScript, Python, Go, Rust, Java, Kotlin, .NET, C, PHP, Swift, Ruby)
- Works with graph relationships (RELATE, traversal)
- Implements vector search or RAG patterns
- Configures security, permissions, or access control
- Builds Surrealism WASM extensions
- Migrates data to SurrealDB from other databases
- Connects SurrealDB to MCP hosts, n8n, AI frameworks, or custom editors
Rules Reference
This skill contains 18 detailed rule files. Read the relevant rule file when the user's request matches its domain:
| Rule File | When to Load | Domain |
| surrealql.md | Writing or debugging SurrealQL queries | Full SurrealQL language reference |
| data-modeling.md | Designing schemas, choosing field types, record IDs | Multi-model schema design patterns |
| graph-queries.md | RELATE, graph traversal, path expressions | Graph edge and traversal patterns |
| vector-search.md | HNSW indexes, similarity search, embeddings | Vector search and RAG pipelines |
| security.md | Permissions, auth, JWT, access control | Row-level security and auth flows |
| deployment.md | Installing, configuring, running SurrealDB | Storage engines, Docker, Kubernetes |
| performance.md | Slow queries, index strategy, EXPLAIN | Performance tuning and optimization |
| sdks.md | Using SurrealDB from application code | JS, Python, Go, Rust, Java, Kotlin, .NET, C, PHP, Swift, Ruby patterns |
| surrealism.md | Writing WASM extensions | Rust to WASM extension development |
| surrealml.md | Working near SurrealML | Preview .surml boundary and native dependency warning |
| surrealmcp.md | Connecting AI hosts | MCP tool catalog and deployment |
| editor-tooling.md | Editor / IDE support | LSP, tree-sitter, CodeMirror, editor extensions |
| langchain.md | LangChain RAG | Python vector store API |
| ecosystem-integrations.md | n8n / framework pointers | n8n, AI framework docs, Spectron boundary, Agent Skills |
| surrealist.md | Using the Surrealist IDE/GUI | IDE features and schema designer |
| surreal-sync.md | Migrating from other databases | CDC sync from Postgres, Mongo, etc. |
| surrealfs.md | AI agent filesystem operations | Virtual FS backed by SurrealDB |
| surrealkit.md | Schema sync, rollouts, seeds, and declarative tests | Desired-state schema management for SurrealDB apps |
Quick Reference
SurrealQL Essentials
-- Create records
CREATE person:alice SET name = 'Alice', age = 30;
-- Graph edges
RELATE person:alice->follows->person:bob SET since = time::now();
-- Traverse graph
SELECT ->follows->person.name AS following FROM person:alice;
-- Vector search (HNSW)
DEFINE INDEX idx_embed ON document FIELDS embedding HNSW DIMENSION 1536 DIST COSINE;
SELECT * FROM document WHERE embedding <|10,40|> $query_vector;
-- Row-level permissions
DEFINE TABLE post SCHEMALESS PERMISSIONS
FOR select WHERE published = true OR user = $auth.id
FOR create, update WHERE user = $auth.id;
-- Live queries
LIVE SELECT * FROM person WHERE age > 25;Key Concepts
- Record IDs:
table:id(e.g.,person:alice) -- first-class citizens, no JOINs needed - Multi-model: Document + Graph + Vector + Time-series + Geospatial in one DB
- Graph operators:
->(outgoing),<-(incoming),<->(bidirectional) - KNN operator:
<|K,EF|>where K=neighbors, EF=search parameter (NOT distance metric) - Storage engines: memory, RocksDB, SurrealKV (time-travel), TiKV (distributed)
- WASM extensions: New in v3 -- write Rust, compile to WASM, register with DEFINE MODULE
Scripts
# Health check
uv run scripts/doctor.py
# Schema introspection
uv run scripts/schema.py introspect
# Check upstream for updates
uv run scripts/check_upstream.pySecurity Notes
- Examples use
root/rootfor local development only. Use scoped credentials in production. - Scripts connect to user-specified endpoints only. No third-party network calls.
- Table names are validated against
[a-zA-Z_][a-zA-Z0-9_]*before query interpolation. - Prefer package-manager or container installs over remote shell installers.
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.

