csv-data-visualizer

1
0
Source

This skill should be used when working with CSV files to create interactive data visualizations, generate statistical plots, analyze data distributions, create dashboards, or perform automatic data profiling. It provides comprehensive tools for exploratory data analysis using Plotly for interactive visualizations.

Install

mkdir -p .claude/skills/csv-data-visualizer && curl -L -o skill.zip "https://mcp.directory/api/skills/download/6520" && unzip -o skill.zip -d .claude/skills/csv-data-visualizer && rm skill.zip

Installs to .claude/skills/csv-data-visualizer

About this skill

CSV Data Visualizer

Overview

This skill enables comprehensive data visualization and analysis for CSV files. It provides three main capabilities: (1) creating individual interactive visualizations using Plotly, (2) automatic data profiling with statistical summaries, and (3) generating multi-plot dashboards. The skill is optimized for exploratory data analysis, statistical reporting, and creating presentation-ready visualizations.

When to Use This Skill

Invoke this skill when users request:

  • "Visualize this CSV data"
  • "Create a histogram/scatter plot/box plot from this data"
  • "Show me the distribution of [column]"
  • "Generate a dashboard for this dataset"
  • "Profile this CSV file" or "Analyze this data"
  • "Create a correlation heatmap"
  • "Show trends over time"
  • "Compare [variable] across [categories]"

Core Capabilities

1. Individual Visualizations

Create specific chart types for detailed analysis using the visualize_csv.py script.

Available Chart Types:

Statistical Plots:

# Histogram - distribution of numeric data
python3 scripts/visualize_csv.py data.csv --histogram column_name --bins 30

# Box plot - show quartiles and outliers
python3 scripts/visualize_csv.py data.csv --boxplot column_name

# Box plot grouped by category
python3 scripts/visualize_csv.py data.csv --boxplot salary --group-by department

# Violin plot - distribution with probability density
python3 scripts/visualize_csv.py data.csv --violin column_name --group-by category

Relationship Analysis:

# Scatter plot with automatic trend line
python3 scripts/visualize_csv.py data.csv --scatter height weight

# Scatter plot with color and size encoding
python3 scripts/visualize_csv.py data.csv --scatter x y --color category --size value

# Correlation heatmap for all numeric columns
python3 scripts/visualize_csv.py data.csv --correlation

Time Series:

# Line chart for single variable
python3 scripts/visualize_csv.py data.csv --line date sales

# Multiple variables on same chart
python3 scripts/visualize_csv.py data.csv --line date "sales,revenue,profit"

Categorical Data:

# Bar chart (counts categories automatically)
python3 scripts/visualize_csv.py data.csv --bar category

# Pie chart for composition
python3 scripts/visualize_csv.py data.csv --pie region

Output Formats: Specify output file with desired format extension:

# Interactive HTML (default)
python3 scripts/visualize_csv.py data.csv --histogram age -o output.html

# Static image formats
python3 scripts/visualize_csv.py data.csv --scatter x y -o plot.png
python3 scripts/visualize_csv.py data.csv --correlation -o heatmap.pdf
python3 scripts/visualize_csv.py data.csv --bar category -o chart.svg

2. Automatic Data Profiling

Generate comprehensive data quality and statistical reports using the data_profile.py script.

Text Report (default):

python3 scripts/data_profile.py data.csv

HTML Report:

python3 scripts/data_profile.py data.csv -f html -o report.html

JSON Report:

python3 scripts/data_profile.py data.csv -f json -o profile.json

What the Profiler Provides:

  • File information (size, dimensions)
  • Dataset overview (shape, memory usage, duplicates)
  • Column-by-column analysis (types, missing data, unique values)
  • Missing data patterns and completeness
  • Statistical summary for numeric columns (mean, std, quartiles, skewness, kurtosis)
  • Categorical column analysis (frequency counts, most/least common values)
  • Data quality checks (high missing data, duplicate rows, constant columns, high cardinality)

When to Use Profiling: Always recommend running data profiling BEFORE creating visualizations when:

  • User is unfamiliar with the dataset
  • Data quality is unknown
  • Need to identify appropriate visualization types
  • Exploring a new dataset for the first time

3. Multi-Plot Dashboards

Create comprehensive dashboards with multiple visualizations using the create_dashboard.py script.

Automatic Dashboard: Analyzes data types and automatically creates appropriate visualizations:

python3 scripts/create_dashboard.py data.csv

Custom output location:

python3 scripts/create_dashboard.py data.csv -o my_dashboard.html

Control number of plots:

python3 scripts/create_dashboard.py data.csv --max-plots 9

Custom Dashboard from Config: Create a JSON configuration file specifying exact plots:

python3 scripts/create_dashboard.py data.csv --config config.json

Dashboard Config Format:

{
  "title": "Sales Analysis Dashboard",
  "plots": [
    {"type": "histogram", "column": "revenue"},
    {"type": "box", "column": "revenue", "group_by": "region"},
    {"type": "scatter", "column": "advertising", "group_by": "revenue"},
    {"type": "bar", "column": "product_category"},
    {"type": "correlation"}
  ]
}

Dashboard Plot Types:

  • histogram: Distribution of numeric column
  • box: Box plot, optionally grouped by category
  • scatter: Relationship between two numeric columns
  • bar: Count of categorical values
  • correlation: Heatmap of numeric correlations

Workflow Decision Tree

Use this decision tree to determine the appropriate approach:

