A comprehensive Claude skill for building modern web applications with SvelteKit 2, Svelte 5 (with runes), and Tailwind CSS v4.
This skill provides searchable, curated documentation for building full-stack web applications using the modern SvelteKit + Svelte 5 + Tailwind v4 stack. It addresses the unique integration challenges when using these three frameworks together, with special focus on Svelte 5's new runes system and its interaction with server-side rendering.
Integration Stack:
$state, $derived, $effect, $props)references/ - Problem-Focused Guides (17 files)Curated guides addressing specific integration challenges:
Setup & Configuration:
getting-started.md - Quick start and initial setupproject-setup.md - Complete project configurationCore Concepts:
svelte5-runes.md - Svelte 5 runes system and SSR constraintsrouting-patterns.md - File-based routing and layoutsserver-rendering.md - SSR/SSG patternsdata-loading.md - Load functions and data flowForms & Styling:
forms-and-actions.md - Progressive enhancement with form actionsstyling-with-tailwind.md - Component styling patternsstyling-patterns.md - Advanced styling techniquesDeployment & Migration:
deployment-guide.md - Platform-specific deployment (Vercel, Cloudflare, Node, static)migration-svelte4-to-5.md - Upgrading from Svelte 4 to 5tailwind-v4-migration.md - Upgrading from Tailwind v3 to v4Optimization & Best Practices:
best-practices.md - Architecture and conventionsperformance-optimization.md - Bundle size, loading, Core Web VitalsTroubleshooting:
common-issues.md - Quick fixes for frequent problemstroubleshooting.md - Systematic debugging methodologySearch System:
documentation-search-system.md - Complete search methodologydocs/ - Comprehensive Reference (7 files)Complete API reference and configuration guides:
sveltekit-configuration.md - Complete svelte.config.js and Vite configurationsvelte5-api-reference.md - All Svelte 5 runes and template syntaxtailwind-configuration.md - Tailwind v4 configuration optionsadapters-reference.md - Deployment adapter specificationsadvanced-routing.md - Advanced SvelteKit routing patternsadvanced-ssr.md - SSR hooks, streaming, optimizationintegration-patterns.md - Complete integration examples# 1. Create SvelteKit project
npm create svelte@latest my-app
cd my-app
npm install
# 2. Add Tailwind v4
npm install -D tailwindcss@next @tailwindcss/vite@next
# 3. Configure Vite (vite.config.js)
import { sveltekit } from '@sveltejs/kit/vite';
import tailwindcss from '@tailwindcss/vite';
export default {
  plugins: [
    tailwindcss(),  // MUST be before sveltekit()
    sveltekit()
  ]
};
# 4. Create app.css with Tailwind imports
@import "tailwindcss";
# 5. Import CSS in root layout (src/routes/+layout.svelte)
<script>
  import '../app.css';
</script>
<slot />
# 6. Start development server
npm run dev
Critical Configuration Points:
vite.config.js+layout.svelte, not in app.html@next tag for Tailwind v4 packagesFor complete setup instructions, see references/getting-started.md.
This skill is designed to be used with Claude's research-first methodology:
The skill uses a 5-stage search process:
Stage 0: Discover - Find available indexes
find . -name "index.jsonl" -type f
Stage 1: Load - Read relevant index files
Read references/index.jsonl  # For how-to guides
Read docs/index.jsonl        # For API reference
Stage 2: Reason - Identify 3-4 most relevant files based on summaries
Stage 3: Get Sections - Read sections.jsonl for detailed section metadata
Stage 4: Read - Load only relevant sections using offset/limit
Stage 5: Synthesize - Combine information and provide complete answer
For complete search methodology, see references/documentation-search-system.md.
<!-- ❌ DON'T: Using $state() in SSR component -->
<script>
  export let data;
  let count = $state(data.count);  // Error: $state not available in SSR
</script>
<!-- ✅ DO: Use client-only component -->
<script>
  export let data;
</script>
<ClientCounter initialCount={data.count} />
See: references/svelte5-runes.md - Server-Side Constraints
<script>
  import { enhance } from '$app/forms';
  let submitting = $state(false);
</script>
<form method="POST" use:enhance={() => {
  submitting = true;
  return async ({ result, update }) => {
    submitting = false;
    await update();
  };
}}>
  <button disabled={submitting}>Submit</button>
</form>
See: references/forms-and-actions.md - Handling use:enhance Reactivity
<!-- ✅ GOOD: Full class names -->
<div class:bg-blue-500={active} class:bg-gray-200={!active}>
<!-- ❌ BAD: Dynamic class parts get purged -->
<div class="bg-{active ? 'blue' : 'gray'}-500">
See: references/styling-with-tailwind.md - Content Detection and Purging
CSS not loading in production
→ Check: Vite plugin order, CSS import location
→ See: references/common-issues.md - CSS Loading Issues
Runes causing SSR errors
→ Don't use $state() or $effect() in SSR components
→ See: references/svelte5-runes.md - Server-Side Constraints
Form losing state on submit
→ Use manual enhance() callback
→ See: references/forms-and-actions.md - Handling use:enhance Reactivity
HMR breaking
→ Check: Vite plugin order and file watch settings
→ See: references/common-issues.md - Hot Module Reload Problems
For systematic troubleshooting, see references/troubleshooting.md.
Supported Versions:
All code examples and patterns are tested with these versions.
This skill uses author-only distribution:
adapted_from frontmatterReferenced Repositories:
See provenance.jsonl for complete source attribution.
sveltekit-svelte5-tailwind-skill/
├── README.md                          # This file
├── SKILL.md                           # Skill usage guide
├── skill.manifest.json                # Skill metadata
├── provenance.jsonl                   # Source attribution
├── references/                        # Problem-focused guides (17 files)
│   ├── index.jsonl                    # Search index (17 entries)
│   ├── sections.jsonl                 # Section metadata
│   ├── index.meta.json               # Collection metadata
│   └── *.md                           # Guide files
└── docs/                              # Comprehensive references (7 files)
    ├── index.jsonl                    # Search index (7 entries)
    ├── sections.jsonl                 # Section metadata
    ├── index.meta.json               # Collection metadata
    └── *.md                           # Reference files
references/common-issues.md for quick fixesreferences/troubleshooting.md for methodologyThis skill contains original authored content created for educational purposes. Source repositories were consulted for reference only and are not redistributed. See individual repository licenses for upstream projects:
This skill was generated using the Claude Skill Builder. To report issues or suggest improvements, please open an issue on the skill repository.
references/docs/