data-visualiselisted
Install: claude install-skill moonlight-lupin/data-toolkit
# Data Visualise
This skill **orchestrates** which visual artefact to build. Two renderers, one metrics
contract (`analysis.json` or declarative specs):
| Artefact | Engine | Choose when |
|---|---|---|
| **HTML dashboard** (`.html`) | `scripts/viz.py` | Shareable one-pager, print/PDF, branded board, Cowork/Claude artifact |
| **Excel charts** (`.xlsx`) | `scripts/workbook.py` | Analysts will keep working in Excel; native charts matter |
Both are local, offline, and draft-for-review. PowerPoint and letters stay out of scope.
## HTML / Excel parity (treat them as peers)
**Neither path requires data-analyse.** A simple table (CSV / JSON / `.xlsx`) is enough for
both. What differs is only the *renderer* and how you declare the series — not whether the
job is allowed.
| Starting point | HTML | Excel |
|---|---|---|
| Plain table | `input` + block `data` / `"rows": "$source"` | `type: "chart"` with `categories` + `series` (derive from the same table in Python) |
| `analysis.json` | `"blocks": "$analysis"` / `from_analysis` | same shortcut → chart sheets |
| Both artefacts | same numbers → HTML blocks **and** Excel chart specs | |
**Do not** steer every Excel request through analyse first, and **do not** treat HTML as the
only “simple data” path. Build the category/value series once from the table, then:
- HTML → `bar_chart` / `line_chart` / `donut_chart` / `waterfall` / `table`…
- Excel → `chart_type` `column` / `line` / `pie` / `doughnut` / `waterfall`…
Rough block ↔ cha