Agent skill

Charting

by oaustegard in oaustegard/claude-skills

Select the right Python charting library (seaborn, matplotlib, graphviz) and produce publication-quality static visualizations.

MITAuto-check passedData & Analytics

Install Charting

skills CLI
$ npx skills add oaustegard/claude-skills --skill charting -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install oaustegard/claude-skills charting --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/charting .claude/skills/charting && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
charting
GitHub stars
150
Token cost
~1.5k tokens
SKILL.md length
543 words
Files
2
Skills in repo
93
Repo updated
First seen
Licence
MIT

At a glance

Select the right Python charting library (seaborn, matplotlib, graphviz) and produce publication-quality static visualizations.

  • Works in 4 steps: Create chart in /home/claude/ → Save as PNG (default) or SVG (if user… → Copy to /mnt/user-data/outputs/ → …
  • Creating charts
  • SKILL.md covers Library Selection Framework, Quick Reference: Chart Type →…, Production Defaults and Output Workflow
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Charting is an agent skill from oaustegard/claude-skills. Select the right Python charting library (seaborn, matplotlib, graphviz) and produce publication-quality static visualizations. Use when creating charts, plots, graphs, diagrams, heatmaps, visualizations from data, or when choosing between matplotlib/seaborn/graphviz. Also triggers for network diagrams, flowcharts, dependency trees, state machines, and entity-relationship diagrams. For interactive browser-rendered charts or uploaded data exploration, defer to charting-vega-lite instead.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `CHANGELOG.md`).

It sits in Data & Analytics, covering Data visualization and Diagrams. It works with Seaborn, Matplotlib and Python. The repository describes itself as: My collection of Claude skills. The licence is MIT.

When your agent uses it

  • Creating charts
  • Visualizations from data
  • Choosing between matplotlib/seaborn/graphviz
  • Network diagrams

Example prompts

  • “/charting”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Create chart in /home/claude/
  2. Save as PNG (default) or SVG (if user needs vector)
  3. Copy to /mnt/user-data/outputs/
  4. Present via present_files

What it can do on your machine

Read from SKILL.md and the folder at commit 559a6cd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Charting loads about 1.5k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 543 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from oaustegard/claude-skills at commit 559a6cd, republished under its MIT licence (© oaustegard). 543 words, ~1,527 tokens.

Download SKILL.mdSave it as .claude/skills/charting/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
charting
description
Select the right Python charting library (seaborn, matplotlib, graphviz) and produce publication-quality static visualizations. Use when creating charts, plots, graphs, diagrams, heatmaps, visualizations from data, or when choosing between matplotlib/seaborn/graphviz. Also triggers for network diagrams, flowcharts, dependency trees, state machines, and entity-relationship diagrams. For interactive browser-rendered charts or uploaded data exploration, defer to charting-vega-lite instead.
metadata.version
0.1.0

Charting: Python Static Visualizations

Select the optimal Python charting library and produce clean, publication-quality output.

Library Selection Framework

Choose the library based on what the visualization represents, not habit.

Seaborn — DEFAULT for statistical/analytical charts

Seaborn wraps matplotlib with better defaults, tighter pandas integration, and fewer lines of code. Reach for seaborn first when the data lives in a DataFrame and the goal is analytical.

Use for: distributions (histograms, KDEs, violin plots, ECDFs), categorical comparisons (box plots, swarm plots, strip plots, bar plots), correlation (heatmaps, pair plots, regression plots), grouped/faceted views (FacetGrid, catplot, relplot).

Why: Automatic axis labeling from column names, coherent color palettes, built-in aggregation with confidence intervals, and hue/col/row faceting with minimal code.

Practical rule: If the code would call plt.bar(), plt.hist(), plt.scatter(), or build a heatmap with plt.imshow() — use the seaborn equivalent instead. It will look better with less effort.

Matplotlib — fine-grained control and non-standard layouts

Drop to raw matplotlib only when seaborn doesn't support the chart type or when pixel-level layout control is required.

Use for: custom multi-panel figures mixing chart types, unusual annotations (arrows, shaded regions, custom legends), non-standard axes (polar, broken axes, insets), animations, image overlays, or any layout where the default seaborn API is insufficient.

Combine with seaborn: Seaborn plots return matplotlib Axes objects. Apply matplotlib customization on top of seaborn output rather than rebuilding from scratch.

Graphviz — graph/network structures

Graphviz operates in a fundamentally different domain: nodes and edges, not x/y data.

Use for: dependency trees, flowcharts, state machines, org charts, entity-relationship diagrams, DAGs, call graphs, any directed or undirected graph structure.

Python interface: Use the graphviz Python package (installed). Create graphviz.Digraph() or graphviz.Graph(), add nodes/edges, render to PNG/SVG/PDF.

