npx skills add smithery/spences10 --skill reactive-ui-patterns
spences10/devhub-crm · Archived
reactive-ui-patterns
Remote functions reactive UI patterns. Use for smooth in-place updates, preventing page jumps, and managing loading states with .current property.
Installation
npx skills add spences10/devhub-crm --skill reactive-ui-patterns
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Vitest browser mode component testing. Use for testing Svelte 5 components with real browsers, …
4 installsBetter-auth integration for authentication. Use when implementing login, registration, protecte…
4 installsDaisyUI v5 design system. Use for backgrounds, borders, text sizes, opacity, semantic colors, a…
2 installsDaisyUI v5 form patterns. Use for inputs, selects, textareas, validation, and form structure wi…
2 installsSimilar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Triage inbound journalist source queries and draft a response only when the user's expertise is…
745 installsImplement reactive programming patterns using RxJS, streams, observables, and backpressure hand…
476 installsAlso in this package
Other skills from spences10/devhub-crm.
npx skills add spences10/devhub-crm
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md1,462 B -
docs
README.md482 B -
docs
SUMMARY.md192 B
History
- First seen on skills.sh
- First recorded snapshot · 2 installs
SKILL.md
Reactive UI Patterns
Quick Start
<script lang="ts">
const data_query = get_data(); // Store in variable for .current access
async function save(id: string, value: string) {
await update_data({ id, value });
await data_query.refresh(); // Updates in place!
}
</script>
{#if data_query.error}
<p>Error loading data</p>
{:else if data_query.loading && data_query.current === undefined}
<p>Loading...</p>
{:else}
{@const items = data_query.current ?? []}
<div class:opacity-60={data_query.loading}>
{#each items as item}<!-- Content updates smoothly -->{/each}
</div>
{/if}
Core Principles
- Store queries:
const query = get_data()enables.current
property access
- Use
.current: Prevents page jumps, keeps scroll position
during updates
- Initial load only: Show spinner when
.current === undefined,
not on every refresh
- Avoid
{#await}: Causes jarring page reloads - use stored query
pattern instead
Reference Files
- [current-property.md](references/current-property.md) - Deep dive on
.current property
- [anti-patterns.md](references/anti-patterns.md) - Common mistakes to
avoid
- [examples.md](references/examples.md) - Real-world implementation
examples