Repo of the Day
floorianmb/prism-viz
Published: Oct 9, 2026
Open repository ↗Prism: sandboxed, themed, interactive visualizations in Obsidian notes
Summary
Prism is an Obsidian community plugin that turns viz code blocks inside notes into interactive charts, tables, diagrams, formulas and small scenes, with Chart.js, D3, Mermaid, three.js and KaTeX bundled so it works offline. It is also designed for AI coding agents: a CLI renders a note invisibly through the running Obsidian app and returns errors with note line numbers plus PNG snapshots, so Claude Code or Codex can write and self-check viz blocks without round-tripping screenshots.
What it is useful for
- Building dashboards from a plain Markdown table in the same note, using a YAML no-code spec (
type: bar,source: ^stats,x: Month); edit the table and the chart updates. - Visualizing vault-wide data via
prism.notes({ include: ["tasks", "links"] }), including Tasks-plugin metadata and frontmatter. - Creating explorable or scrollytelling notes where a slider in one block drives a chart in another (
prism.shared,prism.onSection). - Letting an agent generate visualizations from a prompt and verify them with
node .obsidian/plugins/prism-viz/scripts/prism-render.mjs "Books.md", which exits with status codes for ok / block errors / render failure / Obsidian unreachable. - Showing formulas and Mermaid diagrams that respect Obsidian's light/dark theme and export to PDF.
How engineers can use it
Install via Settings → Community plugins → Browse (search "Prism") or BRAT with floorianmb/prism-viz. To use the agent CLI, copy main.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/prism-viz/ (the community plugin package omits the render script), then run Prism: Install agent skill or the documented node scripts/install-skill.mjs --vault '/path/to/vault'.
In a note, anchor a Markdown table with ^stats and add:
type: bar
source: ^stats
x: Month
For finer control, use the prism JavaScript API (prism.notes(), prism.data("folder/file.csv"), prism.http.json with an opt-in click, prism.state) inside a viz chart block; the full API is in skill/reference.md. Development uses npm install and npm run build, which also regenerates skill/reference.md. Documented limits: the render CLI needs the desktop app (it launches Obsidian if closed), errors.json reflects only the last render, and PNG snapshots of WebGL canvases require preserveDrawingBuffer: true.