К основному содержанию
скилл CX Codex

svelte5-best-practices — скилл для Claude Code: руны, сниппеты

Скилл для ИИ-агента, который подсказывает руны Svelte 5, сниппеты и паттерны SvelteKit при написании и рефакторинге компонентов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add ejirocodes/agent-skills --skill svelte5-best-practices -a claude-code
Открыть на GitHub

Что делает svelte5-best-practices

Скилл добавляет агенту справочник по Svelte 5: руны $state, $derived, $effect, $props, $bindable, $inspect, сниппеты {#snippet} и {@render}, обработчики событий вида onclick, callback-пропсы вместо createEventDispatcher, типизацию пропсов на TypeScript и generic-компоненты. Отдельные разделы посвящены загрузке данных в SvelteKit, form actions, изоляции состояния при SSR и производительности.

Внутри — таблица быстрого доступа и файлы-справочники: references/runes.md, snippets.md, events.md, typescript.md, migration.md, sveltekit.md, performance.md. Есть список типичных ошибок: let без $state не даёт реактивности, $effect вместо $derived для вычисляемых значений, старый синтаксис on:click, <slot> вместо сниппетов, забытый $bindable() ломает bind:, последовательные await в load-функциях вместо Promise.all.

Скилл пригодится, если проект уже на Svelte 5 или вы переносите код со Svelte 4: миграция stores на руны и слотов на сниппеты разобрана отдельно. Ставится одной командой через npx skills и работает в Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.

Какие задачи решает

  • перевести компонент со Svelte 4 на руны Svelte 5
  • заменить <slot> на сниппеты с {@render}
  • убрать createEventDispatcher в пользу callback-пропсов
  • типизировать пропсы и generic-компоненты на TypeScript
  • найти причину утечки состояния между запросами при SSR

Примеры запросов агенту

  • Перепиши этот компонент на руны Svelte 5
  • Проверь мой SvelteKit load и убери последовательные await
  • Отрефактори слоты в сниппеты

Как установить svelte5-best-practices

1Через Skills CLI (Vercel)

npx skills add ejirocodes/agent-skills --skill svelte5-best-practices -a claude-code

2Вручную: положить файлы

~/.claude/skills/svelte5-best-practices/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/svelte5-best-practices/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о svelte5-best-practices

Как установить svelte5-best-practices в Claude?

Выполните npx skills add ejirocodes/agent-skills --skill svelte5-best-practices -a claude-code. После этого скилл окажется в ~/.claude/skills/svelte5-best-practices/SKILL.md.

Что делает svelte5-best-practices?

Даёт агенту справочник по рунам, сниппетам, событиям, TypeScript и SvelteKit, чтобы он писал и проверял код Svelte 5 по актуальным паттернам, а не по синтаксису Svelte 4.

Скилл поможет с миграцией со Svelte 4?

Да, в нём есть отдельный файл references/migration.md про переход с Svelte 4 на 5, включая замену stores на руны и слотов на сниппеты.

Исходный текст

SKILL.md · MIT
---
name: svelte5-best-practices
description: "Svelte 5 runes, snippets, SvelteKit patterns, and modern best practices for TypeScript and component development. Use when writing, reviewing, or refactoring Svelte 5 components and SvelteKit applications. Triggers on: Svelte components, runes ($state, $derived, $effect, $props, $bindable, $inspect), snippets ({#snippet}, {@render}), event handling, SvelteKit data loading, form actions, Svelte 4 to Svelte 5 migration, store to rune migration, slots to snippets migration, TypeScript props typing, generic components, SSR state isolation, performance optimization, or component testing."
license: MIT
metadata:
  author: ejirocodes
  version: '1.0.0'
---

# Svelte 5 Best Practices

## Quick Reference

| Topic | When to Use | Reference |
|-------|-------------|-----------|
| **Runes** | $state, $derived, $effect, $props, $bindable, $inspect | [runes.md](references/runes.md) |
| **Snippets** | Replacing slots, {#snippet}, {@render} | [snippets.md](references/snippets.md) |
| **Events** | onclick handlers, callback props, context API | [events.md](references/events.md) |
| **TypeScript** | Props typing, generic components | [typescript.md](references/typescript.md) |
| **Migration** | Svelte 4 to 5, stores to runes | [migration.md](references/migration.md) |
| **SvelteKit** | Load functions, form actions, SSR, page typing | [sveltekit.md](references/sveltekit.md) |
| **Performance** | Universal reactivity, avoiding over-reactivity, streaming | [performance.md](references/performance.md) |

## Essential Patterns

### Reactive State

```svelte
<script>
  let count = $state(0);           // Reactive state
  let doubled = $derived(count * 2); // Computed value
</script>
```

### Component Props

```svelte
<script>
  let { name, count = 0 } = $props();
  let { value = $bindable() } = $props(); // Two-way binding
</script>
```

### Snippets (replacing slots)

```svelte
<script>
  let { children, header } = $props();
</script>

{@render header?.()}
{@render children()}
```

### Event Handlers

```svelte
<!-- Svelte 5: use onclick, not on:click -->
<button onclick={() => count++}>Click</button>
```

### Callback Props (replacing createEventDispatcher)

```svelte
<script>
  let { onclick } = $props();
</script>

<button onclick={() => onclick?.({ data })}>Click</button>
```

## Common Mistakes

1. **Using `let` without `$state`** - Variables are not reactive without `$state()`
2. **Using `$effect` for derived values** - Use `$derived` instead
3. **Using `on:click` syntax** - Use `onclick` in Svelte 5
4. **Using `createEventDispatcher`** - Use callback props instead
5. **Using `<slot>`** - Use snippets with `{@render}`
6. **Forgetting `$bindable()`** - Required for `bind:` to work
7. **Setting module-level state in SSR** - Causes cross-request leaks
8. **Sequential awaits in load functions** - Use `Promise.all` for parallel requests

© ejirocodes · MIT · ejirocodes/agent-skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
svelte Claude MPM Team Скилл помогает писать интерфейсы на Svelte 5 и приложения на SvelteKit. Пригодится для реактивного состояния, компонентов и серверного или статического рендеринга. CX Codex +1 343установок svelte-code-writer sveltejs Скилл ищет официальную документацию Svelte 5 и проверяет компоненты через autofixer. Пригодится при написании и правке файлов .svelte или .svelte.ts. CX Codex +1 12 900установок svelte-core-bestpractices sveltejs Скилл объясняет агенту, как писать код на Svelte с рунами: $state, $derived, события, стили. Пригодится, когда агент правит компоненты в проекте на Svelte. CX Codex +1 10 900установок svelte-runes spences10 Помогает ИИ-агенту писать код на Svelte 5 с рунами без смешивания устаревшего синтаксиса. Пригодится при настройке реактивности, пропсов и миграции компонентов. CX Codex +1 1 000установок sveltekit-typescript-guide-cursorrules-prompt-file PatrickJS Правило для Cursor, которое настраивает агента на Svelte 5, SvelteKit и TypeScript: структура проекта, руны, состояние. ★ 41 011звёзд репо svelte-debug davila7 Разбирает ошибки Svelte и SvelteKit по сообщению и стеку: находит причину в компиляции, рантайме или конфиге и предлагает правку. 134установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой