arrow-js-obsidian-templates

Installation
SKILL.md

Arrow.js Templates (v1.0.6)

Rules for writing html\`` templates that render correctly in the browser and inside an Obsidian plugin. Several of these are hard runtime errors, not style.

Reactive vs static — the core rule

import { html, reactive } from "@arrow-js/core"
const data = reactive({ count: 0 })

html`<span>${data.count}</span>`        // ❌ renders ONCE — never updates
html`<span>${() => data.count}</span>`  // ✅ tracked — updates only this slot

${value} is read once at mount. ${() => value} is tracked: Arrow records the reactive reads inside the function and re-runs only that slot when they change. Forgetting () => is the #1 "why isn't it updating" bug.

Installs
8
First Seen
Jun 30, 2026