← Back to Skills Marketplace
1190
Downloads
3
Stars
8
Active Installs
1
Versions
Install in OpenClaw
/install svelte
Description
Avoid common Svelte mistakes — reactivity triggers, store subscriptions, and SvelteKit SSR gotchas.
README (SKILL.md)
Reactivity Triggers
- Assignment triggers reactivity —
arr = arrafter push, or usearr = [...arr, item] - Array methods don't trigger —
arr.push()needs reassignment:arr = arr - Object mutation same issue —
obj.key = val; obj = objor spread:obj = {...obj, key: val} $:reactive statements run on dependency change — but only top-level assignments tracked
Reactive Statements
$:runs when dependencies change — list all dependencies used$: { }block for multiple statements — all run together$:order matters — later statements can depend on earlier- Avoid side effects in
$:— prefer derived values, useonMountfor effects
Stores
$storeauto-subscribes in component — automatic unsubscribe on destroy- Manual subscribe needs unsubscribe —
const unsub = store.subscribe(v => ...); onDestroy(unsub) writablefor read/write —readablefor external data sourcesderivedfor computed values —derived(store, $s => $s * 2)
Component Lifecycle
onMountruns after first render — return cleanup function- No access to DOM before
onMount—documentetc. not available in SSR beforeUpdate/afterUpdatefor DOM sync — rarely neededtick()to wait for DOM update —await tick()after state change
Props
export let propNameto declare — required by defaultexport let propName = defaultfor optional — default value if not passed- Props are reactive — component re-renders on change
$$propsand$$restPropsfor pass-through — but explicit props preferred
Events
createEventDispatcherfor custom events —dispatch('eventName', data)on:eventNameto listen —on:click,on:customEventon:click|preventDefaultmodifiers —|stopPropagation,|once- Event forwarding:
on:clickwithout handler — forwards to parent
SvelteKit
+page.sveltefor pages —+page.server.tsfor server-only loadloadfunction for data fetching — runs on server and client navigation$app/storesfor page, navigating, etc. —$page.params,$page.urlformactions for mutations — progressive enhancement, works without JS
SSR Gotchas
browserfrom$app/environment— check before using window/documentonMountonly runs client-side — safe for browser APIs- Stores initialized on server shared between requests — use context for request-specific
fetchin load is special — relative URLs work, credentials handled
Svelte 5 Runes
$state()replacesletfor reactivity —let count = $state(0)$derivedreplaces$:for computed —let doubled = $derived(count * 2)$effectfor side effects — replaces$:with side effects- Runes are opt-in per file — can mix with Svelte 4 syntax
Common Mistakes
- Destructuring props loses reactivity —
let { prop } = $props()in Svelte 5, or don't destructure in 4 - Store value vs store —
$storefor value,storefor subscribe/set - Transition on conditional —
{#if show}\x3Cdiv transition:fade>not on wrapper - Key block for re-render —
{#key value}...{/key}destroys and recreates
Usage Guidance
This skill is effectively a Svelte cheat-sheet and is low-risk: it contains only documentation and asks for no secrets or installs. The only declared requirement (node) is sensible for Svelte guidance. Note the source/homepage are not provided—because the skill is instruction-only that’s a minor issue, but if you prefer provenance, you may want to only install skills with a known homepage or owner. Also be aware that allowing autonomous invocation (the platform default) means the agent can call this skill without asking; if you want stricter control, keep it user-invocable only or review future updates for added install steps or code.
Capability Analysis
Type: OpenClaw Skill
Name: svelte
Version: 1.0.0
The skill bundle contains metadata and a comprehensive Svelte development guide in SKILL.md. The content is purely educational, focusing on Svelte best practices and common pitfalls. There are no instructions for malicious execution, data exfiltration, persistence, or prompt injection attempts against the AI agent. The `bins:["node"]` requirement in metadata is plausible for a Svelte-related skill and is not misused.
Capability Assessment
Purpose & Capability
The skill is a Svelte guidance/reference doc. Declaring Node as a required binary is reasonable for a Svelte-oriented skill (Svelte tooling typically uses Node). No unrelated binaries, env vars, or config paths are requested.
Instruction Scope
SKILL.md contains static guidance (reactions, stores, lifecycle, SvelteKit SSR gotchas, Svelte 5 runes). It does not instruct the agent to read files, environment variables, run shell commands, or transmit data to external endpoints.
Install Mechanism
There is no install spec and no code files. Instruction-only skills have a minimal on-disk footprint and lower risk.
Credentials
The skill requests no environment variables, credentials, or config paths; this is proportionate for a documentation-style skill.
Persistence & Privilege
always is false and the skill does not request elevated or persistent privileges. Model invocation is allowed (the platform default), which is normal for skills; nothing here amplifies that risk.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install svelte - After installation, invoke the skill by name or use
/svelte - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Frequently Asked Questions
What is Svelte?
Avoid common Svelte mistakes — reactivity triggers, store subscriptions, and SvelteKit SSR gotchas. It is an AI Agent Skill for Claude Code / OpenClaw, with 1190 downloads so far.
How do I install Svelte?
Run "/install svelte" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Svelte free?
Yes, Svelte is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Svelte support?
Svelte is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, darwin, win32).
Who created Svelte?
It is built and maintained by Iván (@ivangdavila); the current version is v1.0.0.
More Skills