/sveltekit-audit — SvelteKit & Svelte 5 Audit
Version-neutral skill for all SvelteKit projects. Automatically detects the installed version, compares with the latest available, and loads the matching checklist.
Complementary to /audit: This skill checks SvelteKit-specific version, migration, and best-practice topics. The generic /audit checks code quality, performance, security, a11y, etc.
Modes
Detect the mode from user input:
- start -> Mode 1 (Scan project, load checklist)
- continue -> Mode 2 (Process next areas/fixes)
- status -> Mode 3 (Show progress)
- refresh -> Mode 4 (Check for new SvelteKit/Svelte releases)
- auto -> Mode 5 (Fully autonomous run)
Mode 1: /sveltekit-audit start — Scan Project
Auto-Detection (in this order)
- package.json -> Svelte version, SvelteKit version, adapter, all
@sveltejs/* packages, Drizzle packages
- svelte.config.js -> Adapter, preprocess, aliases, kit config
- vite.config.ts -> Vite plugins, server config, proxy
- Node version ->
node --version (SvelteKit 2 requires Node 18.13+)
- Dockerfile -> Node version in base image, build commands
- src/routes/+page.svelte -> Routing structure, layouts, groups
- Drizzle schema ->
drizzle.config.ts, src/lib/server/db/schema.ts or similar
- tsconfig.json -> TypeScript configuration, strict mode, Svelte extends
Version Logic
After detection:
- Read installed version from
package.json (Svelte + SvelteKit separately)
- Check latest version:
npm view @sveltejs/kit version and npm view svelte version
- Select matching checklist:
| Svelte |
SvelteKit |
Checklist |
Scenario |
| 5.x |
2.x |
versions/kit2-svelte5/ |
Current stack, check best practices |
| 4.x |
1.x |
Migration needed |
SvelteKit 1->2 + Svelte 4->5 migration |
| 4.x |
2.x |
Svelte 5 migration needed |
SvelteKit 2 current, only Svelte 4->5 |
| 5.x |
1.x |
SvelteKit 2 migration needed |
Svelte 5 current, only Kit 1->2 |
IMPORTANT: For SvelteKit 1 or Svelte 4: First ask the user whether migration is desired.
- Ask user: "Check current version OR migrate to new version?"
- Load checklist and compare with project scan
- Document findings with
SKT-NN or BP-NN IDs + severity
Flow After Detection
- Display result table: Svelte version, SvelteKit version, Node, adapter, routing overview
- Load matching checklist (max 2 areas per session)
- Check each checkpoint against the project
- Save findings to
.sveltekit-audit-state.json
- Display summary + prioritized list
- Session end: "Start next session with
/sveltekit-audit continue"
Mode 2: /sveltekit-audit continue — Resume
- Read
.sveltekit-audit-state.json
- Generate smart recommendation:
IF open CRITICAL findings > 0:
-> "Recommendation: Fix {N} CRITICAL findings first ({IDs})"
IF open HIGH findings > 3:
-> "Recommendation: Fix HIGH findings, then continue"
ELSE IF areas open:
-> "Recommendation: Next areas ({area names})"
ELSE:
-> "Recommendation: Fix remaining findings"
- If areas open -> process next 2 areas
- If all areas done -> next 5 findings by priority
- Load fix templates (from
fix-templates.md) where applicable
- Ask user: Follow recommendation? Choose different? Skip?
- Implement fixes -> verify -> update state
Mode 3: /sveltekit-audit status — Progress
- Read
.sveltekit-audit-state.json
- Display table: Done/Open/Total per area + severity
- Next recommended action
Mode 4: /sveltekit-audit refresh — Check New Releases
npm view @sveltejs/kit version and npm view svelte version -> latest versions
- If newer version than in state: context7 or WebSearch for release notes
- Show checklist delta:
Last checked: SvelteKit 2.15.0 / Svelte 5.10.0
Current: SvelteKit 2.17.0 / Svelte 5.12.0
New changes: N (Breaking, Features)
-> Checklist update recommended
- Inform user + recommendation (update yes/no, breaking changes)
- When major release detected -> automatically recommend new checklist
Mode 5: /sveltekit-audit auto — Autonomous Run
Fully autonomous SvelteKit audit without prompts.
Flow
- Auto-detection as in
start
- All areas processed (no 2-area limitation)
- Document findings with fix templates from
fix-templates.md
- Context management: When context runs low:
- Write state immediately
- Create task in
.tasks.json with handoff note
- "New session with
/sveltekit-audit continue"
- At end: Summary with prioritized fix list
Severity Order of Areas in Auto Mode
CRITICAL areas first:
ENV -> CFG -> CODE -> ROUT -> LOAD -> FORM -> SSR -> API -> HOOK -> ADPT -> STORE -> CSP -> TOOL -> DB -> AUTH -> PERF2
Check Priorities + Completeness Tracking
See _shared/audit-patterns.md (MUST/SHOULD/CAN markers, completeness counting, layer status standard).
Area with <100% MUST checks cannot be marked as done.
State File .sveltekit-audit-state.json
Save in project root (gitignored).
{
"version": 2,
"created": "YYYY-MM-DD",
"lastUpdated": "YYYY-MM-DD",
"project": "Project Name",
"installedSvelteVersion": "5.10.0",
"installedKitVersion": "2.15.0",
"targetSvelteVersion": "5.12.0",
"targetKitVersion": "2.17.0",
"checklist": "kit2-svelte5",
"nodeVersion": "22.12.0",
"adapter": "@sveltejs/adapter-node",
"areas": {
"ENV": {
"status": "pending",
"session": null,
"findingsCount": 0,
"completeness": null,
"layers": { "source": "pending", "runtime": "pending" }
},
"CFG": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"CODE": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"ROUT": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"LOAD": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"FORM": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"SSR": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"API": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"HOOK": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"ADPT": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"STORE": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"TOOL": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"DB": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"AUTH": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"CSP": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },
"PERF2": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null }
},
"summary": {
"total": 0,
"critical": 0,
"high": 0,
"medium": 0,
"low": 0,
"fixed": 0,
"skipped": 0
},
"findings": [
{
"id": "SKT-01",
"area": "ENV",
"severity": "CRITICAL",
"title": "Short title",
"description": "What is the problem",
"location": "File or area",
"status": "open|fixed|skipped",
"fixedIn": "Session N | null",
"notes": ""
}
],
"history": [
{
"date": "YYYY-MM-DD",
"session": 1,
"areas": ["ENV", "CFG"],
"findingsAdded": 3,
"findingsFixed": 0
}
]
}
Areas
| Code |
Area |
Description |
| ENV |
Environment |
Node/runtime version, package manager |
| CFG |
Configuration |
svelte.config.js, vite.config.ts |
| CODE |
Svelte 5 Code |
Runes ($state, $derived, $effect), reactivity, component patterns |
| ROUT |
Routing |
+page, +layout, +server, +error, group-based routing |
| LOAD |
Load Functions |
+page.ts vs +page.server.ts, universal vs server load |
| FORM |
Form Actions |
Progressive enhancement, use:enhance |
| SSR |
SSR/CSR/Prerendering |
SSR config, adapter, environment variables |
| API |
API Routes |
+server.ts, endpoint security, input validation |
| HOOK |
SvelteKit Hooks |
handle, handleError, handleFetch (hooks.server.ts) |
| ADPT |
Adapter |
@sveltejs/adapter-node, adapter-auto, configuration |
| STORE |
State Management |
Svelte 5 Runes vs legacy stores, Context API |
| TOOL |
Dev Tooling |
svelte-check, prettier-plugin-svelte, eslint-plugin-svelte |
| DB |
Database |
Drizzle integration, schema, migrations, server-only |
| AUTH |
Auth Patterns |
Session, cookies, protected routes via hooks |
| CSP |
Content Security Policy |
Trusted Types directives, CSP configuration |
| PERF2 |
Performance & Bundling |
Treeshaking, code splitting, bundle optimization |
Rules
- Context protection: Max 2 areas OR 5 fixes per session. At limit: save state, recommend
/sveltekit-audit continue.
- Write state immediately: Update
.sveltekit-audit-state.json after every area and every fix.
- No auto-fix: Document findings, then ask user whether to fix.
- Read version files: Only read files from the relevant
versions/ directory. Don't load all.
- Severity rules:
- CRITICAL: Build breaks, runtime errors, security issues
- HIGH: Deprecation warning, functional limitation
- MEDIUM: Best practice deviation, performance
- LOW: Optional, nice-to-have, new features
- Finding prefix:
SKT-NN (SvelteKit-specific), BP-NN (Best Practice).
- Fix templates: Load matching template from
fix-templates.md for findings.
- npm view: Run
npm view @sveltejs/kit version and npm view svelte version before any version statement. Never from memory.
- context7: Use for SvelteKit/Svelte documentation when available.
Session Strategy
| Session |
Content |
Context Protection |
| 1 |
start -> Detection + 2 areas (CRITICAL first) |
Max 2 areas |
| 2 |
continue -> next 2 areas |
Max 2 areas |
| 3+ |
continue -> Fixes (max 5/session) |
Fix -> Test -> Next |
Smart Next Steps
After completing the SvelteKit audit, recommend relevant follow-up skills:
| Condition |
Recommendation |
Reason |
| No .audit-state.json present |
/audit start |
Check website quality (SEO, a11y, performance, privacy) |
| No .project-audit-state.json present |
/project-audit start |
Check code/CI/CD quality |
| DB area with findings |
/db-audit start |
Deep-dive into Drizzle schema + migration |
| AUTH area with findings |
/auth-audit start |
Deep-dive into auth patterns + security |
| Migration findings fixed |
/lighthouse-quick |
Verify performance after migration |
| UI/Design work needed |
/design-system |
Curated palettes, fonts, styles, UX rules (CSV databases) |
| Frontend polish desired |
/polish scan |
Rate 6 design dimensions, then improve |
| All areas done |
/lesson-learned session |
Extract learnings from audit |
Design Integration: When building or modifying UI components in SvelteKit projects, always consult /design-system first. It provides industry-matched palettes, font pairings, UX rules, and wow effects from curated CSV databases. The design-system is stack-agnostic — it provides design decisions, SvelteKit provides the code patterns.
Output after last area: "Next steps:" + 2-3 most relevant recommendations.
Version Directory Structure
Each directory under versions/ contains:
| File |
Content |
checklist.md |
Checkpoints with IDs, severity, description |
Currently available:
versions/kit2-svelte5/ — Best practices for SvelteKit 2 + Svelte 5 (51 checkpoints)
Additionally:
fix-templates.md — Quick-fix templates for common SvelteKit findings
1---2name: sveltekit-audit3description: SvelteKit & Svelte 5 Migration, Best-Practice Audit with state persistence. Use when: "sveltekit-audit", "sveltekit upgrade", "svelte migration", "svelte check", "sveltekit version", "svelte 5 runes".4---56<!-- AI-QUICK-REF7## /sveltekit-audit — Quick Reference8- **Modes:** start | continue | status | refresh | auto9- **Auto-Detection:** package.json (svelte, @sveltejs/kit), svelte.config.js, vite.config.ts, Node, Dockerfile, +page.svelte, Drizzle10- **Version Logic:** SvelteKit 1 vs 2, Svelte 4 vs 5 — select matching checklist11- **State:** .sveltekit-audit-state.json12- **Finding IDs:** SKT-01 (SvelteKit), BP-01 (Best Practice)13- **Checkpoints:** [CHECKPOINT: decision] at version/checklist selection, [CHECKPOINT: verify] after each area14- **Complementary to /audit** — this skill only checks SvelteKit-specific topics15-->1617# /sveltekit-audit — SvelteKit & Svelte 5 Audit1819Version-neutral skill for all SvelteKit projects. Automatically detects the installed version, compares with the latest available, and loads the matching checklist.2021**Complementary to /audit:** This skill checks SvelteKit-specific version, migration, and best-practice topics. The generic /audit checks code quality, performance, security, a11y, etc.2223## Modes2425Detect the mode from user input:2627- **start** -> Mode 1 (Scan project, load checklist)28- **continue** -> Mode 2 (Process next areas/fixes)29- **status** -> Mode 3 (Show progress)30- **refresh** -> Mode 4 (Check for new SvelteKit/Svelte releases)31- **auto** -> Mode 5 (Fully autonomous run)3233---3435## Mode 1: `/sveltekit-audit start` — Scan Project3637### Auto-Detection (in this order)38391. **package.json** -> Svelte version, SvelteKit version, adapter, all `@sveltejs/*` packages, Drizzle packages402. **svelte.config.js** -> Adapter, preprocess, aliases, kit config413. **vite.config.ts** -> Vite plugins, server config, proxy424. **Node version** -> `node --version` (SvelteKit 2 requires Node 18.13+)435. **Dockerfile** -> Node version in base image, build commands446. **src/routes/+page.svelte** -> Routing structure, layouts, groups457. **Drizzle schema** -> `drizzle.config.ts`, `src/lib/server/db/schema.ts` or similar468. **tsconfig.json** -> TypeScript configuration, strict mode, Svelte extends4748### Version Logic4950After detection:51521. Read installed version from `package.json` (Svelte + SvelteKit separately)532. Check latest version: `npm view @sveltejs/kit version` and `npm view svelte version`543. Select matching checklist:5556| Svelte | SvelteKit | Checklist | Scenario |57|--------|-----------|-----------|----------|58| 5.x | 2.x | `versions/kit2-svelte5/` | Current stack, check best practices |59| 4.x | 1.x | Migration needed | SvelteKit 1->2 + Svelte 4->5 migration |60| 4.x | 2.x | Svelte 5 migration needed | SvelteKit 2 current, only Svelte 4->5 |61| 5.x | 1.x | SvelteKit 2 migration needed | Svelte 5 current, only Kit 1->2 |6263**IMPORTANT:** For SvelteKit 1 or Svelte 4: First ask the user whether migration is desired.64654. **Ask user:** "Check current version OR migrate to new version?"665. Load checklist and compare with project scan676. Document findings with `SKT-NN` or `BP-NN` IDs + severity6869### Flow After Detection70711. Display result table: Svelte version, SvelteKit version, Node, adapter, routing overview722. Load matching checklist (max 2 areas per session)733. Check each checkpoint against the project744. Save findings to `.sveltekit-audit-state.json`755. Display summary + prioritized list766. Session end: "Start next session with `/sveltekit-audit continue`"7778---7980## Mode 2: `/sveltekit-audit continue` — Resume81821. Read `.sveltekit-audit-state.json`832. **Generate smart recommendation:**84 ```85 IF open CRITICAL findings > 0:86 -> "Recommendation: Fix {N} CRITICAL findings first ({IDs})"87 IF open HIGH findings > 3:88 -> "Recommendation: Fix HIGH findings, then continue"89 ELSE IF areas open:90 -> "Recommendation: Next areas ({area names})"91 ELSE:92 -> "Recommendation: Fix remaining findings"93 ```943. If areas open -> process next 2 areas954. If all areas done -> next 5 findings by priority965. **Load fix templates** (from `fix-templates.md`) where applicable976. Ask user: Follow recommendation? Choose different? Skip?987. Implement fixes -> verify -> update state99100---101102## Mode 3: `/sveltekit-audit status` — Progress1031041. Read `.sveltekit-audit-state.json`1052. Display table: Done/Open/Total per area + severity1063. Next recommended action107108---109110## Mode 4: `/sveltekit-audit refresh` — Check New Releases1111121. `npm view @sveltejs/kit version` and `npm view svelte version` -> latest versions1132. If newer version than in state: context7 or WebSearch for release notes1143. **Show checklist delta:**115 ```116 Last checked: SvelteKit 2.15.0 / Svelte 5.10.0117 Current: SvelteKit 2.17.0 / Svelte 5.12.0118 New changes: N (Breaking, Features)119 -> Checklist update recommended120 ```1214. Inform user + recommendation (update yes/no, breaking changes)1225. When major release detected -> automatically recommend new checklist123124---125126## Mode 5: `/sveltekit-audit auto` — Autonomous Run127128Fully autonomous SvelteKit audit without prompts.129130### Flow1311321. Auto-detection as in `start`1332. **All areas** processed (no 2-area limitation)1343. Document findings with fix templates from `fix-templates.md`1354. **Context management:** When context runs low:136 - Write state immediately137 - Create task in `.tasks.json` with handoff note138 - "New session with `/sveltekit-audit continue`"1395. At end: Summary with prioritized fix list140141### Severity Order of Areas in Auto Mode142143CRITICAL areas first:144`ENV -> CFG -> CODE -> ROUT -> LOAD -> FORM -> SSR -> API -> HOOK -> ADPT -> STORE -> CSP -> TOOL -> DB -> AUTH -> PERF2`145146---147148## Check Priorities + Completeness Tracking149150> See `_shared/audit-patterns.md` (MUST/SHOULD/CAN markers, completeness counting, layer status standard).151Area with <100% MUST checks cannot be marked as `done`.152153---154155## State File `.sveltekit-audit-state.json`156157Save in project root (gitignored).158159```json160{161 "version": 2,162 "created": "YYYY-MM-DD",163 "lastUpdated": "YYYY-MM-DD",164 "project": "Project Name",165 "installedSvelteVersion": "5.10.0",166 "installedKitVersion": "2.15.0",167 "targetSvelteVersion": "5.12.0",168 "targetKitVersion": "2.17.0",169 "checklist": "kit2-svelte5",170 "nodeVersion": "22.12.0",171 "adapter": "@sveltejs/adapter-node",172 "areas": {173 "ENV": {174 "status": "pending",175 "session": null,176 "findingsCount": 0,177 "completeness": null,178 "layers": { "source": "pending", "runtime": "pending" }179 },180 "CFG": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },181 "CODE": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },182 "ROUT": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },183 "LOAD": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },184 "FORM": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },185 "SSR": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },186 "API": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },187 "HOOK": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },188 "ADPT": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },189 "STORE": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },190 "TOOL": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },191 "DB": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },192 "AUTH": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },193 "CSP": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null },194 "PERF2": { "status": "pending", "session": null, "findingsCount": 0, "completeness": null, "layers": null }195 },196 "summary": {197 "total": 0,198 "critical": 0,199 "high": 0,200 "medium": 0,201 "low": 0,202 "fixed": 0,203 "skipped": 0204 },205 "findings": [206 {207 "id": "SKT-01",208 "area": "ENV",209 "severity": "CRITICAL",210 "title": "Short title",211 "description": "What is the problem",212 "location": "File or area",213 "status": "open|fixed|skipped",214 "fixedIn": "Session N | null",215 "notes": ""216 }217 ],218 "history": [219 {220 "date": "YYYY-MM-DD",221 "session": 1,222 "areas": ["ENV", "CFG"],223 "findingsAdded": 3,224 "findingsFixed": 0225 }226 ]227}228```229230---231232## Areas233234| Code | Area | Description |235|------|------|-------------|236| **ENV** | Environment | Node/runtime version, package manager |237| **CFG** | Configuration | svelte.config.js, vite.config.ts |238| **CODE** | Svelte 5 Code | Runes ($state, $derived, $effect), reactivity, component patterns |239| **ROUT** | Routing | +page, +layout, +server, +error, group-based routing |240| **LOAD** | Load Functions | +page.ts vs +page.server.ts, universal vs server load |241| **FORM** | Form Actions | Progressive enhancement, use:enhance |242| **SSR** | SSR/CSR/Prerendering | SSR config, adapter, environment variables |243| **API** | API Routes | +server.ts, endpoint security, input validation |244| **HOOK** | SvelteKit Hooks | handle, handleError, handleFetch (hooks.server.ts) |245| **ADPT** | Adapter | @sveltejs/adapter-node, adapter-auto, configuration |246| **STORE** | State Management | Svelte 5 Runes vs legacy stores, Context API |247| **TOOL** | Dev Tooling | svelte-check, prettier-plugin-svelte, eslint-plugin-svelte |248| **DB** | Database | Drizzle integration, schema, migrations, server-only |249| **AUTH** | Auth Patterns | Session, cookies, protected routes via hooks |250| **CSP** | Content Security Policy | Trusted Types directives, CSP configuration |251| **PERF2** | Performance & Bundling | Treeshaking, code splitting, bundle optimization |252253---254255## Rules256257- **Context protection:** Max 2 areas OR 5 fixes per session. At limit: save state, recommend `/sveltekit-audit continue`.258- **Write state immediately:** Update `.sveltekit-audit-state.json` after every area and every fix.259- **No auto-fix:** Document findings, then ask user whether to fix.260- **Read version files:** Only read files from the relevant `versions/` directory. Don't load all.261- **Severity rules:**262 - CRITICAL: Build breaks, runtime errors, security issues263 - HIGH: Deprecation warning, functional limitation264 - MEDIUM: Best practice deviation, performance265 - LOW: Optional, nice-to-have, new features266- **Finding prefix:** `SKT-NN` (SvelteKit-specific), `BP-NN` (Best Practice).267- **Fix templates:** Load matching template from `fix-templates.md` for findings.268- **npm view:** Run `npm view @sveltejs/kit version` and `npm view svelte version` before any version statement. Never from memory.269- **context7:** Use for SvelteKit/Svelte documentation when available.270271---272273## Session Strategy274275| Session | Content | Context Protection |276|---------|---------|-------------------|277| 1 | start -> Detection + 2 areas (CRITICAL first) | Max 2 areas |278| 2 | continue -> next 2 areas | Max 2 areas |279| 3+ | continue -> Fixes (max 5/session) | Fix -> Test -> Next |280281---282283## Smart Next Steps284285After completing the SvelteKit audit, recommend relevant follow-up skills:286287| Condition | Recommendation | Reason |288|-----------|---------------|--------|289| No .audit-state.json present | `/audit start` | Check website quality (SEO, a11y, performance, privacy) |290| No .project-audit-state.json present | `/project-audit start` | Check code/CI/CD quality |291| DB area with findings | `/db-audit start` | Deep-dive into Drizzle schema + migration |292| AUTH area with findings | `/auth-audit start` | Deep-dive into auth patterns + security |293| Migration findings fixed | `/lighthouse-quick` | Verify performance after migration |294| UI/Design work needed | `/design-system` | Curated palettes, fonts, styles, UX rules (CSV databases) |295| Frontend polish desired | `/polish scan` | Rate 6 design dimensions, then improve |296| All areas done | `/lesson-learned session` | Extract learnings from audit |297298**Design Integration:** When building or modifying UI components in SvelteKit projects, always consult `/design-system` first. It provides industry-matched palettes, font pairings, UX rules, and wow effects from curated CSV databases. The design-system is stack-agnostic — it provides design decisions, SvelteKit provides the code patterns.299300**Output after last area:** "Next steps:" + 2-3 most relevant recommendations.301302---303304## Version Directory Structure305306Each directory under `versions/` contains:307308| File | Content |309|------|---------|310| `checklist.md` | Checkpoints with IDs, severity, description |311312Currently available:313- `versions/kit2-svelte5/` — Best practices for SvelteKit 2 + Svelte 5 (51 checkpoints)314315Additionally:316- `fix-templates.md` — Quick-fix templates for common SvelteKit findings