Asi sveltekit-remote-functions
SvelteKit remote functions guidance. Use for command(), query(), form() patterns in .remote.ts files.
install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/sveltekit-remote-functions" ~/.claude/skills/plurigrid-asi-sveltekit-remote-functions && rm -rf "$T"
manifest:
skills/sveltekit-remote-functions/SKILL.mdsource content
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)
available for cookies/headers accessgetRequestEvent()- In components: Use
+<svelte:boundary>
(no flicker){@const await} - Refresh queries: Call
- updates without flickerquery().refresh() - Last verified: 2025-12-24