← ClaudeAtlas

chartslisted

Produce charts as interactive native figures (Plotly JSON) in output/, or as matplotlib PNG/SVG when an image file is needed — readable sizing, labels, and legends, validated before delivery.
brightwave-inc/tidebreak · ★ 24 · AI & Automation · score 77
Install: claude install-skill brightwave-inc/tidebreak
# Charts Charts ship in one of two forms. Pick the form first, then follow that section plus the shared rules at the end. - **Native chart** — an interactive figure the app renders inline, with zoom, hover, and PNG export. Default for anything delivered on screen. - **Raster chart** — a matplotlib PNG or SVG. Use it when the chart must be embedded in a generated document (DOCX, PDF, PPTX) or when the user asks for an image file. When a chart is both shown to the user and embedded in a document, produce both: the native figure for the conversation, the image for the document. ## Native charts Write a file named `<name>.chart.json` in `output/`. It must contain a single JSON object — a Plotly figure — with a `data` array of traces and an optional `layout` object: ```json { "data": [ { "type": "bar", "name": "Revenue", "x": ["Q1", "Q2", "Q3", "Q4"], "y": [12400, 15100, 14800, 19300] } ], "layout": { "title": { "text": "Revenue by quarter (USD)" }, "xaxis": { "title": { "text": "Quarter" } }, "yaxis": { "title": { "text": "Revenue (USD)" } } } } ``` No library is required. Author the JSON directly when you already know the numbers — with `json.dump` from a small script, or by writing the file outright. Reach for `plotly` only when the traces have to be computed from data you are processing anyway; if you do, install it in its own `exec` call the way matplotlib is installed below (`python3 -m pip install --user plotl