--- name: report-charts description: "Quantities as `bars` or Vega-Lite `vega` charts with tooltips, selections and cross-filter. Use for 'how much', 'distribution', 'over time', 'compare counts'." license: MIT metadata: version: 0.3.1 publisher: skaile-ai --- # report-charts Answer `` about quantities with `bars` (a few numbers) or `vega` (Vega-Lite: counts, distributions, time series, selections). Every number comes from the dump or the code. Write prose per `skill://report-prose`. Reading contract: follow `skill://report` (citations, labels, answer-first). Chart rules: - The caption (`label` on `vega`, the `p` above a `bars` block) states the interpretation: what the chart shows and what the reader should see in it, for example "Most tickets are features". A bare measure ("Tickets per kind") is not enough. - The title states only what the plotted data shows: a title naming the top five plots five bars, or the plot marks them. An "other" group sits last and takes `gray`. - Provenance goes in `at` (evidence table) or in a `[@path:line]` token in the caption or the prose. Never put a file path, line number or source name in an axis `title`, a `bars` label or a field name. - One chart answers one question. The answer to that question is in the prose before the chart; the chart supports it. ## Which block | Question | Block | |---|---| | A few values, one per label or entity; no axis, no hover | `bars` | | Distribution, histogram, counts per enum value, trend over time, two numeric fields, a chart that filters a table | `vega` | | Real flow numbers between stages | `mermaid sankey-beta` (`skill://report-diagram`), not a chart block | `bars` renders without JS and without a network. `vega` needs the jsDelivr CDN: offline, the figure shows a one-line note and the page keeps working. Use `bars` when it is enough. ## `bars` ``` { "type": "bars", "items": [["