mcpField
S
spacetimedb-serialization

spacetimedb-serialization

github.com/danmossa開発2161 回インストール19 週間前に更新
リポジトリ

spacetimedb-serialization について

spacetimedb-serializationは、低レベルのエンコード、ワイヤーフォーマット、モジュールABIを扱う技術スキルです。カスタムツール、プロトコル調査、ABI作業、シリアライズのデバッグを行う開発者向けに、BSATN、SATS JSON、WebAssembly ABIの要点をまとめています。

主な機能

  1. 01BSATNのフィールド順と基本型のエンコードを解説
  2. 02SATS JSONの積型値形式を説明
  3. 03整数と浮動小数点数のエンコードを整理
  4. 04WebAssemblyモジュールABIを概説
  5. 05バッファ所有権とUTF-8の注意点を提示

活用シーン

  1. 01BSATNシリアライズデータのデバッグ
  2. 02SATS JSON表現と精度リスクの確認
  3. 03WebAssemblyモジュールABIの作業
  4. 04カスタムツール向けワイヤーフォーマットの分析

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/danmossa/spacetimedb-skills --skill spacetimedb-serialization

インストール後、Claude Code で/spacetimedb-serializationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
bsatn.md
sats-json.md
webassembly-abi.md

詳細

低レベルのエンコーディング、ワイヤ形式、モジュール ABI に関する作業には、このスキルを使用してください。

エンコーディングの基本事項

  • タスクがカスタムツールの開発、プロトコルの調査、ABI 作業、またはシリアライズのデバッグであることが明確な場合を除き、生成済みの SDK やモジュール API を優先してください。
  • BSATN は、積型の値をフィールドの値として順番にエンコードします。フィールド名はエンコードされません。
  • BSATN は、文字列を u32 のバイト長と、それに続く UTF-8 バイト列としてエンコードします。
  • BSATN は、整数および浮動小数点プリミティブのペイロードをリトルエンディアン形式でエンコードします。浮動小数点数には、生の IEEE ビット表現が使用されます。
  • SATS JSON の積型の値は、フィールド順の配列またはフィールド名を使ったオブジェクトとして表現できます。
  • SATS JSON は整数型を JSON の数値としてエンコードするため、通常の JavaScript の数値処理では、大きな 64 ビット、128 ビット、256 ビットの値の精度が失われることがあります。
  • 和型の値はタグ付きユニオンです。タグは形式に応じて、バリアントのインデックスまたは名前になります。

ABI に関する注意事項

  • WebAssembly ABI の関数は wasm32 上で C ABI を使用し、多くの場合、ポインターと長さのペアを介してデータをやり取りします。
  • ほとんどのホスト関数は u16 を返し、0 は成功を意味します。出力は out ポインターを介して書き込まれます。
  • UTF-8 の処理でデータが失われる場合があります。無効なバイトは置換されることがあります。
  • バッファー関数には明示的な所有権ルールがあります。消費済みのホストバッファーを再利用しないでください。

リファレンスマップ

必要な情報開く
BSATNreferences/bsatn.md
SATS JSONreferences/sats-json.md
WebAssembly モジュール ABIreferences/webassembly-abi.md

ガイダンス

  • ユーザーのタスクがシリアライズ、ABI、またはカスタムツールに関するものであることが明確な場合を除き、高レベルの SDK とモジュール API を優先してください。
  • バイトレベルの例は、リファレンスの表記法に沿ったものにしてください。
  • 通常のクライアント/サーバーコードの場合は、関連する SDK、リデューサー、テーブル、またはプロシージャのスキルに案内してください。

コメント