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.
Expert-level SurrealDB 3 architecture, development, and operations for GitHub Copilot.
Activate automatically when the user:
.surql filesThis 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 |
-- 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;
table:id (e.g., person:alice) -- first-class citizens, no JOINs needed-> (outgoing), <- (incoming), <-> (bidirectional)<|K,EF|> where K=neighbors, EF=search parameter (NOT distance metric)# Health check
uv run scripts/doctor.py
# Schema introspection
uv run scripts/schema.py introspect
# Check upstream for updates
uv run scripts/check_upstream.py
root/root for local development only. Use scoped credentials in production.[a-zA-Z_][a-zA-Z0-9_]* before query interpolation.Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/surrealdb · pinned to the source commit
git clone https://github.com/24601/surreal-skills.git
cd surreal-skills
git checkout 4e66534bc9e56699c471cd7739297c7e184656b0
mkdir -p ".claude/skills/surrealdb"
cp -r ".github/skills/surrealdb" ".claude/skills/surrealdb"Review the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
Scanner static-checks@0.1.0 · commit 4e66534bc9e5. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
References parent-directory traversal, which can escape a target directory.
Evidence: ../· fingerprint fa08499e14d0113b