reactive-state

Define and manage reactive state with rikka signals, computed values, and effects.

6|1|Updated May 31, 2026
One-click install
npx skills add https://github.com/yw662/rikka --skill reactive-state-yw662
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reactive-state
Source: https://github.com/yw662/rikka/tree/main/skills/reactive-state
Command: npx skills add https://github.com/yw662/rikka --skill reactive-state-yw662

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you create predictable reactive state in rikka without manual bookkeeping, so updates, derived values, and side effects stay synchronized.

Core Features & Use Cases

  • Signal State: Create writable state with signal for counters, form inputs, toggles, and structured app data.
  • Derived Reactivity: Use computed to express values that automatically recalculate from dependencies.
  • Side Effects and Cleanup: Use effect for logging, subscriptions, DOM synchronization, and timer lifecycles with proper disposal.
  • Untracked Reads: Read current signal values without subscribing when you need a snapshot instead of a dependency.
  • Use Case: Build a live UI that updates a badge count, fetches data when inputs change, and avoids feedback loops by separating reads from writes.

Quick Start

Use the reactive-state skill to create a signal-based counter with a derived value, an effect, and a safe untracked read.

Frequently Asked Questions about reactive-state

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage reactive state with signals in TypeScript?

To manage reactive state with signals, you create writable state using signal, derive automatic recalculations with computed, and handle side effects with effect, ensuring predictable updates without manual bookkeeping.

How do I read a signal value without creating a reactive dependency?

You can read current signal values without subscribing by using untracked reads, which provide a snapshot of the state instead of establishing a dependency for effects or computed values.

How do I avoid feedback loops when updating reactive state?

Avoid feedback loops in reactive state by separating reads from writes, utilizing untracked reads for snapshots and batching updates to prevent recursive triggers within effects.

Can I use computed signals to derive values and synchronize DOM side effects?

Yes, computed signals automatically recalculate derived values from dependencies, while effect manages side effects like DOM synchronization and handles proper disposal through cleanup.

Does this reactive state approach follow TC39 Signals semantics?

Yes, the reactive state implementation requires correct use of signal, computed, effect, and untracked with TC39 Signals semantics for TypeScript-friendly integration.