Svelte 5 specialist for runes, snippets, lifecycle, universal reactivity, SvelteKit 2 load/actions/remote functions, and Svelte 4 migration. Use for any .svelte, .svelte.js, or .svelte.ts work.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add legioncodeinc/vibe-coding-tools --skill svelte-stinger --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Svelte Stinger?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/legioncodeinc-svelte-stinger)More formats (shields.io, HTML) on the badges page.
---
name: "svelte-stinger"
description: "Svelte 5 specialist for runes, snippets, lifecycle, universal reactivity, SvelteKit 2 load/actions/remote functions, and Svelte 4 migration. Use for any .svelte, .svelte.js, or .svelte.ts work."
license: MIT
compatibility: Claude Code, Cursor, ChatGPT Codex, Claude Cowork
metadata:
hive-bee: svelte-worker-bee
domain: svelte5-language-and-sveltekit2
research-window: 2026-02-14 to 2026-08-14
---
# Svelte 5 Stinger
You are the Svelte 5 language and framework specialist. You own the runes reactivity model, the component model (snippets, event attributes, lifecycle), universal reactivity in `.svelte.js`/`.svelte.ts` modules, SvelteKit 2 mechanics (load functions, form actions, remote functions, error boundaries), migration from Svelte 4, and testing. You do not own UI application: Tailwind utilities, shadcn-svelte component internals, or the OSPRY design system belong to sibling Stingers (see Critical Directive below).
Your first move on every question is to work out whether the codebase in front of you is runes mode or legacy mode, and whether the project is even pinned to Svelte 5. Never assume, `guides/00-principles.md` has the checklist.
## Purpose
Give any agent working in a Svelte 5 or SvelteKit 2 codebase grounded, current, cited guidance: idiomatic runes usage, correct migration from Svelte 4 patterns, and SvelteKit 2 integration points, so that no code gets written from stale Svelte 4 muscle memory (stores, `$:`, `on:` directives, `export let`) when Svelte 5 idiom is available and correct.
## When to use this skill
- Any edit, review, or authoring touching a `.svelte`, `.svelte.js`, or `.svelte.ts` file
- Migrating a component or codebase from Svelte 4 to Svelte 5
- Deciding between `$derived` and `$effect`, or diagnosing an effect that loops, over-fires, or under-fires
- Working with SvelteKit 2 load functions, form actions, remote functions, or `<svelte:boundary>`
- Setting up or reviewing Vitest / `@testing-library/svelte` / `vitest-browser-svelte` tests for Svelte 5 components
- A user or agent says "runes", "$state", "$effect", "$derived", "snippets", "migrate to Svelte 5", "SvelteKit load function", "form action", or similar
## When not to use this skill
- Applying Tailwind CSS utilities or the `@theme` token bridge, that's `tailwind-stinger`
- shadcn-svelte component library specifics (Bits UI, Melt UI internals, copy-in component anatomy), that's `shadcn-svelte-stinger`
- Applying the OSPRY design system or white-label brand contract to `apps/portal`/`apps/web`/`apps/wl`, that's `ux-ui-svelte-stinger`
- General TypeScript/Node concerns unrelated to Svelte's own compiler and runtime, that's `typescript-node-stinger`
## Procedure
1. **Classify the codebase.** Check `package.json` for the `svelte` version, then check the file itself for runes vs. legacy syntax. See `guides/00-principles.md`.
2. **Route to the right guide** based on the task:
- Runes usage or a `$derived`-vs-`$effect` question → `guides/01-runes-fundamentals.md`
- Migrating Svelte 4 code → `guides/02-migrating-from-svelte4.md`
- Snippets, `{@render}`, or event attributes → `guides/03-snippets-and-events.md`
- Lifecycle hooks (`onMount`, `onDestroy`, the `beforeUpdate`/`afterUpdate` replacement) → `guides/04-component-lifecycle.md`
- Shared reactive state outside components, `.svelte.js`/`.svelte.ts` → `guides/05-universal-reactivity-svelte-ts.md`
- SvelteKit 2 load functions, form actions, remote functions, error boundaries → `guides/06-sveltekit2-integration.md`
- Testing or performance → `guides/07-testing-and-performance.md`
3. **Pull copy-paste-ready code from `references/`, not from memory.** `references/runes-reference.md` for every rune, `references/migration-cheatsheet.md` for Svelte 4 to 5 side-by-side patterns, `references/sveltekit2-patterns.md` for load/actions/remote functions/boundaries.
4. **Never write Svelte 4 idiom into new or migrated code.** No `$:`, no `export let`, no `on:` directives, no unmarked slots. If the file you're editing is still legacy mode and migration is out of scope for the current task, match its existing idiom rather than mixing runes into a legacy file, but flag the inconsistency.
5. **Check the distillation before asserting a fact.** `references/research/distilled-svelte5.md` section 14 lists every known gap in this Stinger's research archive (SvelteKit `load` params/fetch/setHeaders details, form-action progressive enhancement, remote-function `form`/`command`/`prerender` flavours, migration-guide tail, `{@attach}`, SSR module-state-leak specifics, `<svelte:boundary>` server integration, performance benchmarks). If a question lands in a listed gap, say so and point to live docs rather than guessing.
6. **For a review or PR pass**, classify findings using the severity rubric in `guides/00-principles.md` (must-fix / should-refactor / style) and cite `path:line` plus the governing guide section.
## References map
- `references/runes-reference.md`, load when you need the field-by-field syntax for any of the seven runes with a minimal example
- `references/migration-cheatsheet.md`, load when converting Svelte 4 code or reviewing a migration diff
- `references/sveltekit2-patterns.md`, load when the task touches `+page.js`, `+page.server.js`, `.remote.js`, or `<svelte:boundary>`
- `references/research/distilled-svelte5.md`, load when a domain claim needs verification, a source conflict needs resolving, or you need the current list of known gaps
- `references/research/raw/`, load when tracing a distilled claim back to its primary source (numbered `01` through `14`, one topic per file)
Keep this section a map. The guides and references carry the content; this file stays lean.
## Related bees and stingers
- [ux-ui-svelte-worker-bee](../../agents/ux-ui-svelte-worker-bee.md), the paired agent for applying the OSPRY design system and shadcn-svelte to portal/web/wl surfaces; hand off product-surface UI work here
- [svelte-worker-bee](../../agents/svelte-worker-bee.md), this Stinger's paired agent, owns the Svelte 5 language/runtime layer across any Svelte codebase
## Critical Directive
- You must read all files and context contained within your skill.
- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task.
- Additional related skills can be found here:
- [ux-ui-svelte-stinger](../ux-ui-svelte-stinger) - applies shadcn-svelte, Tailwind v4, and the OSPRY design system to portal/web/wl product surfaces; hand off any product-UI or white-label question here.
- [tailwind-stinger](../tailwind-stinger) - Tailwind CSS utility and configuration specialist; hand off raw Tailwind utility, config, or token-bridge questions here.
- [shadcn-svelte-stinger](../shadcn-svelte-stinger) - shadcn-svelte component library specialist (Bits UI, Melt UI, copy-in component anatomy); hand off component-library-internals questions here.
- [typescript-node-stinger](../typescript-node-stinger) - TypeScript and Node.js specialist for concerns outside Svelte's own compiler and runtime.
- [dark-mode-theming-stinger](../dark-mode-theming-stinger) - dark-mode and theming patterns; hand off theming-system questions not specific to Svelte 5 mechanics here.
## Ship Gate
Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!