# Rikka
> A modern Web Components toolkit with fine-grained reactivity based on TC39 Signals. Zero virtual DOM, ~16KB gzip, type-safe, and LLM-friendly. Three published packages: `@takanashi/rikka-signal`, `@takanashi/rikka-dom`, `@takanashi/rikka-elements`.
This file follows the [llms.txt](https://llmstxt.org/) convention. If you're an AI coding agent, start with the umbrella skill below, then load task-specific skills on demand.
## Umbrella skill (start here)
- [rikka](https://github.com/yw662/rikka/tree/main/skills/rikka/SKILL.md): Orientation — what rikka is, the four LLM-specific footguns, the minimal counter example. Load this first.
- [overview](https://github.com/yw662/rikka/tree/main/skills/overview/SKILL.md): What rikka is, the three packages, design principles, when to use it.
## Reactive state
- [reactive-state](https://github.com/yw662/rikka/tree/main/skills/reactive-state/SKILL.md): `signal`, `computed`, `effect`, `untracked`. The TC39-Signals-based reactive primitives.
## DOM
- [dom-creation](https://github.com/yw662/rikka/tree/main/skills/dom-creation/SKILL.md): `h()`, tag helpers, `h\`` template literal. Creates real DOM elements.
- [signal-binding](https://github.com/yw662/rikka/tree/main/skills/signal-binding/SKILL.md): Binding signals to text nodes, attributes, template slots. Fine-grained vs coarse-grained.
- [control-flow](https://github.com/yw662/rikka/tree/main/skills/control-flow/SKILL.md): `For` (lists), `Show` / `When` / `Switch` / `Match` (conditionals).
- [form-binding](https://github.com/yw662/rikka/tree/main/skills/form-binding/SKILL.md): Two-way binding for ``, `