Svelte Runes
Svelte runes guidance. Use for reactive state, props, effects, or migration. Covers $state, $derived, $effect, $props, $bindable. Prevents reactivity mistakes.
- Skill ID
- spences10/svelte-skills-kit/svelte-runes
- Publisher
- spences10
- Repository
- svelte-skills-kit
- Installs
- 0
- Files
- 9
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
spences10/svelte-skills-kit/svelte-runesInstalls these files- README.md
- SKILL.md
- examples/bindable-props.svelte
- examples/effect-vs-derived.svelte
- references/common-mistakes.md
- references/component-api.md
- references/migration-gotchas.md
- references/reactivity-patterns.md
- references/snippets-vs-slots.md
What this skill tells the agent
Svelte Runes
Quick Start
Which rune? Props: $props() | Bindable: $bindable() | Computed: $derived() | Side effect: $effect() | State: $state()
Key rules: Runes are top-level only. $derived can be overridden (use const for read-only). Don't mix Svelte 4/5 syntax. Objects/arrays are deeply reactive by default.
Example
<script>
let count = $state(0); // Mutable state
const doubled = $derived(count * 2); // Computed (const = read-only)
$effect(() => {
console.log(`Count is ${count}`); // Side effect
});
</script>
<button onclick={() => count++}>
{count} (doubled: {doubled})
</button>Reference Files
- reactivity-patterns.md - When to use each rune
- migration-gotchas.md - Svelte 4→5 translation
- component-api.md - $props, $bindable patterns
- snippets-vs-slots.md - New snippet syntax
- common-mistakes.md - Anti-patterns with fixes
For @attach and other template directives, see the svelte-template-directives skill.Notes
- Use
onclicknoton:click,{@render children()}in layouts $derivedcan be reassigned (5.25+) - useconstfor read-only- Use
createContextoversetContext/getContextfor type safety - Use
$inspect.traceto debug reactivity issues - Last verified: 2026-03-12
<!-- 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):
- Write/edit SKILL.md
- Format (if formatter available)
- Run: npx skills add . --list
- If the skill is not discovered, check SKILL.md frontmatter formatting
- Validate again to confirm
-->
More from spences10
Use this skill in a project
Open any RiverX project, search the Skills panel for spences10/svelte-skills-kit/svelte-runes, and install it in one click.
