Skip to content
Agentmart
Submit a tool

charts

Use when producing a chart, plot or data visualisation as an image — for a report, a slide deck, or to show a result in chat.

Skill by iaa2005

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/iaa2005-charts

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when producing a chart, plot or data visualisation as an image — for a report, a slide deck, or to show a result in chat.

Use cases: documents, presentations, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/charts

What's inside

Skill name
charts
Description
Use when producing a chart, plot or data visualisation as an image — for a report, a slide deck, or to show a result in chat.
License
MIT
Instructions
112 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (3)

  • SKILL.md
  • check_palette.py · scripts/
  • make_chart.py · scripts/

SKILL.md (first lines)

## Which engine am I in?

Read the first line of the RunPython tool description:

- **PYODIDE** — Python in WebAssembly. Pure-Python packages install on import;
  no subprocess, no system binaries.
- **LOCAL SUBPROCESS** — the user's real Python. Everything works, including
  system tools — check with `shutil.which(...)` before relying on one.
- **PODMAN CONTAINER** — isolated container with python3, nodejs and tectonic.

Files persist between RunPython calls in the same chat, so build in steps and
inspect as you go rather than writing one long script.

matplotlib works in every engine. Save to PNG; the file persists in the working
directory and is attached to the conversation automatically, so it can be
embedded into a .docx, .pptx or .pdf in a later call.

## Rendering from a CSV — use the script

```
python scripts/make_chart.py data.csv --x region --y revenue --kind bar -o out.png
python scripts/make_chart.py data.csv --x month --y sales --kind line --keep-order
```

It applies the rules below instead of leaving them to be remembered: bar axes
start at zero, bars are sorted by value (`--keep-order` when the order carries
meaning, e.g. months), values are labelled directly on the bars rather than via
a legend, spines are trimmed, duplicate categories are summed, non-numeric rows
are reported rather than dropped in silence, and the font has Cyrillic glyphs.

Then LOOK at the file. Overlapping labels are only visible to the eye.

## Baseline (writing it yourself)

```python
import matplotlib
matplotlib.use('Agg')          # no display in any of these engines
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(8, 4.5), dpi=150)
ax.bar(regions, revenue, color='#4472C4')
ax.set_title('Revenue by region')
ax.set_ylabel('₽')
ax.spines[['top', 'right']].set_visible(False)
ax.grid(axis='y', alpha=.3)
fig.tight_layout()
fig.savefig('revenue.png')
```

`matplotlib.use('Agg')` before importing pyplot — without it, the backend can
try to open a window and fail.

## Choosing the form

Comparing categories → bar, sorted by value unless the order carries meaning
(months stay in month order). Change over time → line. Part of a whole → bar,
not pie; a pie with more than four slices is unreadable. Relationship between
two variables → scatter. Distribution → histogram.

## Rules that decide whether it is readable

Start a bar axis at zero. A truncated bar axis misrepresents the difference —
that is the single most common misleading chart.

Label the axes with units. A number without a unit is not information.

Do not encode meaning only in colour — a colour-blind reader loses it. Order,
labels or patterns should carry the message too.

Sort bars by value. An unsorted bar chart makes the reader do the ranking.

Direct-label the important series instead of relying on a legend the eye has to
travel to.

## Check the palette — you cannot eyeball this

```
python scripts/check_palette.py "#4472C4" "#ED7D31" "#A5A5A5"
python scripts/check_palette.py --tab10 --bg "#1a1a1a"
```

Reports contrast against the background (below 3:1 a bar is hard to see) and
simulates deuteranopia, protanopia and tritanopia to catch series that collapse
into one colour. Around 8% of men cannot separate red from green: a palette that
looks varied to you can carry no information at all for them.

If it flags a pair, do not just swap hues — vary LIGHTNESS as well, direct-label
the series, or add markers/patterns. Hue alone is never a safe channel.

## Cyrillic labels

Set a font that has the glyphs, or every label renders as boxes:

```python
matplotlib.rcParams['font.family'] = 'DejaVu Sans'
```

## Verify

Reopen the file and confirm it is a real image, not a 0-byte stub:

```python
import os
from PIL import Image
assert os.path.getsize('revenue.png') > 5000
print(Image.open('revenue.png').size)
```

Then look at it. If the labels overlap or the bars are invisible, fix it before
delivering — a chart you never viewed is a guess.

From iaa2005/monet-directory, MIT.

More from iaa2005/monet-directory

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Aug 10, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from iaa2005

Cite this page

charts skill. Agent Mart. https://agentmart.dev/skills/iaa2005-charts (last updated 2026-10-24)