rikka

Build reactive web components with TC39 Signals and native custom elements.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rikka helps you build fast, type-safe web interfaces without a virtual DOM by combining real DOM creation, fine-grained signals-based reactivity, and native custom elements in one toolkit.

Core Features & Use Cases

  • Reactive State: Use signals, computed values, and effects to keep UI updates automatic and precise.
  • DOM Construction: Create elements directly with helpers such as h and tag functions for components, lists, and conditional rendering.
  • Custom Elements: Define reusable web components with attributes, events, and Shadow DOM styling in a framework-free way.
  • Use Case: Ideal for teams building interactive dashboards, embedded widgets, design system components, or small framework-independent apps with strong TypeScript support.

Quick Start

Use the rikka skill to create a reactive web component or DOM example for my UI task and follow the package conventions in the orientation guide.

Frequently Asked Questions about rikka

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

FAQPage Schema
How do I build reactive web components with TC39 signals without a virtual DOM?

You can build reactive web components without a virtual DOM by using fine-grained signal binding and native custom elements, applying helpers like h and tag functions for direct DOM creation and framework-free updates.

What is the best way to manage state and reactivity in framework-free custom elements?

The best way to manage state in framework-free custom elements is using TC39 signals, computed values, and effects to keep UI updates automatic and precise without requiring virtual DOM reconciliation.

Can I use TypeScript for type-safe attribute and event handling in web components?

Yes, you can define reusable custom elements with type-safe attribute and event handling, ensuring strict TypeScript support for interactive UI tasks like list rendering and Shadow DOM styling.

Does fine-grained signal reactivity work for conditional rendering and dynamic lists?

Fine-grained signal reactivity directly supports conditional rendering and dynamic lists by precisely tracking signal get and set operations to update real DOM nodes without diffing.

How do I create real DOM nodes directly instead of using virtual DOM reconciliation?

You create real DOM nodes directly by using DOM construction helpers like h and tag functions, binding signals to native elements for interactive UI tasks without framework overhead.