# sveltekit-structure

Подсказывает агенту, как раскладывать маршруты, вложенные лейауты и границы ошибок в SvelteKit. Пригодится, когда проект растёт и файлы начинают путаться.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1000 установок · ★ 94
- Автор: spences10
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/spences10/svelte-skills-kit/tree/HEAD/plugins/svelte-skills/skills/sveltekit-structure/SKILL.md
- Обновлён: 2026-10-12
- HTML: https://affpapa.org/nevibecode/skills/sveltekit-structure

## Что делает

Скилл объясняет агенту правила файлов SvelteKit: `+page.svelte` для страницы, `+layout.svelte` для обёртки, `+error.svelte` для границы ошибок, `+server.ts` для эндпоинта. Маршрут `src/routes/about/+page.svelte` превращается в `/about`, а `src/routes/posts/[id]/+page.svelte` — в `/posts/123`. Лейаут на любом уровне оборачивает все дочерние маршруты, а папки в скобках вроде `(name)` на адрес не влияют.

Внутри пять справочных файлов: именование файлов, вложенные лейауты, размещение `+error.svelte`, компонентный `svelte:boundary` для ошибок и ожидания, а также SSR и код, который работает только в браузере. Основной `SKILL.md` держат коротким, детали уходят в `references/`.

Границы ошибок в SvelteKit лежат выше падающего маршрута — если поставить `+error.svelte` не на том уровне, он не поймает то, что вы ждёте. Это повод проверить дерево маршрутов перед тем, как просить агента что-то переписать. Для клиентского кода нужна проверка `browser`, иначе SSR упадёт на обращении к `window`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spences10/svelte-skills-kit --skill sveltekit-structure -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/sveltekit-structure/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/sveltekit-structure/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spences10/svelte-skills-kit --skill sveltekit-structure -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/sveltekit-structure/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spences10/svelte-skills-kit --skill sveltekit-structure -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/sveltekit-structure/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install spences10/svelte-skills-kit sveltekit-structure
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/sveltekit-structure/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spences10/svelte-skills-kit --skill sveltekit-structure -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/spences10/svelte-skills-kit --path plugins/svelte-skills/skills/sveltekit-structure
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/sveltekit-structure/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add spences10/svelte-skills-kit --skill sveltekit-structure -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/spences10/svelte-skills-kit/tree/HEAD/plugins/svelte-skills/skills/sveltekit-structure/SKILL.md

## Когда брать
- разложить маршруты по папкам без путаницы
- вложить лейаут в часть приложения, а не во все страницы
- поставить `+error.svelte` на нужный уровень дерева
- добавить ожидание через `svelte:boundary`
- разделить серверный и браузерный код при SSR

## Примеры запросов агенту
- Помоги разложить маршруты SvelteKit: у меня есть /dashboard и /dashboard/settings, нужен свой лейаут только для них
- Куда положить `+error.svelte`, чтобы он ловил ошибки внутри /posts/[id]?
- У меня падает SSR из-за `window` — подскажи, как разделить серверный и клиентский код

## Похожие
- [sveltekit](https://affpapa.org/nevibecode/skills/claude-mpm-team-sveltekit.md) — скилл · 441 установка
- [bun-sveltekit](https://affpapa.org/nevibecode/skills/bun-sveltekit.md) — скилл · 499 установок
- [sveltekit-typescript-guide-cursorrules-prompt-file](https://affpapa.org/nevibecode/rules/sveltekit-typescript-guide-cursorrules-prompt-file.md) — правило · ★ 41011
- [svelte-debug](https://affpapa.org/nevibecode/commands/svelte-debug.md) — команда · 134 установки
- [svelte-scaffold](https://affpapa.org/nevibecode/commands/svelte-scaffold.md) — команда · 127 установок
- [svelte5-best-practices](https://affpapa.org/nevibecode/skills/svelte5-best-practices.md) — скилл · 16600 установок

Из того же набора: [spences10/svelte-skills-kit](https://affpapa.org/nevibecode/by/spences10/svelte-skills-kit.md) — 4 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
