Skillshub chart-generation

Chart Generation Skill

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
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"
manifest: skills/michaelboeding/skills/chart-generation/SKILL.md
source content

Chart 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 TypeUse CaseScript
Bar ChartCompare values across categories
bar_chart.py
Line ChartShow trends over time
line_chart.py
Pie ChartShow proportions/percentages
pie_chart.py
Positioning Matrix2x2 competitive positioning
positioning_matrix.py
Comparison TableFeature comparison grid
comparison_table.py
TAM/SAM/SOMMarket size visualization
tam_sam_som.py

Prerequisites

pip install matplotlib numpy pillow

No API keys required - runs locally.

When to Use This vs Image Generation

ScenarioUse ThisUse 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
    - Horizontal bars instead of vertical
  • --colors
    - Custom colors:
    '["#4CAF50", "#2196F3", "#FF9800"]'
  • --show-values
    - Display values on bars

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:

  • --multi
    - Multiple lines:
    --y '[[100,150,200], [80,120,180]]' --legend '["Product A", "Product B"]'
  • --fill
    - Fill area under line
  • --markers
    - Show data point 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
    - Donut chart (hollow center)
  • --explode
    - Explode a slice:
    --explode 0
    (first slice)
  • --show-percent
    - Show percentages on slices

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:

  • --quadrant-labels
    - Label quadrants:
    '["Niche", "Leaders", "Laggards", "Challengers"]'
  • --highlight
    - Highlight your position:
    --highlight 0
  • --sizes
    - Bubble sizes for market share

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-column
    - Highlight your column:
    --highlight-column 0
  • --colors
    - Use colors instead of symbols

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:

  • --unit
    - "B" for billions, "M" for millions
  • --labels
    - Custom 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:

  • --output file.png
    - PNG image (default)
  • --output file.svg
    - SVG vector
  • --output file.pdf
    - PDF document

Styling Options

All scripts support these common options:

OptionDescriptionExample
--title
Chart title
"Monthly Revenue"
--width
Width in inches
12
--height
Height in inches
8
--dpi
Resolution
150
--style
Matplotlib style
"seaborn"
,
"dark_background"
--colors
Custom color palette
'["#4CAF50", "#2196F3"]'
--font-size
Base font size
12

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
![Feature Comparison](features.png)

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"