agentsclimarketplace

With svelte

Skill robcsaszar/frontend-kit/skills/with-svelte

Modern Svelte 5 + SvelteKit guidance and routing. Use whenever creating, editing, reviewing, or debugging a Svelte component (.svelte) or module (.svelte.ts/.svelte.js), or any SvelteKit project. Covers runes ($state, $derived, $effect, $props, $bindable), template directives ({@attach}, {@render}, {@html}, snippets, keyed each), components (Bits UI, web components, forms), SvelteKit routing/layouts/error boundaries, data flow (load functions, form actions, +page.server.ts vs +page.ts, serialization, invalidateAll), remote functions (query/form/command/prerender in .remote.ts), deployment (adapters, Vite, pnpm, PWA, Cloudflare), and the @sveltejs/mcp CLI. Triggers are Svelte, SvelteKit, runes, .svelte, .remote.ts, +page, load function, form action.From its SKILL.md

Install
npx -y skills add robcsaszar/frontend-kit --skill with-svelte

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.3 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

with-svelte

Unified Svelte 5 + SvelteKit skill. This body is a router: apply the always-on core below, then READ the one reference file that matches the task before writing code. Load only the file(s) you need — not all of them.

Always-on core (every Svelte task)

Write runes-mode Svelte 5. Never reach for a legacy feature that has a modern replacement:

  • $state instead of implicit let count = 0; count += 1
  • $derived/$effect instead of $: — and prefer $derived over $effect (effects are an escape hatch; never set state inside one)
  • $props instead of export let, $$props, $$restProps
  • onclick={...} instead of on:click={...}
  • {#snippet}/{@render} instead of <slot>, $$slots, <svelte:fragment>
  • {@attach ...} instead of use:action
  • <DynamicComponent> instead of <svelte:component this={...}>; import Self instead of <svelte:self>
  • classes with $state fields instead of stores; createContext instead of setContext/getContext
  • clsx-style class arrays/objects instead of the class: directive
  • keyed {#each} — never use the index as the key

When unsure of current syntax, do not guess — confirm via the @sveltejs/mcp CLI (see references/tooling.md) and run svelte-autofixer before finalizing any component.

Routing table — READ the matching reference before writing

Task involves…MANDATORY READ
Reactive state, props, effects, $state/$derived/$effect/$props/$bindable, Svelte 4→5 migration, $inspect, await-in-componentreferences/runes-reactivity.md
{@attach} / use: actions, {@html}, {@render}, {@const}, {@debug}, snippets, keyed each, bind:, <svelte:window>references/template-directives.md
Component libraries (Bits/Ark/Melt UI), web components, forms, styling child components, CSS-from-JS, contextreferences/components.md
Routing, file naming (+page/+layout/+error/+server), nested layouts, route groups, error boundaries, <svelte:boundary>, SSR/hydrationreferences/sveltekit-structure.md
load functions, +page.server.ts vs +page.ts vs +server.ts, form actions, fail()/redirect()/error(), serialization, invalidateAll()references/sveltekit-data-flow.md
Remote functions: query()/form()/command()/prerender() in *.remote.ts, schema validation, .updates()references/sveltekit-remote-functions.md
Adapters, Vite/pnpm setup, PWA, library authoring, Cloudflare/streaming, production buildreferences/deployment.md
Confirming syntax, looking up docs, validating/fixing codereferences/tooling.md

If a task spans areas (e.g. a form that uses runes + a server action), read each matching file. Do not load files outside the task's scope. If no reference covers the case, fetch authoritative docs via references/tooling.md rather than guessing.

NEVER

  • NEVER set $state inside an $effect to compute a value Instead: use $derived (or $derived.by for complex expressions). Why: effect-driven assignment creates extra render passes and update loops; $derived is glitch-free and runs lazily.

  • NEVER guard effect/lifecycle code with if (browser) {...} to make it server-safe Instead: effects already don't run on the server; for global listeners use <svelte:window>/<svelte:document>, and for browser-only setup use the right reference's SSR guidance. Why: the guard is dead code inside an effect and signals a misunderstanding that hides real hydration bugs.

  • NEVER return non-serializable values (class instances, functions, symbols) from a SvelteKit load or remote function Instead: return plain JSON-serializable data; see references/sveltekit-data-flow.md / references/sveltekit-remote-functions.md. Why: load uses JSON and remote functions use devalue; non-serializable returns fail silently or at runtime across the server→client boundary.

  • NEVER call redirect()/error() in SvelteKit without throw-ing them Instead: throw redirect(303, '/path') / throw error(404). Why: without throw execution continues and the navigation/error never happens.

  • NEVER guess current Svelte/SvelteKit API surface from memory for unfamiliar features Instead: run npx @sveltejs/mcp list-sections + get-documentation, then svelte-autofixer (see references/tooling.md). Why: runes, remote functions, and async Svelte change fast and are version-gated; stale syntax compiles to subtly wrong behavior.

What ships with it: 8 files

111.5 KB alongside SKILL.md

Gives 0 of the 12 instructions most ui components skills give in ~1.2k tokens

Counted across 293 of the 305 authors here whose files we hold, read 2026-09-06

  • Start with a --design-system search before designingin 17 of 293, across 15 files
  • Ensure 4.5:1 minimum text contrastin 16 of 293, across 15 files
  • Verify the pre-delivery checklist before delivering UI codein 16 of 293, across 14 files
  • Use SVG icons instead of emojisin 15 of 293, across 14 files
  • Keep touch targets at least 44 pointsin 14 of 293, across 12 files
  • Check page override files before master rulesin 13 of 293, across 11 files
  • Supplement with domain searches as neededin 13 of 293, across 11 files
  • Add cursor-pointer to all clickable elementsin 12 of 293
  • Use CSS variables for themingin 11 of 293, across 7 files
  • Use semantic color tokens, not raw hexin 11 of 293, across 8 files
  • Meet WCAG AA color contrastin 11 of 293, across 7 files
  • Default stack to html-tailwind when unspecifiedin 10 of 293

Said here and by no other author read

  • Prefer $derived over $effect
  • Confirm unfamiliar syntax via the @sveltejs/mcp CLI
  • Fetch authoritative docs when no reference covers the case

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.