Skip to content
Back to skills

Sveltekit Remote Functions

ASecurity

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

  • 91 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 7, 2026
developmenttypescript

Works with

  • claude code
  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add spences10/svelte-skills-kit --skill sveltekit-remote-functions --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sveltekit Remote Functions?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sveltekit Remote Functions
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/spences10-sveltekit-remote-functions/badge)](https://www.skillsdirectory.com/skills/spences10-sveltekit-remote-functions)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

```typescript
// 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](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:** Use `<svelte:boundary>` + `{@const await}` (no flicker)
- **Refresh queries:** Call `query().refresh()` - updates without flicker
- **Last verified:** 2025-12-24

<!--
PROGRESSIVE DISCLOSURE GUIDELINES:
- Keep this file ~50 lines total (max ~150 lines)
- Use 1-2 code blocks only (recommend 1)
- Keep description <200 chars for Level 1 efficiency
- Move detailed docs to references/ for Level 3 loading
- This is Level 2 - quick reference ONLY, not a manual

LLM WORKFLOW (when editing this file):
1. Write/edit SKILL.md
2. Format (if formatter available)
3. Run: claude-skills-cli validate <path>
4. If multi-line description warning: run claude-skills-cli doctor <path>
5. Validate again to confirm
-->

Files in this skill

  • README.md443 B
  • SKILL.md1.8 KB
  • references/remote-functions.md15.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.