Claude Code Plugins

Community-maintained marketplace

Feedback

Create beautiful, interactive data visualizations and dashboards. Use for chart creation, data exploration, visual analytics, and building dashboards from CSV/Excel/JSON data. Handles line charts, bar charts, scatter plots, heatmaps, and complex multi-chart dashboards with professional styling.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name data-viz-studio
description Create beautiful, interactive data visualizations and dashboards. Use for chart creation, data exploration, visual analytics, and building dashboards from CSV/Excel/JSON data. Handles line charts, bar charts, scatter plots, heatmaps, and complex multi-chart dashboards with professional styling.

Data Visualization Studio

Create publication-ready, interactive data visualizations with comprehensive charting capabilities and professional styling.

When to Use This Skill

Use this skill when the user requests:

  • Creating charts or graphs from data
  • Building interactive dashboards
  • Visualizing CSV, Excel, or JSON data
  • Comparing data trends or patterns
  • Exploring correlations or distributions
  • Creating business intelligence visualizations
  • Generating reports with visual analytics

Quick Start Workflow

  1. Understand requirements - Determine chart type, data source, and styling preferences
  2. Prepare data - Use preprocess_data.py for cleaning and transformation
  3. Create visualization - Use create_chart.py or write custom Plotly code
  4. Apply styling - Reference styling.md for professional themes
  5. Export - Generate HTML for interactivity or PNG for static images

Scripts

create_chart.py

Generate interactive charts from DataFrames or CSV files with minimal code.

Supported chart types:

  • line - Time series and trends
  • bar - Categorical comparisons
  • scatter - Relationships and correlations
  • pie - Composition (use sparingly)
  • histogram - Distributions
  • box - Statistical distributions
  • heatmap - 2D patterns and correlations
  • area - Cumulative values over time

Command line usage:

python scripts/create_chart.py data.csv line date revenue output.html

Python usage:

import pandas as pd
from scripts.create_chart import create_chart, save_chart

# Load data
df = pd.read_csv('data.csv')

# Create chart
fig = create_chart(
    data=df,
    chart_type='line',
    x='date',
    y='revenue',
    color='category',  # Optional grouping
    title='Revenue Over Time',
    theme='plotly'  # or 'plotly_dark', 'seaborn', 'simple_white'
)

# Save chart
save_chart(fig, 'chart.html', format='html')

Advanced options:

  • Add size parameter for scatter plots to scale point sizes
  • Pass additional kwargs for chart-specific customization
  • Use color for grouping by category
  • Apply different themes for various contexts

preprocess_data.py

Handle data cleaning, transformation, and aggregation before visualization.

Key functions:

from scripts.preprocess_data import *

# Load data from various formats
df = load_data('data.csv')  # Also supports .xlsx, .json, .parquet

# Clean data
df = clean_data(df, drop_na=False, fill_value=0)

# Transform dates
df = transform_dates(df, date_columns=['created_at', 'updated_at'])

# Aggregate data
df_agg = aggregate_data(
    df,
    group_by=['category', 'region'],
    agg_dict={'revenue': 'sum', 'orders': 'count'},
    sort_by='revenue',
    ascending=False
)

# Create pivot table for heatmaps
pivot = create_pivot_table(df, index='month', columns='category', values='sales')

# Calculate moving averages for time series
df = calculate_moving_average(df, column='daily_sales', window=7)

# Bin numerical data
df = bin_numerical(df, column='age', bins=5, labels=['18-25', '26-35', '36-45', '46-55', '56+'])

Command line usage:

python scripts/preprocess_data.py input.csv output.csv

Reference Guides

Chart Types (references/chart_types.md)

Comprehensive guide on selecting appropriate chart types for different data scenarios. Read this when:

  • User's chart type choice is unclear
  • Need guidance on which visualization best suits the data
  • Comparing options for a specific analysis need
  • Understanding when to use specialized charts

Key sections:

  • Chart selection guide with use cases
  • Best practices for each chart type
  • Common chart combinations for dashboards
  • Drill-down patterns for interactive analysis

Styling (references/styling.md)

Professional styling and theming guidelines. Read this when:

  • Creating publication-ready visualizations
  • Building branded dashboards
  • Ensuring accessibility and readability
  • Exporting high-quality images
  • Applying consistent design across multiple charts

Key sections:

  • Color palettes (categorical, sequential, diverging)
  • Typography recommendations
  • Layout templates (minimal, dark mode, professional)
  • Customization patterns (hovers, grids, annotations)
  • Accessibility guidelines
  • Export settings for different formats

Assets

dashboard_template.html