User provides CSV file
│
├─ "Profile this data" / "Analyze this data" / Unfamiliar dataset
│  └─> Run data_profile.py first
│     Then offer visualization options based on findings
│
├─ "Create dashboard" / "Overview of the data" / Multiple visualizations needed
│  ├─ User knows exact plots wanted
│  │  └─> Create JSON config → run create_dashboard.py with config
│  └─ User wants automatic dashboard
│     └─> Run create_dashboard.py (auto mode)
│
└─ Specific visualization requested ("histogram", "scatter plot", etc.)
   └─> Use visualize_csv.py with appropriate flag

Best Practices

Starting Analysis

  1. Always profile first for unfamiliar datasets: python3 scripts/data_profile.py data.csv
  2. Review the profiling output to understand:
    • Column data types and ranges
    • Missing data patterns
    • Data quality issues
    • Statistical distributions

Choosing Visualizations

Consult references/visualization_guide.md for detailed guidance. Quick reference:

  • Distribution: Histogram, box plot, violin plot
  • Relationship: Scatter plot, correlation heatmap
  • Time series: Line chart
  • Categories: Bar chart (preferred) or pie chart (use sparingly)
  • Comparison: Box plot grouped by category

Creating Dashboards

  • Automatic dashboard: Good for initial exploration
  • Custom dashboard: Better for presentations or specific analysis goals
  • Limit plots: Keep to 6-9 plots maximum for readability
  • Logical grouping: Group related visualizations together

Output Considerations

  • HTML: Best for interactive exploration (zoom, pan, hover tooltips)
  • PNG/PDF: Best for reports and presentations
  • SVG: Best for publications requiring vector graphics

Dependencies

The scripts require these Python packages:

pip install pandas plotly numpy

For static image export (PNG, PDF, SVG), also install:

pip install kaleido

Example Workflows

Exploratory Data Analysis

# 1. Profile the data
python3 scripts/data_profile.py sales_data.csv -f html -o profile.html

# 2. Create automatic dashboard
python3 scripts/create_dashboard.py sales_data.csv -o dashboard.html

# 3. Dive deeper with specific plots
python3 scripts/visualize_csv.py sales_data.csv --scatter price sales --color region
python3 scripts/visualize_csv.py sales_data.csv --boxplot revenue --group-by product

Report Generation

# Create specific visualizations for report
python3 scripts/visualize_csv.py data.csv --histogram age -o fig1_distribution.png
python3 scripts/visualize_csv.py data.csv --scatter income age -o fig2_correlation.png
python3 scripts/visualize_csv.py data.csv --bar category -o fig3_categories.png

# Generate data summary
python3 scripts/data_profile.py data.csv -f html -o data_summary.html

Interactive Dashboard

# Create custom dashboard for presentation
# 1. First, create config.json with desired plots
# 2. Generate dashboard
python3 scripts/create_dashboard.py data.csv --config config.json -o presentation_dashboard.html

Troubleshooting

"Column not found" errors:

  • Run data profiling to see exact column names
  • CSV columns are case-sensitive
  • Check for leading/trailing spaces in column names

Empty or incorrect visualizations:

  • Verify data types (numeric vs categorical)
  • Check for missing data in plotted columns
  • Ensure sufficient non-null values exist

Script execution errors:

  • Verify dependencies are installed: pip list | grep plotly
  • Check Python version: Python 3.6+ required
  • For image export issues, install kaleido: pip install kaleido

Resources

scripts/

  • visualize_csv.py: Main visualization script with all chart types
  • data_profile.py: Automatic data profiling and quality analysis
  • create_dashboard.py: Multi-plot dashboard generator

references/

  • visualization_guide.md: Comprehensive guide for choosing appropriate chart types, best practices, and common patterns

travel-planner

ailabs-393

This skill should be used whenever users need help planning trips, creating travel itineraries, managing travel budgets, or seeking destination advice. On first use, collects comprehensive travel preferences including budget level, travel style, interests, and dietary restrictions. Generates detailed travel plans with day-by-day itineraries, budget breakdowns, packing checklists, cultural do's and don'ts, and region-specific schedules. Maintains database of preferences and past trips for personalized recommendations.

4117

script-writer

ailabs-393

This skill should be used whenever users need YouTube video scripts written. On first use, collects comprehensive preferences including script type, tone, target audience, style, video length, hook style, use of humor, personality, and storytelling approach. Generates complete, production-ready YouTube scripts tailored to user's specifications for any topic. Maintains database of preferences and past scripts for consistent style.

83

social-media-generator

ailabs-393

This skill should be used when the user requests social media content creation for Twitter, Instagram, LinkedIn, or Facebook. It generates platform-optimized posts and saves them in an organized folder structure with meaningful filenames based on event details.

201

pitch-deck

ailabs-393

Generate professional PowerPoint pitch decks for startups and businesses. Use this skill when users request help creating investor pitch decks, sales presentations, or business pitch presentations. The skill follows standard 10-slide pitch deck structure and includes best practices for content and design.

00

frontend-enhancer

ailabs-393

This skill should be used when enhancing the visual design and aesthetics of Next.js web applications. It provides modern UI components, design patterns, color palettes, animations, and layout templates. Use this skill for tasks like improving styling, creating responsive designs, implementing modern UI patterns, adding animations, selecting color schemes, or building aesthetically pleasing frontend interfaces.

20

tech-debt-analyzer

ailabs-393

This skill should be used when analyzing technical debt in a codebase, documenting code quality issues, creating technical debt registers, or assessing code maintainability. Use this for identifying code smells, architectural issues, dependency problems, missing documentation, security vulnerabilities, and creating comprehensive technical debt documentation.

110

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

641968

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

590705

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

338397

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318395

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

450339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.