Marketplace

sveltekit-remote-functions

SvelteKit remote functions guidance. Use for command(), query(), form() patterns in .remote.ts files.

$ 설치

git clone https://github.com/spences10/svelte-skills-kit /tmp/svelte-skills-kit && cp -r /tmp/svelte-skills-kit/plugins/svelte-skills/skills/sveltekit-remote-functions ~/.claude/skills/svelte-skills-kit

// tip: Run this command in your terminal to install the skill


name: sveltekit-remote-functions

IMPORTANT: Keep description on ONE line for Claude Code compatibility

prettier-ignore

description: SvelteKit remote functions guidance. Use for command(), query(), form() patterns in .remote.ts files.

SvelteKit Remote Functions

Quick Start

File naming: *.remote.ts for remote function files

Which function? One-time action → command() | Repeated reads → query() | Forms → form()

Example

// actions.remote.ts
import { command } from "$app/server";
import * as v from "valibot";

export const delete_user = command(
  v.object({ id: v.string() }),
  async ({ id }) => {
    await db.users.delete(id);
    return { success: true };
  }
);

// Call from client: await delete_user({ id: '123' });

Reference Files

Notes

  • Remote functions execute on server when called from browser
  • Args/returns must be JSON-serializable
  • Schema validation via StandardSchemaV1 (Valibot/Zod)
  • getRequestEvent() available for cookies/headers access
  • In components: Use <svelte:boundary> + {@const await} (no flicker)
  • Refresh queries: Call query().refresh() - updates without flicker
  • Last verified: 2025-12-24

Repository

spences10
spences10
Author
spences10/svelte-skills-kit/plugins/svelte-skills/skills/sveltekit-remote-functions
0
Stars
0
Forks
Updated17h ago
Added1w ago