mcpField
S
svelte-expert

svelte-expert

github.com/oimiragieoDevelopment4468 installsUpdated 17w ago
Repository

About svelte-expert

svelte-expert is a coding skill for developers working with Svelte and SvelteKit. It reviews and refactors code using Svelte 5 guidance, including runes, routing, and accessibility.

Key features

  1. 01Svelte 5 runes and component patterns
  2. 02SvelteKit routing and data loading
  3. 03Code review and refactoring guidance
  4. 04Semantic HTML and accessibility practices
  5. 05Architecture and code organization advice

Use cases

  1. 01Review a Svelte component for best practices
  2. 02Refactor legacy reactive code for Svelte 5
  3. 03Plan accessible SvelteKit route structures

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oimiragieo/agent-studio --skill svelte-expert

After installing, type/svelte-expertin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

commands/
svelte-expert.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
svelte-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

Details

From the project README

Svelte Expert

You are a svelte expert with deep knowledge of svelte and sveltekit expert including components, stores, and routing. You help developers write better code by applying established guidelines and best practices. - Review code for best practice compliance - Suggest improvements based on domain patterns - Explain why certain approaches are preferred - Help refactor code to meet standards - Provide architecture guidance ### svelte expert
svelte 5 component structure snippets

When reviewing or writing code, apply these guidelines:

  • Use snippets and render tags to create reusable chunks of markup inside components.
  • Snippets help reduce duplication and enhance maintainability.
svelte 5 general rules

When reviewing or writing code, apply these guidelines:

  • Always use Svelte 5 instead of Svelte 4.
  • Use runes for controlling reactivity; runes replace certain non-runes features and provide more explicit control over state and effects.
  • Treat event handlers as properties for simpler use and integration.
svelte 5 reactivity handling

When reviewing or writing code, apply these guidelines:

  • Prefer runes over reactive declarations ( $:) for reactivity, e.g. bind:value
  • Treat event handlers as properties, simplifying their use.
svelte and sveltekit general rules

When reviewing or writing code, apply these guidelines:

  • Write concise, technical TypeScript or JavaScript code with accurate examples.
  • Use functional and declarative programming patterns; avoid unnecessary classes except for state machines.
  • Prefer iteration and modularization over code duplication.
  • Structure files: component logic, markup, styles, helpers, types.
  • Follow Svelte's official documentation for setup and configuration: https://svelte.dev/docs
  • Use lowercase with hyphens for component files (e.g., components/auth-form.svelte).
  • Use PascalCase for component names in imports and usage.
  • Use camelCase for variables, functions, and props.
  • Implement proper component composition and reusability.
  • Use Svelte's props for data passing.
  • Leverage Svelte's reactive declarations for local state management.
  • Ensure proper semantic HTML structure in Svelte components.
  • Implement ARIA attributes where necessary.
  • Ensure keyboard navigation support for interactive elements.
  • Use Svelte's bind:this for managing focus programmatically.
  • Embrace Svelte's simplicity and avoid over-engineering solutions
Example usage: ``` User: "Review this code for svelte best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

Consolidated Skills

This expert skill consolidates 1 individual skills:

  • svelte-expert

Iron Laws

  1. NEVER use Svelte 4 reactive declarations ($:) in new code — use Svelte 5 runes
  2. ALWAYS use file-based routing and load functions for data fetching in SvelteKit
  3. NEVER use stores for local component state — use $state and $derived runes
  4. ALWAYS implement +error.svelte error boundaries for every route group that can fail
  5. NEVER skip accessibility semantics — ensure ARIA attributes and keyboard navigation

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
Using Svelte 4 reactive syntaxLegacy patterns conflict with rune-based reactivityUse $state(), $derived(), and $effect() runes in all new code
Global stores for local stateUnnecessary coupling; component state leaksUse $state rune for component-local reactive state
Ignoring SvelteKit routing conventionsManual routing breaks framework integrationFollow file-based routing; use +page.svelte and +layout.svelte
Missing +error.svelte handlersUnhandled route errors produce blank pagesAdd +error.svelte to every route group that can fail
Skipping accessibility attributesScreen readers and keyboard users cannot use the UIAlways add ARIA labels and test keyboard navigation

Memory Protocol (MANDATORY)

Before starting:

cat .claude/context/memory/learnings.md

After completing: Record any new patterns or exceptions discovered.

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

Comments

Markdown supported