mcpbeat

Chart Builder

microsoft/chart-builder

Use this skill whenever the user asks to visualize, chart, plot, or graph data (bar, line, scatter, histogram, pie) from a CSV, table, or DataFrame. It gives the agent prebuilt, parameterized matplotlib functions so charts are produced faster and more reliably — with consistent styling and sane defaults — instead of hand-writing matplotlib each time.

6k tokens
context cost
the whole folder, loaded on every use
6
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
16 d ago
last touched
this folder, not the whole repository

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/cat-agent-skills --skill chart-builder

What comes with it

21 733 bytes besides the instruction
README.md
assets/sample_sales.csv
metadata.json
references/cheatsheet.md
scripts/charts.py

The instruction itself

4 sections, as written by the author

Generate charts from tabular data via the bundled scripts/charts.py toolkit.

Each function takes a DataFrame or a file path plus the columns to plot, and

saves a PNG (returning the path). It handles theming, figure sizing, label

rotation, NaN dropping, legend placement, and saving.

Instructions

  • Provide the data source: a pandas DataFrame, or a path to a .csv / .tsv /

.json file.

  • Call the function for the chart you need, passing the column names:
  • bar(data, x, y) — one value per category (horizontal=True for barh)
  • grouped_bar(data, x, y, group) — value per category split by group

(stacked=True to stack)

  • line(data, x, y, group=None) — value over an ordered axis, one line per

group

  • scatter(data, x, y, group=None, size=None) — two numeric columns
  • histogram(data, y, bins=20, group=None) — distribution of one column
  • pie(data, x, y, donut=False) — share of y per category x
  • Optional keyword args on every chart: title, xlabel, ylabel (derived

from column names if omitted), out (default "chart.png"; pass None to

skip saving), dpi (default 150), figsize, palette.

  • The function returns the saved image path. See references/cheatsheet.md for

full signatures and a chart-selection table.

Usage

Import:

from charts import bar, line, pie
bar("sales.csv", x="region", y="revenue", title="Revenue by region",
    out="revenue.png")

CLI:

python scripts/charts.py grouped_bar sales.csv \
    --x region --y revenue --group quarter --stacked --out by_quarter.png

Bundled files

  • scripts/charts.py — the toolkit: load_data, apply_theme, save_fig, and

six chart functions (bar, grouped_bar, line, scatter, histogram,

pie), plus a CLI. Depends on matplotlib and pandas; runs headless.

  • references/cheatsheet.md — chart-selection table, full signatures, and

copy-paste CLI examples.

  • assets/sample_sales.csv — a small demo dataset that exercises every chart.

Defaults

  • Colorblind-friendly palette and a shared theme across charts.
  • Figure size, x-label rotation, and legend placement adapt to the data.
  • Rows with missing values in the plotted columns are dropped before drawing.
  • Output is a saved PNG at 150 DPI by default (override out and dpi).

How to use it

Copy the folder

Take microsoft/chart-builder from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.