python
import graphviz
g = graphviz.Digraph(format='png')
g.node('A', 'Start')
g.node('B', 'Process')
g.edge('A', 'B')
g.render('/home/claude/output', cleanup=True)

Layout engines: dot (hierarchical, default), neato (spring model), fdp (force-directed), circo (circular), twopi (radial). Set via g.engine = 'neato'.

Vega-Lite — interactive browser charts

When the user wants interactive, browser-rendered visualizations (tooltips, zoom, selection, filtering) or uploads data for exploratory charting, defer to the charting-vega-lite skill. That skill handles React artifact generation with inline data islands.

Decision shortcut: Static image file → this skill. Interactive artifact → charting-vega-lite.

Show full SKILL.md (203 more words)Show less

Quick Reference: Chart Type → Library

NeedLibraryFunction
Histogram / KDEseabornsns.histplot(), sns.kdeplot()
Box / Violin / Swarmseabornsns.boxplot(), sns.violinplot()
Bar (categorical)seabornsns.barplot(), sns.countplot()
Correlation heatmapseabornsns.heatmap()
Scatter + regressionseabornsns.scatterplot(), sns.regplot()
Pair plot (multi-var)seabornsns.pairplot()
Faceted gridseabornsns.FacetGrid, catplot, relplot
Time series lineseabornsns.lineplot() (handles CI bands)
Custom multi-panelmatplotlibfig, axes = plt.subplots()
Polar / radarmatplotlibprojection='polar'
Annotated diagramsmatplotlibax.annotate(), arrows, patches
Dependency treegraphvizDigraph
Flowchart / FSMgraphvizDigraph with shape attrs
ER diagramgraphvizGraph with record shapes
Network graphgraphvizGraph with layout engine

Production Defaults

Apply these defaults to produce clean output without per-chart fiddling.

Seaborn Setup
python
import seaborn as sns
import matplotlib.pyplot as plt

sns.set_theme(style="whitegrid", palette="muted", font_scale=1.1)

Style options: whitegrid (default, good for most), white (cleaner for publications), darkgrid (data-dense plots), ticks (minimal).

Figure Sizing and DPI
python
fig, ax = plt.subplots(figsize=(10, 6))
# Or for seaborn figure-level functions:
g = sns.catplot(..., height=6, aspect=1.5)

# Save at publication quality
plt.savefig('/home/claude/chart.png', dpi=150, bbox_inches='tight', facecolor='white')

Use dpi=150 for screen/web output, dpi=300 for print. Always use bbox_inches='tight' to avoid clipped labels.

Color Guidance
  • Categorical: "muted", "Set2", "tab10" — distinct, accessible
  • Sequential: "viridis", "YlOrRd", "Blues" — ordered magnitude
  • Diverging: "RdBu", "coolwarm" — centered on zero/midpoint
  • Avoid: "jet", "rainbow" — perceptually non-uniform, colorblind-hostile
Common Refinements
python
# Rotate x-labels if overlapping
plt.xticks(rotation=45, ha='right')

# Remove top/right spines for cleaner look
sns.despine()

# Thousands separator for large numbers
ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: f'{x:,.0f}'))

Output Workflow

  1. Create chart in /home/claude/
  2. Save as PNG (default) or SVG (if user needs vector)
  3. Copy to /mnt/user-data/outputs/
  4. Present via present_files

Always plt.close() after saving to free memory.

© oaustegard, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in charting of oaustegard/claude-skills.

  • SKILL.md
  • CHANGELOG.md

Open the folder on GitHubat commit 559a6cd

Compare with similar skills

Charting next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Charting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Charting this skilloaustegard/claude-skills150—~1.5kAutomated safety check: PassMIT
Ieee Figure TableCloudWave818/ieee-skills353—~1kAutomated safety check: PassMIT
Nature FigureCitrus-bit/Anaxa1202 repos~2.7kAutomated safety check: PassMIT
CJK Font Setup for Plotsxjtulyc/MedgeClaw6171 repos~1.3kAutomated safety check: PassNone
Release Evidence WorkflowAli-Marandi/ClimateDataAnalyzer107—~1.6kAutomated safety check: PassMIT
IntelligrapherMrLee2R/Intelligrapher112—~388Automated safety check: PassMIT

