Skills may execute instructions and code that could affect your environment. Marketplace scans reduce risk but do not guarantee safety. Always review files, run your own security checks, and use at your own risk.
Svelte Developer
Security Scan Summary
Status: Safe
Source: Syntic Skills registry
Automated security scan completed with no high-risk patterns detected. Manual review is still required.
About This Skill
Use when building SvelteKit applications with runes, server-side rendering, form actions, and fine-grained reactivity.
Downloadable SKILL.md
Download SKILL.md and place it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review contents, and run in a controlled environment first. Acknowledge the risk notice above to enable the download.
---
name: Svelte Developer
description: Use when building SvelteKit applications with runes, server-side rendering, form actions, and fine-grained reactivity.
category: Languages
version: 1.0.0
tools: []
---
# SvelteKit Full-Stack Development
Build web applications using SvelteKit with runes, server-side rendering, and Svelte's compiler-driven approach.
## Core Principles
- Svelte compiles to vanilla JavaScript with no virtual DOM; component code runs once at creation, reactive statements run on updates
- Use runes for modern reactivity: `$state`, `$derived`, `$effect` instead of legacy `$:` reactive declarations
- SvelteKit is full-stack; use server load functions, form actions, API routes; avoid bolting on a separate backend
- Less JavaScript shipped means better performance; Svelte compiler eliminates framework overhead
## Runes Reactivity
- Use `$state(value)` for reactive state; deep reactivity automatic for objects/arrays
- Use `$derived(expression)` for computed values: `let fullName = $derived(firstName + ' ' + lastName)`
- Use `$effect(() => { ... })` for side effects; effects track dependencies automatically
- Use `$props()` to declare component props with TypeScript types and defaults
- Use `$bindable()` for props supporting two-way binding with `bind:`
## SvelteKit Routing
- Use file-system routing: `src/routes/blog/[slug]/+page.svelte` for dynamic routes
- Use `+page.server.ts` for server-only load functions accessing databases or secret APIs
- Use `+page.ts` for universal load functions running on server (SSR) and client (navigation)
- Use `+layout.svelte` and `+layout.server.ts` for shared data and UI across child routes
- Use route groups `(group)` for layout organization without affecting URLs
## Form Actions
- Use form actions in `+page.server.ts` for progressive enhancement; forms work without JavaScript
- Define named actions: `export const actions = { create: async ({ request }) => { ... } }`
- Use `use:enhance` for client-side enhancement: automatic pending states, optimistic updates, error handling
- Validate server-side with Zod or Valibot; return `fail(400, { errors })` for validation failures
- Return data from actions to update page without full reload
## Data Loading & Components
- Load data in `+page.server.ts` for sensitive operations
- Use `depends('app:users')` and `invalidate('app:users')` for programmatic revalidation
- Use streaming with promises in load: return `{ streamed: { comments: fetchComments() } }` for non-blocking slow data
- Use snippets (`{#snippet name()}...{/snippet}`) for reusable template blocks
- Use `{#each items as item (item.id)}` with key expressions for efficient list rendering
- Use `<svelte:component this={component} />` for dynamic component rendering
## Performance & Optimization
- Use `{#key expression}` to force component re-creation when key changes
- Use `$effect.pre` for DOM measurements before browser paint
- Use `onMount` for client-only initialization (event listeners, observers, third-party libraries)
- Use SvelteKit's built-in preloading: `data-sveltekit-preload-data="hover"` for instant navigation
- Use `import.meta.env.SSR` to conditionally run code on server or client
## Testing
- Use Vitest with `@testing-library/svelte` for component testing
- Use Playwright for E2E tests (scaffolded by default)
- Test server load functions and form actions as plain async functions
## Before Completing
- Run `npm run build` to verify production build succeeds
- Run `npm run check` (svelte-check) to verify TypeScript diagnostics
- Run `vitest run` to verify tests pass
- Run `npx playwright test` to verify E2E tests pass
Bundle Download
Includes SKILL.md and bundled support files where provided. Risk acknowledgement is required.
Install Targets
Syntic App
- 1. Create a dedicated folder for this skill in your local skills library.
- 2. Place SKILL.md into that folder.
- 3. Restart Syntic and invoke this skill on matching tasks.
Syntic Code (CLI)
- 1. Save SKILL.md in your local Syntic Code skills directory.
- 2. Keep related files in the same skill folder.
- 3. Run in a safe environment and validate outputs.
Source
https://github.com/rohitg00/awesome-claude-code-toolkit/blob/main/agents/language-experts/svelte-developer.md
Open Source LinkRelated Skills
Angular Architect
Use when building enterprise applications with Angular 17+, signals, standalone components, RxJS, and NgRx...
LanguagesClojure Developer
Use when building data-oriented systems with Clojure, REPL-driven development, persistent data structures...
LanguagesCsharp Developer
Use when building applications on .NET 8+ with ASP.NET Core, Entity Framework Core, minimal APIs, and async...
LanguagesDjango Developer
Use when building applications with Django 5+ and Django REST Framework, including ORM optimization...