phuetz/code-buddy/data-charts
Claude Code and agent skill by phuetz/code-buddy
- community
Checking that the SKILL.md file is still in the repository.
Analyze tabular data and render charts (bar, line, scatter, pie, histogram) to PNG/SVG with pandas + matplotlib. Use whenever the user wants to plot, chart, graph, or visualize data from a CSV/JSON/Excel file or inline numbers.
Install
npx vskill@latest install phuetz/code-buddy/data-chartsSKILL.md
Analyze data & render charts with pandas + matplotlib
Turn tabular data (CSV/JSON/Excel/inline) into a real chart image using the open-source pandas + matplotlib libraries. Work in visible steps and verify the image was written before reporting.
Getting the data when it's NOT in a file (e.g. "France GDP over 10 years")
When the user asks to chart something you must look up rather than read from a file, gather the numbers FIRST with your normal tools — your own knowledge, or a quick web_search — then hard-code them as inline Python lists. Do NOT fetch from an external API inside the Python script (urllib/requests): sandboxed network calls routinely time out (the 30 s command limit), which makes you give up and fall back to a much worse ASCII/text "chart". Inline numbers → matplotlib → a real PNG is fast and reliable. Only read from the network when the user explicitly gives you a data URL and it's known-fast.
Preflight (extras-tier libs)
These libs are optional and not in the default build. Always check first:
Workflow (one step at a time)
- Load the data with pandas (
read_csv/read_json/read_excel), or
build a DataFrame from inline numbers.
- Inspect: print
df.head()anddf.describe()(or the shape) so the data
is visibly understood before plotting.
- Plot: use the non-interactive Agg backend (
matplotlib.use("Agg"),
set before importing pyplot — there is no display), build the chart, add a title + axis labels, and savefig(path, dpi=144, bbox_inches="tight").
- Verify:
assert os.path.getsize(path) > 0and print the path + size. - Report the saved image path and a one-line insight from the data.
Quality conventions
- Always set
matplotlib.use("Agg")beforeimport matplotlib.pyplot— the
app has no X display; the interactive backend would crash.
- Label axes and give every chart a title; use a legend when >1 series.
- Prefer
tight_layout()/bbox_inches="tight"so labels aren't clipped. - Save PNG by default (144 dpi); SVG when the user wants a vector.
Example
Notes
- The chart image is an artifact — surface its path so the GUI can preview it.
- For quick stats without a chart,
df.describe()/df.groupby(...).agg(...). - To put a chart into an Excel/Word/PowerPoint file, hand the saved PNG to the
xlsx/docx/pptx create skills.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingcowork/.claude/skills/data-charts/SKILL.md
Popularity
- Repository stars
- 44
- Repository forks
- 12
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/phuetz/code-buddy/data-charts)