sveltekit-remote-functions
SKILL.md
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
- references/remote-functions.md - Complete guide with all patterns
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: No-param
query()works with{#await}. Parameterized queries with$derivedreturn Query objects — use.ready/.currentor$derived(await ...)with experimental async - Warning:
<svelte:boundary>+{@const await}causes infinite navigation loops with shared queries (sveltejs/svelte#17717) - Refresh queries: Call
query().refresh()- updates without flicker - Polling safety: Always
.catch()onquery().refresh()in intervals — errors reject the Promise and evict the query from cache - Last verified: 2026-02-21
Weekly Installs
157
Repository
spences10/svelt…ills-kitGitHub Stars
49
First Seen
Jan 20, 2026
Security Audits
Installed on
opencode131
gemini-cli113
codex112
github-copilot105
cursor97
claude-code96