← ClaudeAtlas

svelte5-developmentlisted

Comprehensive Svelte 5 and SvelteKit development guidance. Use this skill when building Svelte components, working with runes, or developing SvelteKit applications. Covers reactive patterns, component architecture, routing, and data loading.
NikosDevMC/claude-svelte5-skill · ★ 3 · Web & Frontend · score 76
Install: claude install-skill NikosDevMC/claude-svelte5-skill
This skill provides guidance for Svelte 5 and SvelteKit development, covering runes, component patterns, routing, and common pitfalls. ## Svelte 5 Runes - Core Reactivity ### $state - Reactive State Creates reactive state that updates the UI when changed. ```svelte <script> let count = $state(0); let user = $state({ name: 'Alice', age: 30 }); </script> <button onclick={() => count++}>Clicks: {count}</button> <button onclick={() => user.age++}>Age: {user.age}</button> ``` **Deep Reactivity**: Objects and arrays become deeply reactive proxies. Mutations trigger updates: ```js let todos = $state([{ done: false, text: 'learn svelte' }]); todos[0].done = true; // triggers update todos.push({ done: false, text: 'build app' }); // triggers update ``` **Classes**: Use $state in class fields: ```js class Todo { done = $state(false); constructor(text) { this.text = $state(text); } reset = () => { this.text = ''; this.done = false; } } ``` **Important**: When you destructure reactive state, references are NOT reactive: ```js let { done, text } = todos[0]; todos[0].done = true; // `done` variable won't update ``` **$state.raw**: Use for non-reactive objects (performance optimization): ```js let data = $state.raw({ large: 'dataset' }); data.large = 'new value'; // no effect, must reassign entire object data = { large: 'new value' }; // this works ``` ### $derived - Computed Values Creates values that automatically update when dependencies change. ```svelte <script>