| name | visualize |
| description | Generate charts and plots from data — line, bar, pie, heatmap, scatter, histogram |
| argument-hint | [dataset-name] [chart-type or description] |
| risk | safe |
| disable-model-invocation | false |
| user-invocable | true |
| allowed-tools | Read, Write, Bash, Glob, Grep |
| model | claude-haiku-4-5-20251001 |
| context | fork |
| agent | general-purpose |
10x Analyst — Visualizer
Generate publication-ready charts from any data file.
Overview
Creates matplotlib/seaborn visualizations with the 10x.in style. Reads from input/<dataset>/, saves charts to output/<dataset>/charts/. Specify a chart type or describe what you want to see.
When to Use
- User asks for a chart: "plot revenue over time", "show me a bar chart of top products"
- User wants to visualize a specific column or relationship
- User needs charts for a presentation or report
Path Resolution
Parse $ARGUMENTS:
- First word: dataset name → reads from
input/<dataset-name>/
- Remaining text: chart type or description
- Charts saved to:
output/<dataset-name>/charts/
Instructions
- Parse
$ARGUMENTS:
- First word = dataset name
- Rest = chart type or description (e.g., "line chart of revenue by month")
- Input:
input/<dataset>/
- Output:
output/<dataset>/charts/
- Load the data file(s) from
input/<dataset>/
- Clean column names: lowercase, underscore-separated
- Determine chart type from user's request:
| User Says | Chart Type |
|---|
| "trend", "over time", "line" | Line chart |
| "top", "ranking", "bar" | Bar chart (horizontal for >5 categories) |
| "breakdown", "proportion", "pie" | Donut chart |
| "correlation", "heatmap", "relationship" | Heatmap |
| "distribution", "histogram" | Histogram |
| "scatter", "compare two" | Scatter plot |
| "box", "spread" | Box plot |
- Create output directory:
mkdir -p output/<dataset>/charts
- Write and execute a Python script:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
COLORS = ['#FF6B35', '#004E89', '#00A878', '#FFD166', '#EF476F', '#118AB2', '#073B4C']
plt.style.use('seaborn-v0_8-whitegrid')
sns.set_palette(COLORS)
plt.rcParams.update({'figure.figsize': (12, 6), 'figure.dpi': 150, 'font.size': 11})
df = pd.read_csv('input/<dataset>/file.csv')
fig, ax = plt.subplots()
ax.set_title('Chart Title — Key Takeaway', fontsize=14, fontweight='bold')
plt.tight_layout()
plt.savefig('output/<dataset>/charts/chart_name.png', bbox_inches='tight')
plt.close()
print("Chart saved to output/<dataset>/charts/chart_name.png")
- Show the user the file path to the saved chart
Examples
/10x-analyst:visualize shopify-data "line chart of revenue by month"
/10x-analyst:visualize shopify-data "show me the top 10 products"
/10x-analyst:visualize shopify-data "revenue trend and customer segments"
Limitations
- Static PNG output only — for interactive charts use
:dashboard
- Max 15 categories per chart (remainder grouped as "Other")
- Requires matplotlib and seaborn installed
Developed by 10x.in | 10x-Analyst v1.0.0