spences10/svelte-skills-kit9 files

Svelte Runes

Svelte runes guidance. Use for reactive state, props, effects, or migration. Covers $state, $derived, $effect, $props, $bindable. Prevents reactivity mistakes.

Specification
Skill ID
spences10/svelte-skills-kit/svelte-runes
Publisher
spences10
Repository
svelte-skills-kit
Installs
0
Files
9
Synced
Sep 23, 2026
How to use it

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 onclick not on:click, {@render children()} in layouts
  • $derived can be reassigned (5.25+) - use const for read-only
  • Use createContext over setContext/getContext for type safety
  • Use $inspect.trace to 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):

  1. Write/edit SKILL.md
  2. Format (if formatter available)
  3. Run: npx skills add . --list
  4. If the skill is not discovered, check SKILL.md frontmatter formatting
  5. Validate again to confirm

-->

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.

Use this skill