Communitygithub.com

24601/surreal-skills

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.

surreal-skills란 무엇인가요?

surreal-skills is a Claude Code agent skill that 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.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/24601/surreal-skills/tree/main/.github/skills/surrealdb

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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 .surql files
  • 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 FileWhen to LoadDomain
surrealql.mdWriting or debugging SurrealQL queriesFull SurrealQL language reference
data-modeling.mdDesigning schemas, choosing field types, record IDsMulti-model schema design patterns
graph-queries.mdRELATE, graph traversal, path expressionsGraph edge and traversal patterns
vector-search.mdHNSW indexes, similarity search, embeddingsVector search and RAG pipelines
security.mdPermissions, auth, JWT, access controlRow-level security and auth flows
deployment.mdInstalling, configuring, running SurrealDBStorage engines, Docker, Kubernetes
performance.mdSlow queries, index strategy, EXPLAINPerformance tuning and optimization
sdks.mdUsing SurrealDB from application codeJS, Python, Go, Rust, Java, Kotlin, .NET, C, PHP, Swift, Ruby patterns
surrealism.mdWriting WASM extensionsRust to WASM extension development
surrealml.mdWorking near SurrealMLPreview .surml boundary and native dependency warning
surrealmcp.mdConnecting AI hostsMCP tool catalog and deployment
editor-tooling.mdEditor / IDE supportLSP, tree-sitter, CodeMirror, editor extensions
langchain.mdLangChain RAGPython vector store API
ecosystem-integrations.mdn8n / framework pointersn8n, AI framework docs, Spectron boundary, Agent Skills
surrealist.mdUsing the Surrealist IDE/GUIIDE features and schema designer
surreal-sync.mdMigrating from other databasesCDC sync from Postgres, Mongo, etc.
surrealfs.mdAI agent filesystem operationsVirtual FS backed by SurrealDB
surrealkit.mdSchema sync, rollouts, seeds, and declarative testsDesired-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.py

Security Notes

  • Examples use root/root for 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.

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

관련 스킬