← Back to Skills Marketplace
pratyushchauhan

Data Chart Builder

by Pratyush Chauhan · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
52
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install data-chart-builder
Description
Create publication-ready charts from any data source (CSV, JSON, FRED API, or inline data). Supports line, bar, scatter, area-fill, indexed series, annotatio...
README (SKILL.md)

Data Chart Builder

Build publication-ready charts from CSV, JSON, FRED, or inline data.

Quick Start

python3 scripts/chart_builder.py --config chart.json

Workflow

1. Prepare data or identify source

Options:

  • CSV file: Local or URL
  • JSON: Inline in config or external file
  • FRED: Federal Reserve series ID
  • Inline: Direct data array in config

2. Write config JSON

{
  "title": "My Chart Title",
  "series": [
    {
      "csv": "/path/to/data.csv",
      "date_col": "date",
      "value_col": "price",
      "label": "Stock Price",
      "color": "#2E86AB",
      "index": true
    }
  ],
  "output": "/tmp/my_chart.png"
}

3. Generate

python3 scripts/chart_builder.py --config my_chart.json

Config Reference

Top-level fields

Field Type Description
title string Chart title
series array Data series to plot (required)
output string Output path (default: /tmp/chart.png)
figsize [w, h] Figure size in inches (default: [12, 7])
start_date / end_date string Filter range (YYYY-MM-DD)
index_all bool Index all series to 100
fill bool Shade between first two series
fill_color string Fill color (default: red)
fill_alpha float Fill opacity (default: 0.15)
hline number Draw horizontal reference line
grid bool Show grid (default: true)
ylim [min, max] Y-axis limits
annotations array Vertical event markers

Series fields

Field Type Description
label string Legend label (required)
csv string Path or URL to CSV
json string Path to JSON file
fred string FRED series ID
data array Inline data: [{"date": "...", "value": 100}, ...]
date_col string Date column name (default: date)
value_col string Value column name (default: value)
type string line, bar, scatter
color string Hex color
width number Line width
style string Line style: -, --, -., :
index bool Index this series to 100
base_date string Index base date (default: first observation)

Annotations

{
  "date": "2008-09-15",
  "label": "Lehman Bankruptcy",
  "position": "top",
  "y": 120,
  "fontsize": 9
}

Examples

Economic comparison (FRED)

{
  "title": "USA: GDP vs Wages (1959 = 100)",
  "series": [
    {"fred": "A939RX0Q048SBEA", "label": "GDP Per Capita", "color": "#2E86AB", "index": true},
    {"fred": "COMPRNFB", "label": "Compensation Per Hour", "color": "#F18F01", "index": true}
  ],
  "start_date": "1959-01-01",
  "end_date": "1985-12-31",
  "fill": true,
  "annotations": [
    {"date": "1971-08-15", "label": "Nixon Shock", "position": "top", "y": 140},
    {"date": "1973-10-01", "label": "Oil Crisis", "position": "bottom", "y": 90}
  ],
  "output": "gdp_wages.png"
}

Stock price vs volume

{
  "title": "AAPL Price vs Volume",
  "series": [
    {"csv": "aapl.csv", "label": "Price", "color": "#2E86AB", "type": "line"},
    {"csv": "aapl.csv", "label": "Volume", "color": "#F18F01", "type": "bar", "value_col": "volume"}
  ],
  "output": "aapl_chart.png"
}

Inline data

{
  "title": "Sales Q1-Q4",
  "series": [
    {
      "label": "Revenue",
      "data": [
        {"date": "2024-01-01", "value": 100},
        {"date": "2024-04-01", "value": 120},
        {"date": "2024-07-01", "value": 140},
        {"date": "2024-10-01", "value": 180}
      ],
      "color": "#2E86AB",
      "type": "bar"
    }
  ],
  "output": "sales.png"
}

Scatter plot

{
  "title": "Height vs Weight",
  "series": [
    {"csv": "patients.csv", "label": "Male", "color": "blue", "type": "scatter", "date_col": "height", "value_col": "weight"},
    {"csv": "patients.csv", "label": "Female", "color": "red", "type": "scatter", "date_col": "height", "value_col": "weight"}
  ]
}

Tips

  • Indexing: Use "index": true on each series or "index_all": true globally to compare growth rates on equal footing
  • Colors: Use contrasting hex codes. Good pairs: #2E86AB (blue) + #F18F01 (orange), or #C73E1D (red) + #3B1F2B (dark)
  • Annotations: Alternate position: "top" and "bottom" to avoid overlap
  • Date parsing: Ensure dates are ISO format (YYYY-MM-DD) for reliable parsing
  • FRED: Find series IDs at fred.stlouisfed.org

Data Source Flexibility

Source How to specify Best for
Local CSV "csv": "/path/to/file.csv" Custom datasets
URL CSV "csv": "https://example.com/data.csv" API endpoints
FRED "fred": "GDPC1" Economic time series
Inline "data": [...] Small static datasets
Usage Guidance
Install only if you are comfortable with a charting helper that can read local data files, fetch CSV/FRED data from the network, and write image files to paths you configure. Treat configs from other people as untrusted, especially if they contain URLs or output paths.
Capability Assessment
Purpose & Capability
The artifacts consistently describe and implement chart generation from CSV, inline data, and FRED series, then save a chart image to a configured output path.
Instruction Scope
The runtime instructions are limited to preparing a config and running the chart builder script; there are no role changes, hidden agent instructions, or unrelated commands.
Install Mechanism
No install hook, dependency installer, package manifest, or startup mechanism is present; the skill contains a markdown instruction file and one Python script.
Credentials
The script can fetch remote CSV URLs and FRED data using pandas, which is proportionate for a data visualization skill and is documented, but users should avoid untrusted URLs.
Persistence & Privilege
No persistence, privilege escalation, credential access, background worker, broad indexing, or destructive behavior was found; file writes are limited to the configured chart output.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install data-chart-builder
  3. After installation, invoke the skill by name or use /data-chart-builder
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
General-purpose chart builder supporting CSV, JSON, FRED, and inline data. Features: line/bar/scatter plots, series indexing, gap fill, annotations, multi-series overlays.
Metadata
Slug data-chart-builder
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Data Chart Builder?

Create publication-ready charts from any data source (CSV, JSON, FRED API, or inline data). Supports line, bar, scatter, area-fill, indexed series, annotatio... It is an AI Agent Skill for Claude Code / OpenClaw, with 52 downloads so far.

How do I install Data Chart Builder?

Run "/install data-chart-builder" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Data Chart Builder free?

Yes, Data Chart Builder is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Data Chart Builder support?

Data Chart Builder is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Data Chart Builder?

It is built and maintained by Pratyush Chauhan (@pratyushchauhan); the current version is v1.0.0.

💬 Comments