Agent skill

Sveltekit Svelte5

by regisx001 in regisx001/Worklog

Build, refactor, and debug features in SvelteKit + Svelte 5 runes.

MITAuto-check passedDevelopment

Install Sveltekit Svelte5

skills CLI
$ npx skills add regisx001/Worklog --skill sveltekit-svelte5 -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install regisx001/Worklog sveltekit-svelte5 --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/regisx001/Worklog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/sveltekit-svelte5 .claude/skills/sveltekit-svelte5 && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sveltekit-svelte5
GitHub stars
261
Token cost
~2.3k tokens
SKILL.md length
998 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Build, refactor, and debug features in SvelteKit + Svelte 5 runes.

  • Works in 8 steps: Gather Context → Align Types → Design State Ownership → …
  • Development work in your project
  • SKILL.md covers Outcome, When to Use, Project Guardrails and Procedure, plus 4 more sections
  • Calls bun

What it does

Sveltekit Svelte5 is an agent skill from regisx001/Worklog. Build, refactor, and debug features in SvelteKit + Svelte 5 runes. Covers route/layout wiring, component splitting, hook design, type alignment, Tauri plugin safety, toolbar integration, and runtime error triage with bun run check.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with SvelteKit, Svelte, Tauri and Git. The repository describes itself as: Worklog is a local-first desktop project manager for small development teams. It is built for fast, keyboard-first planning with a Kanban workflow and zero cloud dependency for… The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/sveltekit-svelte5”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Gather Context
  2. Align Types
  3. Design State Ownership
  4. Implement UI in Composable Units
  5. Harden Async and Plugin Behavior
  6. Apply Style Consistency
  7. Validate End-to-End
  8. Report Changes

What it can do on your machine

Read from SKILL.md and the folder at commit 36806a5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sveltekit Svelte5 loads about 2.3k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 998 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from regisx001/Worklog at commit 36806a5, republished under its MIT licence (© regisx001). 998 words, ~2,274 tokens.

Download SKILL.mdSave it as .claude/skills/sveltekit-svelte5/SKILL.md (or your agent's skills folder).
name
sveltekit-svelte5
description
Build, refactor, and debug features in SvelteKit + Svelte 5 runes. Covers route/layout wiring, component splitting, hook design, type alignment, Tauri plugin safety, toolbar integration, and runtime error triage with bun run check.
argument-hint
Describe the SvelteKit/Svelte 5 task — be specific about the file, symptom, or goal

SvelteKit + Svelte 5 Skill

Outcome

Produce production-ready SvelteKit code that is:

  • Aligned with canonical types in src/lib/components/app/types.ts
  • Written with Svelte 5 runes and .svelte.ts reactive hooks where appropriate
  • Consistent with layout-level UI tokens, desktop-first density, and dark glassy surfaces
  • Free of type errors and warnings (bun run check passes clean)
  • Safe in Tauri contexts: all plugin APIs lazy-loaded and fallback-guarded

When to Use

Use this skill when tasks include:

  • Implementing or migrating features in +page.svelte, +layout.svelte, or shared components
  • Splitting large Svelte components into smaller, typed, composable units
  • Moving state ownership between route, layout, or shared hook layers
  • Debugging runtime issues (unhandled promise rejections, stale state, broken reactivity)
  • Fixing type drift after domain model changes in types.ts
  • Hardening Tauri plugin calls against non-Tauri or early-load failures
  • Improving debug tooling pages (/debug) without breaking app conventions

Project Guardrails

These rules are non-negotiable. Violating any of them is a bug, not a style choice.

  • Canonical types: src/lib/components/app/types.ts is the single source of truth. Never introduce parallel local types for domain objects.
  • Field naming: Use snake_case for all domain fields (board_id, created_at, updated_at). Never camelCase domain fields.
  • Status values: Must be exactly todo | in_progress | done. Never in-progress, InProgress, or any variant.
  • Runes over stores: Prefer $state, $derived, $effect over legacy writable/readable Svelte stores for app state.
  • Side effects belong in hooks: Keep repositories, API calls, and plugin interactions out of presentational components.
  • Toolbar at layout level: The toolbar must be mounted in the layout, never duplicated at route level.
  • No top-level plugin awaits: Never call Tauri plugin APIs at module load time — lazy-load inside functions or effects.

Procedure

1. Gather Context
  • Read all files involved: the target route/component, its parent layout, any hooks it imports, and types.ts.
  • Identify failure mode: compile-time error, runtime exception, or behavioral regression.
  • Reproduce failures before touching code — use bun run check for type errors and browser/Tauri logs for runtime issues.
2. Align Types
  • Diff current code against types.ts. List every field or type that has drifted.
  • Update all usages consistently: component props, hook signatures, server load return shapes, API call payloads.
  • Remove all local re-declarations of canonical types.
  • After updates, re-run bun run check to confirm alignment before proceeding.
3. Design State Ownership
  • Ask: is this state needed by more than one route or by the layout?
    • Yes → place in a shared .svelte.ts hook using $state at module scope.
    • No → keep it route-local with $state inside the component.
  • Use getter functions as hook inputs when values can change (e.g., () => workspacePath not workspacePath).
  • Never capture workspace path, active IDs, or user-derived values at initialization time.
  • Derived values (filtered lists, computed labels) belong in $derived, not re-computed in effects.
4. Implement UI in Composable Units
  • If a component exceeds ~200 lines or mixes behavior with presentation, split it.
  • Parent/hook owns: data fetching, mutations, state, event handlers.
  • Child components own: rendering, local interaction, emitting typed events via $props().
  • Type all props explicitly — no implicit any from $$props or untyped destructuring.
  • Preserve keyboard accessibility for all primary actions (buttons, form submissions, navigation).
5. Harden Async and Plugin Behavior
  • Wrap all $effect bodies that contain async calls in try/catch. Surface errors to UI state, not just console.
  • Lazy-import Tauri plugin APIs inside the function or effect that uses them:
    ts
    // Good
    $effect(() => {
      (async () => {
        try {
          const { readDir } = await import('@tauri-apps/plugin-fs');
          files = await readDir(path);
        } catch (e) {
          error = String(e);
        }
      })();
    });
    
    // Bad — fails at module load outside Tauri
    import { readDir } from '@tauri-apps/plugin-fs';
  • Provide meaningful fallback state when plugin calls are unavailable (empty list, error message, disabled UI).
6. Apply Style Consistency
  • Import tokens only from src/routes/layout.css — do not hardcode color or spacing values.
  • Use compact desktop density: tight padding, small font sizes, subtle 1px borders.
  • Prefer existing shadcn-svelte primitives (Button, Input, Badge, etc.) before writing custom elements.
  • Dark glassy surfaces: use established background/blur token classes, not arbitrary Tailwind values.
Show full SKILL.md (395 more words)Show less
7. Validate End-to-End
  • Run bun run check — fix all errors and warnings before considering the task done.
  • Manually verify all changed routes: /, /debug, any toolbar-linked routes.
  • Confirm toolbar still renders correctly and no layout regressions exist.
  • Test keyboard paths for primary actions on changed pages.
8. Report Changes
  • List every changed file with a one-line description of what changed and why.
  • Call out any behavior change the user needs to verify manually.
  • Note any unresolved risks (e.g., plugin unavailable in browser dev mode).

Decision Reference

SituationDecision
State shared across routes or needed by layoutShared .svelte.ts hook with module-level $state
State used only by one routeRoute-local $state inside the component
Computed/derived value from existing state$derived, not re-computed in $effect
Plugin call that may fail outside TauriLazy dynamic import inside function/effect with try/catch
Field name conflicts with types.tsMigrate all usages — never cast or alias around it
Child needs to modify parent statePass a typed callback prop, not a writable store
Large component (>~200 lines)Split: parent holds behavior, children hold rendering

Completion Checklist

  • No any introduced for core domain logic
  • All domain fields and status values match types.ts exactly
  • No parallel local type declarations for domain objects
  • No stale hook inputs — dynamic getters used where values can change
  • No unhandled async rejections in effects or server actions
  • All Tauri plugin imports are lazy and fallback-guarded
  • bun run check passes with 0 errors and 0 warnings
  • Toolbar mounted at layout level only
  • UI remains keyboard-usable and visually consistent with layout tokens

Common Pitfalls

  • in-progress instead of in_progress in status values
  • Reading removed or renamed fields (e.g., label instead of labels, name instead of title)
  • Top-level await or direct imports of Tauri plugin APIs at module scope
  • Mounting toolbar inside a route instead of the shared layout
  • Using $effect to sync derived state instead of $derived
  • Passing raw values (not getters) to hooks when the value can change later
  • Forgetting to propagate type fixes from types.ts to server load functions and API payloads

Example Prompts

  • /sveltekit-svelte5 migrate this route to canonical ticket types after types.ts update
  • /sveltekit-svelte5 split this 400-line component into typed subcomponents
  • /sveltekit-svelte5 fix unhandled promise rejection in workspace hooks
  • /sveltekit-svelte5 move toolbar state to a runes-based shared hook
  • /sveltekit-svelte5 harden all plugin calls for use in browser dev mode
  • /sveltekit-svelte5 debug stale derived state not updating after board switch

***

## Key Improvements Made

- **Guardrails reframed** as non-negotiable rules with explicit reasoning ("this is a bug, not a style choice"), making the AI less likely to compromise on them.
- **Async/plugin section** now includes a concrete code example contrasting good vs. bad Tauri import patterns — the most common failure mode in your stack.
- **State ownership** added a `$derived` vs `$effect` rule, which is a very common Svelte 5 anti-pattern.
- **Decision reference table** condenses all branching logic into one scannable block instead of buried prose.
- **Checklist** expanded with Tauri safety and type-declaration checks.
- **Pitfalls** added three new entries: `$effect` used for derived state, raw values passed to hooks, and missing propagation to server load functions.
- **Example prompts** added two new ones covering browser dev mode hardening and stale derived state debugging.

© regisx001, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/sveltekit-svelte5 of regisx001/Worklog.

Open the folder on GitHubat commit 36806a5

Compare with similar skills

Sveltekit Svelte5 next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sveltekit Svelte5 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sveltekit Svelte5 this skillregisx001/Worklog261—~2.3kAutomated safety check: PassMIT
Add Tauri Commanddevlint/GitWand180—~1.5kAutomated safety check: PassMIT
Svelte5 Best PracticesSikandarJODD/cnblocks4311 repos~810Automated safety check: PassMIT
Liveagent Code ReviewStack-Cairn/LiveAgent2.2k—~2kAutomated safety check: PassMIT
Guarded Git Commit and Pushjerrywu001/cc-sessions-viewer396—~603Automated safety check: NotesMIT
Agentbro PR Mergeshirenchuang/agentbro203—~648Automated safety check: PassApache-2.0

Similar skills

  • Add Tauri Command

    devlint/GitWand

    A skill your agent uses when the user wants to expose a Rust feature to the Vue frontend, add a Tauri IPC command, invoke something from a Vue component, or wire up any backend/frontend…

    180 GitHub stars~1.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Svelte5 Best Practices

    SikandarJODD/cnblocks

    Svelte 5 runes, snippets, SvelteKit patterns, and modern best practices for TypeScript and component development.

    431 GitHub starsUsed in 1 repo~810 tokens
    DevelopmentAuto-check passed
  • Liveagent Code Review

    Stack-Cairn/LiveAgent

    Review an open GitHub pull request or the current local branch and working tree with parallel, independent reviewers and evidence-based validation.

    2.2k GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Guarded Git Commit and Push

    jerrywu001/cc-sessions-viewer

    Commits and pushes only on an explicit request, pulling first, running the project's CI checks locally, and stopping cold on any conflict or failure.

    396 GitHub stars~603 tokensUpdated 4 days ago
    DevelopmentAuto-check: notes
  • Agentbro PR Merge

    shirenchuang/agentbro

    A skill your agent uses when reviewing, fixing CI for, approving workflows for, or merging AgentBro pull requests into dev/main, especially external contributor PRs where contributor attribution…

    203 GitHub stars~648 tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • App Release

    luochang212/skill-zoo

    A skill your agent uses when the user asks to release a new version, ship a build, or publish a Skill Zoo release.

    117 GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed

More from regisx001/Worklog

  • Worklog Design

    regisx001/Worklog

    Design and UI skill for the Worklog desktop project manager.

    261 GitHub stars~3.3k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Sveltekit Svelte5

What does Sveltekit Svelte5 do?

Build, refactor, and debug features in SvelteKit + Svelte 5 runes. Sveltekit Svelte5 is an agent skill from regisx001/Worklog. Build, refactor, and debug features in SvelteKit + Svelte 5 runes.

When should I use Sveltekit Svelte5?

Sveltekit Svelte5 fits situations like: development work in your project.

How do I install Sveltekit Svelte5 in Claude Code?

Run `npx skills add regisx001/Worklog --skill sveltekit-svelte5 -a claude-code`. Or copy the skill folder (.github/skills/sveltekit-svelte5 in regisx001/Worklog) into .claude/skills/sveltekit-svelte5 in your project. Claude Code loads it when a task matches its description.

How do I install Sveltekit Svelte5 in Codex?

Run `npx skills add regisx001/Worklog --skill sveltekit-svelte5 -a codex`. Or copy the skill folder (.github/skills/sveltekit-svelte5 in regisx001/Worklog) into .agents/skills/sveltekit-svelte5 in your project. Codex loads it when a task matches its description.

Can I use Sveltekit Svelte5 in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add regisx001/Worklog --skill sveltekit-svelte5 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sveltekit-svelte5, .gemini/skills/sveltekit-svelte5, .github/skills/sveltekit-svelte5 and .opencode/skills/sveltekit-svelte5 in your project.

What does Sveltekit Svelte5 need to run?

Going by SKILL.md and its folder, Sveltekit Svelte5 needs the command-line tools its instructions call (bun).

Does Sveltekit Svelte5 access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Sveltekit Svelte5 safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sveltekit Svelte5 use?

Sveltekit Svelte5 is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sveltekit Svelte5 use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Sveltekit Svelte5?

Skills that share tags, products or a category with Sveltekit Svelte5: Add Tauri Command (devlint/GitWand, 180 stars), Svelte5 Best Practices (SikandarJODD/cnblocks, 431 stars), Liveagent Code Review (Stack-Cairn/LiveAgent, 2.2k stars) and Guarded Git Commit and Push (jerrywu001/cc-sessions-viewer, 396 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sveltekit Svelte5?

regisx001 (a GitHub user) maintains it in regisx001/Worklog, which has 261 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 18, 2026.

Source: regisx001/Worklog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.