git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/michaelboeding/skills/chart-generation" ~/.claude/skills/comeonoliver-skillshub-chart-generation && rm -rf "$T"
skills/michaelboeding/skills/chart-generation/SKILL.mdChart Generation Skill
Generate accurate, data-driven charts and visualizations using Python (matplotlib/plotly).
Use this for real data. For concept art and illustrations, use
image-generation instead.
What It Produces
| Chart Type | Use Case | Script |
|---|---|---|
| Bar Chart | Compare values across categories | |
| Line Chart | Show trends over time | |
| Pie Chart | Show proportions/percentages | |
| Positioning Matrix | 2x2 competitive positioning | |
| Comparison Table | Feature comparison grid | |
| TAM/SAM/SOM | Market size visualization | |
Prerequisites
pip install matplotlib numpy pillow
No API keys required - runs locally.
When to Use This vs Image Generation
| Scenario | Use This | Use image-generation |
|---|---|---|
| Real data from analysis | ✅ | ❌ |
| Accurate numbers/labels | ✅ | ❌ |
| Reproducible charts | ✅ | ❌ |
| Concept/mockup visuals | ❌ | ✅ |
| Artistic illustrations | ❌ | ✅ |
| Icons and graphics | ❌ | ✅ |
Chart Types
1. Bar Chart
Compare values across categories.
python3 ${SKILL_PATH}/skills/chart-generation/scripts/bar_chart.py \ --labels '["Product A", "Product B", "Product C"]' \ --values '[85, 62, 45]' \ --title "Feature Comparison" \ --ylabel "Score" \ --output bar_chart.png
Options:
- Horizontal bars instead of vertical--horizontal
- Custom colors:--colors'["#4CAF50", "#2196F3", "#FF9800"]'
- Display values on bars--show-values
2. Line Chart
Show trends over time or progression.
python3 ${SKILL_PATH}/skills/chart-generation/scripts/line_chart.py \ --x '["Jan", "Feb", "Mar", "Apr", "May", "Jun"]' \ --y '[100, 150, 180, 220, 310, 450]' \ --title "Monthly Revenue Growth" \ --xlabel "Month" \ --ylabel "Revenue ($K)" \ --output growth_chart.png
Options:
- Multiple lines:--multi--y '[[100,150,200], [80,120,180]]' --legend '["Product A", "Product B"]'
- Fill area under line--fill
- Show data point markers--markers
3. Pie Chart
Show proportions and percentages.
python3 ${SKILL_PATH}/skills/chart-generation/scripts/pie_chart.py \ --labels '["Engineering", "Marketing", "Sales", "Operations"]' \ --values '[40, 25, 20, 15]' \ --title "Use of Funds" \ --output pie_chart.png
Options:
- Donut chart (hollow center)--donut
- Explode a slice:--explode
(first slice)--explode 0
- Show percentages on slices--show-percent
4. Positioning Matrix (2x2)
Competitive positioning on two axes.
python3 ${SKILL_PATH}/skills/chart-generation/scripts/positioning_matrix.py \ --companies '["Your Product", "Competitor A", "Competitor B", "Competitor C"]' \ --x-values '[70, 90, 50, 30]' \ --y-values '[80, 85, 60, 45]' \ --x-label "Price (Low → High)" \ --y-label "Features (Basic → Advanced)" \ --title "Competitive Positioning" \ --output positioning.png
Options:
- Label quadrants:--quadrant-labels'["Niche", "Leaders", "Laggards", "Challengers"]'
- Highlight your position:--highlight--highlight 0
- Bubble sizes for market share--sizes
5. Comparison Table
Feature comparison grid as an image.
python3 ${SKILL_PATH}/skills/chart-generation/scripts/comparison_table.py \ --features '["Feature A", "Feature B", "Feature C", "Feature D"]' \ --companies '["You", "Comp A", "Comp B"]' \ --data '[["✓", "✓", "✗"], ["✓", "✗", "✓"], ["✓", "✓", "✓"], ["✓", "✗", "✗"]]' \ --title "Feature Comparison" \ --output comparison.png
Options:
- Highlight your column:--highlight-column--highlight-column 0
- Use colors instead of symbols--colors
6. TAM/SAM/SOM Chart
Market size visualization (concentric circles).
python3 ${SKILL_PATH}/skills/chart-generation/scripts/tam_sam_som.py \ --tam 50 \ --sam 8 \ --som 0.5 \ --unit "B" \ --title "Market Opportunity" \ --output market_size.png
Options:
- "B" for billions, "M" for millions--unit
- Custom labels:--labels'["Total Market", "Serviceable", "Obtainable"]'
Usage by Other Skills
competitive-intel-agent
# Generate positioning matrix from analysis positioning_matrix.py \ --companies '["You", "Salesforce", "HubSpot"]' \ --x-values '[30, 95, 70]' \ --y-values '[75, 90, 60]'
market-researcher-agent
# Generate TAM/SAM/SOM from research tam_sam_som.py --tam 120 --sam 15 --som 2.5 --unit "B"
pitch-deck-agent
# Generate traction chart line_chart.py \ --x '["Q1", "Q2", "Q3", "Q4"]' \ --y '[50, 120, 280, 500]' \ --title "Revenue Growth"
review-analyst-agent
# Generate sentiment distribution pie_chart.py \ --labels '["Positive", "Neutral", "Negative"]' \ --values '[65, 20, 15]' \ --title "Review Sentiment"
Output Formats
All scripts support:
- PNG image (default)--output file.png
- SVG vector--output file.svg
- PDF document--output file.pdf
Styling Options
All scripts support these common options:
| Option | Description | Example |
|---|---|---|
| Chart title | |
| Width in inches | |
| Height in inches | |
| Resolution | |
| Matplotlib style | , |
| Custom color palette | |
| Base font size | |
Integration Pattern
Higher-level skills call chart-generation like this:
## In competitive-intel-agent workflow: 1. Analyze competitors (gather data) 2. Structure data as JSON 3. Call chart-generation script with data 4. Embed resulting PNG in report
Example flow:
# 1. Analysis produces this data data = { "companies": ["You", "Competitor A", "Competitor B"], "features": [8, 6, 5], "prices": [29, 49, 39] } # 2. Generate chart python3 bar_chart.py \ --labels '["You", "Competitor A", "Competitor B"]' \ --values '[8, 6, 5]' \ --title "Feature Count Comparison" \ --output features.png # 3. Embed in report 
Example Prompts
Direct chart creation:
"Create a bar chart comparing our features to competitors"
As part of analysis:
"Analyze these companies and generate a positioning matrix"
Data visualization:
"Plot our monthly revenue growth from this data: [100, 150, 220, 350]"
Market sizing:
"Create a TAM/SAM/SOM chart: TAM $50B, SAM $5B, SOM $500M"