Similar skills

  • Ieee Figure Table

    CloudWave818/ieee-skills

    Audit, redesign, generate, and improve IEEE manuscript figures, tables, captions, result presentation, plotting scripts, visual polish, hybrid Python/R plus vector-editor workflows…

    353 GitHub stars~1k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Nature Figure

    Citrus-bit/Anaxa

    Submission-grade Nature/high-impact journal figure workflow for Python or R.

    120 GitHub starsUsed in 2 repos~2.7k tokens
    Data & AnalyticsAuto-check passed
  • CJK Font Setup for Plots

    xjtulyc/MedgeClaw

    Detects a usable Chinese, Japanese or Korean font and configures matplotlib so chart labels, titles and legends render instead of showing empty boxes.

    617 GitHub starsUsed in 1 repo~1.3k tokens
    Data & AnalyticsAuto-check passed
  • Release Evidence Workflow

    Ali-Marandi/ClimateDataAnalyzer

    Build an auditable release-evidence workflow for a desktop or packaged application.

    107 GitHub stars~1.6k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Intelligrapher

    MrLee2R/Intelligrapher

    科研绘图智能助手。当用户需要科研绘图、数据可视化、配色建议、期刊风格调整、生成 matplotlib 或 seaborn 绘图代码、或询问某专业领域图表规范时触发。支持多领域与顶刊审美,输出可直接运行的 Python 脚本。

    112 GitHub stars~388 tokensUpdated 4 mo ago
    Data & AnalyticsAuto-check passed
  • Scientific Figure Generation

    lingzhi227/agent-research-skills

    Generates publication-quality scientific figures with matplotlib or seaborn through query expansion, a run-and-retry coding loop and a visual check of the rendered PNG.

    383 GitHub stars~809 tokensUpdated 7 mo ago
    Data & AnalyticsAuto-check passed

More from oaustegard/claude-skills

All 93 skills in this repo
  • Bluesky Zeitgeist Sampler

    oaustegard/claude-skills

    Deprecated sampler that captures short windows of the Bluesky firehose, clusters trending terms and builds an HTML report; replaced by the browsing-bluesky skill.

    150 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Vega-Lite Interactive Charts

    oaustegard/claude-skills

    Builds interactive Vega-Lite charts from uploaded data: analyzes the fields, picks five to ten fitting chart types, and produces a React artifact with the data embedded inline.

    150 GitHub stars~2.1k tokensUpdated 5 days ago
    Auto-check passed
  • Single-File HTML Composer

    oaustegard/claude-skills

    Builds self-contained single-file HTML pages such as reports, decks, postmortems, flowcharts and prototypes from a small spec using a bundled Python composer and templates.

    150 GitHub stars~3.2k tokensUpdated 5 days ago
    Auto-check passed
  • Declauding

    oaustegard/claude-skills

    Rewrites model-sounding prose into plain technical writing and checks that every claim survives, for PR text, docs, commit messages and similar drafts.

    150 GitHub stars~5.1k tokensUpdated 5 days ago
    Auto-check passed
  • Forecasting Reverso

    oaustegard/claude-skills

    Zero-shot univariate time series forecasting using the Reverso foundation model (NumPy/Numba CPU-only inference).

    150 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Preact Developer

    oaustegard/claude-skills

    Guides building standards-based Preact apps with native-first choices, HTM syntax, import maps and vendored ESM, from single-file demos to larger builds.

    150 GitHub stars~4.6k tokensUpdated 5 days ago
    Auto-check passed

Questions about Charting

What does Charting do?

Select the right Python charting library (seaborn, matplotlib, graphviz) and produce publication-quality static visualizations. Charting is an agent skill from oaustegard/claude-skills. Select the right Python charting library (seaborn, matplotlib, graphviz) and produce publication-quality static visualizations.

When should I use Charting?

Charting fits situations like: creating charts; visualizations from data; choosing between matplotlib/seaborn/graphviz; network diagrams.

How do I install Charting in Claude Code?

Run `npx skills add oaustegard/claude-skills --skill charting -a claude-code`. Or copy the skill folder (charting in oaustegard/claude-skills) into .claude/skills/charting in your project. Claude Code loads it when a task matches its description.

How do I install Charting in Codex?

Run `npx skills add oaustegard/claude-skills --skill charting -a codex`. Or copy the skill folder (charting in oaustegard/claude-skills) into .agents/skills/charting in your project. Codex loads it when a task matches its description.

Can I use Charting in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oaustegard/claude-skills --skill charting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/charting, .gemini/skills/charting, .github/skills/charting and .opencode/skills/charting in your project.

What does Charting need to run?

SKILL.md names no scripts, command-line tools or credentials: Charting is instructions for the agent only. Our summary lists: Python 3.

Does Charting access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Charting safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Charting use?

Charting is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Charting use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Charting?

Skills that share tags, products or a category with Charting: Ieee Figure Table (CloudWave818/ieee-skills, 353 stars), Nature Figure (Citrus-bit/Anaxa, 120 stars), CJK Font Setup for Plots (xjtulyc/MedgeClaw, 617 stars) and Release Evidence Workflow (Ali-Marandi/ClimateDataAnalyzer, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Charting?

oaustegard (a GitHub user) maintains it in oaustegard/claude-skills, which has 150 GitHub stars. The repository holds 93 skills in this directory. The repository was last updated on October 2, 2026.

Source: oaustegard/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.