mcpField
S
sveltekit-data-flow

sveltekit-data-flow

github.com/spences10開発1693 回インストール16 週間前に更新
リポジトリ

sveltekit-data-flow について

SvelteKit 開発者向けに、データ読み込み、フォーム処理、エラー制御を扱うコーディングスキルです。サーバー専用処理とユニバーサル処理の配置や、シリアライズのルールを説明します。

主な機能

  1. 01サーバーとユニバーサル load の区別
  2. 02フォーム action の処理パターン
  3. 03エラーとリダイレクトの扱い
  4. 04シリアライズ制約の説明
  5. 05明示的な環境変数の利用案内

活用シーン

  1. 01ページデータの読み込み場所の選定
  2. 02サーバー側フォーム送信の実装
  3. 03認証変更後のクライアントデータ無効化

インストール

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

$npx skills add https://github.com/spences10/skills --skill sveltekit-data-flow

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

同梱ファイル

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

references/
client-auth-invalidation.md
error-redirect-handling.md
explicit-environment-variables.md
form-actions.md
load-functions.md
serialization.md

詳細

SvelteKit のデータフロー

クイックスタート

環境変数: 実験的なフラグが有効な場合は、明示的な環境変数(src/env.ts + $app/env/private|public)を優先してください。

どのファイルを使いますか? サーバー専用(DB/シークレット):+page.server.ts | ユニバーサル(両方で実行):+page.ts | API:+server.ts

ロードの判断: サーバーリソースが必要ですか? → サーバーロード | クライアント API が必要ですか? → ユニバーサルロード

フォームアクション: 常に +page.server.ts を使用してください。エラーには fail() を返し、 移動するには redirect() をスローし、失敗には error() をスローします。

例

// +page.server.ts
import { fail, redirect } from '@sveltejs/kit';

export const load = async ({ locals }) => {
	const user = await db.users.get(locals.userId);
	return { user }; // Must be JSON-serializable
};

export const actions = {
	default: async ({ request }) => {
		const data = await request.formData();
		const email = data.get('email');

		if (!email) return fail(400, { email, missing: true });

		await updateEmail(email);
		throw redirect(303, '/success');
	},
};

参考ファイル

注記

  • サーバーロード → data パラメーターを介したユニバーサルロード | 必ず throw redirect()/error() を使用してください
  • サーバーロードからクラスインスタンス/関数を渡すことはできません(シリアライズできません)
  • $app/env/private はサーバー専用です。本当に安全な値だけを public として指定してください
  • 最終確認日: 2026-06-08

コメント