← ClaudeAtlas

svelte5-best-practiceslisted

Svelte 5 runes, snippets, SvelteKit patterns, and modern best practices for TypeScript and component development. Use when writing, reviewing, or refactoring Svelte 5 components and SvelteKit applications. Triggers on: Svelte components, runes ($state, $derived, $effect, $props, $bindable, $inspect), snippets ({#snippet}, {@render}), event handling, SvelteKit data loading, form actions, Svelte 4 to Svelte 5 migration, store to rune migration, slots to snippets migration, TypeScript props typing, generic components, SSR state isolation, performance optimization, or component testing.
moisesvalero/my-sveltekit-starter · ★ 1 · Web & Frontend · score 70
Install: claude install-skill moisesvalero/my-sveltekit-starter
# Svelte 5 Best Practices ## Quick Reference | Topic | When to Use | Reference | |-------|-------------|-----------| | **Runes** | $state, $derived, $effect, $props, $bindable, $inspect | [runes.md](references/runes.md) | | **Snippets** | Replacing slots, {#snippet}, {@render} | [snippets.md](references/snippets.md) | | **Events** | onclick handlers, callback props, context API | [events.md](references/events.md) | | **TypeScript** | Props typing, generic components | [typescript.md](references/typescript.md) | | **Migration** | Svelte 4 to 5, stores to runes | [migration.md](references/migration.md) | | **SvelteKit** | Load functions, form actions, SSR, page typing | [sveltekit.md](references/sveltekit.md) | | **Performance** | Universal reactivity, avoiding over-reactivity, streaming | [performance.md](references/performance.md) | ## Essential Patterns ### Reactive State ```svelte <script> let count = $state(0); // Reactive state let doubled = $derived(count * 2); // Computed value </script> ``` ### Component Props ```svelte <script> let { name, count = 0 } = $props(); let { value = $bindable() } = $props(); // Two-way binding </script> ``` ### Snippets (replacing slots) ```svelte <script> let { children, header } = $props(); </script> {@render header?.()} {@render children()} ``` ### Event Handlers ```svelte <!-- Svelte 5: use onclick, not on:click --> <button onclick={() => count++}>Click</button> ``` ### Callback Props (replacing createEv