Professional dashboard template with responsive design. Use this when:

  • Building multi-chart dashboards
  • Creating executive summaries
  • Presenting KPIs alongside visualizations
  • Need a quick start for dashboard layouts

Features:

  • Responsive grid layout
  • KPI card sections
  • Four chart placeholders
  • Professional styling
  • Mobile-friendly design

To use:

  1. Copy template to working directory
  2. Modify KPI values and labels
  3. Replace chart data with actual data
  4. Customize colors and branding as needed

Common Patterns

Pattern 1: Single Chart from CSV

import pandas as pd
from scripts.create_chart import create_chart, save_chart

df = pd.read_csv('sales_data.csv')
fig = create_chart(df, 'bar', x='product', y='revenue', title='Product Revenue')
save_chart(fig, 'product_revenue.html')

Pattern 2: Time Series with Moving Average

from scripts.preprocess_data import load_data, calculate_moving_average
from scripts.create_chart import create_chart, save_chart
import plotly.graph_objects as go

df = load_data('daily_metrics.csv')
df = calculate_moving_average(df, 'value', window=7)

# Create figure with both raw and smoothed data
fig = go.Figure()
fig.add_trace(go.Scatter(x=df['date'], y=df['value'], name='Daily', line=dict(color='lightgray')))
fig.add_trace(go.Scatter(x=df['date'], y=df['value_ma7'], name='7-day MA', line=dict(color='#636EFA', width=3)))

save_chart(fig, 'time_series.html')

Pattern 3: Multi-Category Dashboard

from scripts.preprocess_data import load_data, aggregate_data
from scripts.create_chart import create_chart
import plotly.graph_objects as go
from plotly.subplots import make_subplots

df = load_data('sales.csv')

# Create multi-chart dashboard
fig = make_subplots(
    rows=2, cols=2,
    subplot_titles=('Revenue by Region', 'Top Products', 'Monthly Trend', 'Category Mix')
)

# Add charts to subplots
# ... (add traces to each subplot)

fig.update_layout(height=800, showlegend=True)
fig.write_html('dashboard.html')

Pattern 4: Correlation Heatmap

from scripts.preprocess_data import load_data
import plotly.express as px

df = load_data('metrics.csv')
correlation = df.corr()

fig = px.imshow(
    correlation,
    labels=dict(color="Correlation"),
    x=correlation.columns,
    y=correlation.columns,
    color_continuous_scale='RdBu',
    aspect='auto'
)

fig.update_layout(title='Metric Correlations')
fig.write_html('correlation_heatmap.html')

Best Practices

Data Preparation

  • Always clean data before visualization (handle nulls, duplicates)
  • Transform dates to proper datetime format
  • Aggregate large datasets to reduce noise
  • Consider binning continuous variables for clarity

Chart Selection

  • Use line charts for trends over time
  • Use bar charts for categorical comparisons
  • Use scatter plots to show relationships
  • Limit pie chart categories to 5 or fewer
  • Consider audience and purpose when selecting type

Styling

  • Apply consistent color schemes across dashboard
  • Ensure text is readable (proper font sizes)
  • Use white space effectively
  • Add titles, axis labels, and legends
  • Include annotations for key insights
  • Test colorblind accessibility

Performance

  • Aggregate data before plotting large datasets
  • Use appropriate chart types (avoid complex charts for simple data)
  • Consider file size for web dashboards
  • Optimize hover templates for clarity

Interactivity

  • Enable hover information with relevant details
  • Use appropriate mode bar options
  • Consider adding drill-down capabilities
  • Test responsiveness on different screen sizes

Troubleshooting

Issue: Chart appears empty or shows no data

  • Verify data is loaded correctly (df.head())
  • Check column names match parameters
  • Ensure data types are appropriate (dates as datetime, numbers as numeric)

Issue: Colors look washed out or unclear

  • Reference styling.md for better color palettes
  • Ensure sufficient contrast between elements
  • Test with colorblind simulation

Issue: Labels overlap or are cut off

  • Adjust margins in layout
  • Rotate x-axis labels if needed
  • Consider abbreviating long labels
  • Increase figure size

Issue: Chart is slow or unresponsive

  • Reduce data points (aggregate or sample)
  • Simplify chart type
  • Disable unnecessary features (grid, annotations)

Example Queries This Skill Handles

  • "Create a line chart showing sales over time"
  • "Build a dashboard with revenue metrics"
  • "Visualize the correlation between price and demand"
  • "Show me a breakdown of customers by region"
  • "Make an interactive chart from this CSV"
  • "Create a professional-looking bar chart comparing products"
  • "Analyze trends in this time series data"
  • "Build a heatmap of weekly patterns"