chart-image_skill

This skill generates publication-quality chart images from data using Vega-Lite in headless environments, boosting reports, alerts, and dashboards.
  • Python

2.6k

GitHub Stars

4

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill openclaw/skills --skill chart-image

  • _meta.json1.5 KB
  • CAPABILITY.md2.5 KB
  • README.md10.1 KB
  • SKILL.md10.4 KB

Overview

This skill generates publication-quality chart images (PNG or SVG) from JSON data using Vega-Lite. It is optimized for headless server environments and small deployments (Fly.io, VPS, Docker) with no browser or native compilation required. Outputs include line, bar, area, pie/donut, candlestick, heatmap, multi-series and stacked charts suitable for reports, alerts, and dashboards.

How this skill works

You provide data as a JSON array and command-line options to define chart type, fields, size, formatting and annotations. The tool builds a Vega-Lite spec and renders a raster or vector image via a pure Node.js pipeline (Sharp + prebuilt binaries), avoiding Puppeteer or native build steps. It supports piping input, custom specs, dual Y-axes, sparklines, and export paths for automatic delivery.

When to use it

  • Generate chart images for reports, emails, or monitoring alerts without a browser.
  • Create time-series visualizations that respect real date gaps using temporal X axes.
  • Produce compact sparklines or large publication charts on headless servers.
  • Render multi-series, stacked, or candlestick charts for comparative or financial data.
  • Embed formatted charts in automation pipelines where no external API or browser is allowed.

Best practices

  • Pass data as a JSON array (or pipe it) and explicitly set x/y field names to avoid guesswork.
  • Use --x-type temporal when X values are ISO dates to preserve actual time spacing.
  • Save outputs to /data/clawd/tmp/ for persistence and send the generated file to users.
  • Enable --dark for night-time charts (or auto-select based on local time) when distributing to dark-mode audiences.
  • Use --y-format (percent, dollar, compact, decimal4) for readable axis labels in reports.

Example use cases

  • Automated alert charts: use --show-change, --focus-change and --dark to generate monitor-ready images.
  • Daily report generation: produce PNG revenue charts with --y-format dollar and subtitle context.
  • Financial dashboards: create candlestick charts with OHLC fields and a volume overlay.
  • Heatmaps for activity analysis: render weekly activity with --color-scheme viridis.
  • Sparklines for compact status panels: generate 80x20 transparent charts for inline display.

FAQ

Yes. The skill uses Sharp with prebuilt binaries and a pure Node.js renderer—no native compilation or Puppeteer required.

How do I draw a time-series with real gaps between points?

Set --x-type temporal and provide ISO date strings for the X field so spacing reflects actual time gaps.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational