← ClaudeAtlas

gen-chartlisted

Create polished, validated, interactive charts as self-contained standalone HTML with inline SVG, dark/light themes, crosshair tooltips, legend toggling, and honest-by-construction axes. Accept pasted data (CSV/TSV/JSON/markdown tables), data files in the workspace, or plain-language descriptions with numbers. Use when the user asks to chart, graph, plot, or visualize data, metrics, or trends — line, bar, area, scatter, pie/donut, histogram, boxplot, or heatmap — or to beautify an existing chart.
sses79/gen-chart · ★ 1 · Data & Documents · score 77
Install: claude install-skill sses79/gen-chart
# gen-chart Create a self-contained, interactive HTML chart from a small typed JSON specification. You author semantics and data; the deterministic renderer owns scales, ticks, layout, and honesty checks. Never emit chart SVG or HTML by hand while the CLI is available. All four chart families are implemented, with the full interactive viewer and `visual-check`. Substitute `<chart_type>` in the commands below with the family you routed to. ## Fast authoring path 1. Route the chart type from the question. When ambiguous, run `node bin/gen-chart.mjs guide "<scenario>" --json` and follow its recommendation, workaround, and cautions. 2. Get the data in place: - Data in a workspace file → `node bin/gen-chart.mjs inspect-data <file> --spec-out <candidate.json>` writes typed column profiles to stdout and a draft spec with the data already embedded. Author from the receipt; do not re-read the raw file. - Pasted data → embed the values verbatim into `data.columns`. - Never invent, round, extrapolate, or "clean" values. Data is sacred. 3. Read exactly one matching schema in `schemas/` plus one matching example in `examples/`. Examples teach field shape, never facts: write fresh IDs, labels, and titles for this chart's domain. 4. Artifact first: the next tool action writes or edits the candidate spec. Set `meta.title` to the chart's one-sentence message, keep at most two emphasized series, and put takeaways in `cards` instead of on the canvas. 5.