Communitygithub.com

24601/surreal-skills

SurrealDB 3 エキスパートスキル。SurrealDB、SurrealQL クエリ、マルチモデルデータモデリング(ドキュメント、グラフ、ベクトル、時系列、地理空間)、スキーマ設計、グラフトラバーサル、ベクトル検索、セキュリティと権限、デプロイと運用、パフォーマンスチューニング、SDK 統合、Surrealism WASM 拡張、SurrealMCP、Surrealist IDE、Surreal-Sync マイグレーション、SurrealFS、SurrealKit、または n8n や CodeMirror などのエコシステム統合を扱う場合に使用します。

surreal-skills とは?

このスキルは、SurrealDB 3 に関する専門知識を提供し、GitHub Copilot などの AI エージェントがデータベース設計、クエリ作成、デプロイメント、パフォーマンス最適化を支援できるようにします。ドキュメント、グラフ、ベクトル、時系列、地理空間データを単一のデータベースで統一的に扱うマルチモデルアーキテクチャに焦点を当てており、`->` や `<-` によるグラフトラバーサル、HNSW インデックスを使ったベクトル検索、`PERMISSIONS` 句による行レベルセキュリティ、WASM 拡張によるカスタムモジュール開発など、SurrealDB の主要機能を網羅します。JavaScript、Python、Go、Rust、Java など主要な言語向け SDK の使い方から、SurrealMCP による AI ホスト接続、Surrealist IDE の活用、Surreal-Sync による他データベースからのデータ移行、SurrealFS によるバーチャルファイルシステム操作、SurrealKit による宣言的スキーマ管理まで、幅広いトピックをカバーします。18 の詳細なルールファイルに基づいて状況に応じたガイダンスを提供し、開発者が SurrealDB のパワーを最大限に引き出せるよう設計されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/24601/surreal-skills/tree/main/.github/skills/surrealdb

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

SurrealDB 3 エキスパートスキル

GitHub Copilot 向けのエキスパートレベル SurrealDB 3 アーキテクチャ、開発、運用スキル。

Copilot がこのスキルを使用するタイミング

以下の場合に自動的にアクティブ化します:

  • ユーザーが SurrealQL クエリを作成・質問する
  • .surql ファイルを扱う
  • SurrealDB のデータベーススキーマを設計する
  • SurrealDB のデプロイメントや Docker を設定する
  • SurrealDB SDK(JavaScript、Python、Go、Rust、Java、Kotlin、.NET、C、PHP、Swift、Ruby)を使用する
  • グラフ関係(RELATE、トラバーサル)を扱う
  • ベクトル検索や RAG パターンを実装する
  • セキュリティ、権限、アクセス制御を設定する
  • Surrealism WASM 拡張を構築する
  • 他のデータベースから SurrealDB へデータを移行する
  • SurrealDB を MCP ホスト、n8n、AI フレームワーク、カスタムエディタに接続する

ルールリファレンス

このスキルには 18 の詳細なルールファイルが含まれています。ユーザーのリクエストがそのドメインに一致する場合、関連するルールファイルを読み込んでください:

ルールファイル読み込むタイミングドメイン
surrealql.mdSurrealQL クエリの記述・デバッグ時SurrealQL 言語完全リファレンス
data-modeling.mdスキーマ設計、フィールドタイプ選択、レコード IDマルチモデルスキーマ設計パターン
graph-queries.mdRELATE、グラフトラバーサル、パス式グラフエッジとトラバーサルパターン
vector-search.mdHNSW インデックス、類似検索、埋め込みベクトル検索と RAG パイプライン
security.md権限、認証、JWT、アクセス制御行レベルセキュリティと認証フロー
deployment.mdSurrealDB のインストール、設定、実行ストレージエンジン、Docker、Kubernetes
performance.md低速クエリ、インデックス戦略、EXPLAINパフォーマンスチューニングと最適化
sdks.mdアプリケーションコードからの SurrealDB 使用JS、Python、Go、Rust、Java、Kotlin、.NET、C、PHP、Swift、Ruby パターン
surrealism.mdWASM 拡張の記述Rust から WASM への拡張開発
surrealml.mdSurrealML 周辺の作業プレビュー .surml 境界とネイティブ依存関係警告
surrealmcp.mdAI ホストの接続MCP ツールカタログとデプロイメント
editor-tooling.mdエディタ/IDE サポートLSP、tree-sitter、CodeMirror、エディタ拡張
langchain.mdLangChain RAGPython ベクトルストア API
ecosystem-integrations.mdn8n/フレームワーク参照n8n、AI フレームワークドキュメント、Spectron 境界、Agent Skills
surrealist.mdSurrealist IDE/GUI の使用IDE 機能とスキーマデザイナー
surreal-sync.md他のデータベースからの移行Postgres、Mongo などからの CDC 同期
surrealfs.mdAI エージェントファイルシステム操作SurrealDB をバックエンドにした仮想ファイルシステム
surrealkit.mdスキーマ同期、ロールアウト、シード、宣言的テストSurrealDB アプリ向けの望ましい状態スキーマ管理

クイックリファレンス

SurrealQL 基本

-- レコード作成
CREATE person:alice SET name = 'Alice', age = 30;

-- グラフエッジ
RELATE person:alice->follows->person:bob SET since = time::now();

-- グラフトラバーサル
SELECT ->follows->person.name AS following FROM person:alice;

-- ベクトル検索(HNSW)
DEFINE INDEX idx_embed ON document FIELDS embedding HNSW DIMENSION 1536 DIST COSINE;
SELECT * FROM document WHERE embedding <|10,40|> $query_vector;

-- 行レベル権限
DEFINE TABLE post SCHEMALESS PERMISSIONS
  FOR select WHERE published = true OR user = $auth.id
  FOR create, update WHERE user = $auth.id;

-- ライブクエリ
LIVE SELECT * FROM person WHERE age > 25;

主要な概念

  • レコード ID: table:id(例:person:alice)— 第一級市民、JOIN 不要
  • マルチモデル: ドキュメント + グラフ + ベクトル + 時系列 + 地理空間を 1 つの DB で
  • グラフ演算子: ->(外向き)、<-(内向き)、<->(双方向)
  • KNN 演算子: <|K,EF|> で K=近傍数、EF=検索パラメータ(距離指標ではない)
  • ストレージエンジン: memory、RocksDB、SurrealKV(タイムトラベル)、TiKV(分散)
  • WASM 拡張: v3 の新機能 — Rust を書き、WASM にコンパイルし、DEFINE MODULE で登録

スクリプト

# ヘルスチェック
uv run scripts/doctor.py

# スキーマイントロスペクション
uv run scripts/schema.py introspect

# 上流の更新をチェック
uv run scripts/check_upstream.py

セキュリティ注意事項

  • 例ではローカル開発専用に root/root を使用しています。本番環境ではスコープ付き認証情報を使用してください。
  • スクリプトはユーザー指定のエンドポイントのみに接続します。サードパーティへのネットワーク呼び出しはありません。
  • テーブル名はクエリ補間前に [a-zA-Z_][a-zA-Z0-9_]* に対して検証されます。
  • リモートシェルインストーラよりも、パッケージマネージャーまたはコンテナインストールを推奨します。

Individual skills in this repo

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

関連スキル