Our review
Generates charts and graphs from CSV, JSON, or query results using matplotlib.
Strengths
- Supports multiple chart types (bar, line, pie, scatter, histogram).
- Accepts inline data, file input, or piped data.
- Easily integrates with database queries to visualize results.
- Basic customization options like title and output file.
Limitations
- Static charts only (no interactivity).
- Limited to matplotlib styles (no advanced themes).
- Requires data in a compatible format (columns, numeric values).
Use this skill when you need to quickly visualize numerical data from CSV, JSON, or query results.
Do not use it if you need interactive charts, complex annotations, or highly customized visualizations.
Security analysis
CautionThe skill runs Python scripts to generate charts. While it does not perform destructive/evasive actions, it processes arbitrary input (inline, file, stdin) which could be crafted to exploit vulnerabilities in the underlying scripts. The risk is moderate given the legitimate purpose.
- •Executes user-supplied data through matplotlib scripts, which could theoretically allow injection if data is not properly sanitized.
Examples
Create a bar chart showing monthly sales: Jan 12000, Feb 15000, Mar 13500, Apr 18000. Title it 'Monthly Sales'.Generate a line chart from sales.csv using month on x-axis and revenue on y-axis, with title 'Revenue Trend'.Make a pie chart of traffic by device: Desktop 55, Mobile 35, Tablet 10. Title it 'Traffic by Device'.name: charts description: Generate charts and graphs from data for reports. Use when user wants to visualize data, create charts, graphs, plots, or diagrams from CSV, JSON, or query results. allowed-tools:
- Read
- Bash(~/.claude/skills/charts/:)
Charts Skill
Generate charts and graphs from data using matplotlib.
Commands
| Command | Description |
|---------|-------------|
| charts bar | Bar chart (vertical or horizontal) |
| charts line | Line chart for trends/time series |
| charts pie | Pie chart for proportions |
| charts scatter | Scatter plot for correlations |
| charts histogram | Histogram for distributions |
| charts help | Show help |
Data Input Methods
1. Inline data
charts bar --labels "A,B,C" --values "10,20,30"
2. From CSV/JSON file
charts line --file data.csv --x date --y revenue
3. From stdin (pipe)
echo "name,value
Product A,100
Product B,150" | charts bar --x name --y value
4. Combined with database skill
database query "SELECT status, COUNT(*) as count FROM orders GROUP BY status" | charts pie --x status --y count --title "Order Status"
Common Options
--title "Text"- Set chart title--output file.png- Specify output path (default: /tmp/chart_<type>_<timestamp>.png)--open- Open image after generating--x column- Column for X axis / labels--y column- Column for Y axis / values
Chart-Specific Options
Bar chart
--horizontal- Horizontal bars instead of vertical
Histogram
--column name- Column to analyze--bins N- Number of bins (default: 10)
Output
By default, charts are saved to /tmp/chart_<type>_<timestamp>.png and the path is printed to stdout.
Use the Read tool to view the generated chart image.
Examples
# Sales by month
charts bar --labels "Jan,Feb,Mar,Apr" --values "12000,15000,13500,18000" --title "Monthly Sales"
# Revenue trend from CSV
charts line --file sales.csv --x month --y revenue --title "Revenue Trend"
# Distribution pie chart
charts pie --labels "Desktop,Mobile,Tablet" --values "55,35,10" --title "Traffic by Device"
# Query results visualization
database query "SELECT date, amount FROM transactions ORDER BY date" | charts line --x date --y amount --title "Transaction History"
# Age distribution histogram
charts histogram --file users.csv --column age --bins 15 --title "User Age Distribution"
Prompt Engineering
Data & AI
Prompt engineering best practices and templates to maximize AI outputs.
Data Visualization
Data & AI
Generates data visualizations and charts tailored to your data.
RAG Architecture Setup
Data & AI
Setup guide for RAG (Retrieval-Augmented Generation) architectures.