magic-data-visualization
Select appropriate chart types and generate publication-quality visualizations (PNG, SVG, interactive HTML). Use when creating charts, plotting distributions, comparing groups visually, visualizing correlations, or supporting findings with visuals. Covers bar, line, scatter, histogram, box, heatmap, and small multiples. Use after profiling or statistical analysis to communicate results.
When It Activates
Use this skill when creating charts or visual representations of data. Trigger phrases: chart, plot, visualize, histogram, bar chart, scatter, heatmap, box plot, dashboard, include a chart, show me a graph.
- Need to visualize data distributions, comparisons, trends, or correlations
- Need to select the right chart type for the data
- Need publication-quality static or interactive charts
- After magic-statistical-analysis, to support findings with visuals
When NOT to Use: Use magic-data-profiling for automated EDA reports; use magic-report-generation for assembling reports.
Quick Facts
| Property | Value |
|---|---|
| Version | 2.0.0 |
| Complexity | medium |
| Phase | 1 |
| Scripts | 3 |
Tags
data-science visualization charts plots matplotlib plotly
Scripts
Scriptable Tools (call directly or read + adapt)
| Script | Standard CLI Usage | When to Customize |
|---|---|---|
chart_selector.py | python3 chart_selector.py data.csv recommendations.json | --relationship distribution|comparison|correlation|composition|trend|ranking to override auto-detection |
generate_chart.py | python3 generate_chart.py data.csv chart.png | --chart_type bar, --x_col, --y_col for explicit axes; --interactive --format html for Plotly output |
validate_chart.py | python3 validate_chart.py data.csv chart_meta.json report.json | Requires chart metadata JSON sidecar from generate_chart.py |
New in v2.0.0
validate_chart.py — Chart Output Validation
validate_chart.py verifies chart output file existence and format conformance. It requires a chart metadata JSON sidecar produced by generate_chart.py alongside the chart file.
# After generating a chart
python3 generate_chart.py data.csv chart.png --chart_type bar --x_col region --y_col revenue
# Validate the output
python3 validate_chart.py data.csv chart_meta.json validation_report.jsonchart_selector.py Score Field
chart_selector.py now returns a numeric score field (0–100) per recommendation, sorted by score. Use this to programmatically select the best chart type when building pipelines:
python3 chart_selector.py data.csv recommendations.json
# recommendations.json contains [{chart_type, x_col, y_col, score, reasoning}, ...]Pass the top recommendation directly to generate_chart.py:
CHART_TYPE=$(jq -r '.[0].chart_type' recommendations.json)
X_COL=$(jq -r '.[0].x_col' recommendations.json)
Y_COL=$(jq -r '.[0].y_col' recommendations.json)
python3 generate_chart.py data.csv chart.png --chart_type $CHART_TYPE --x_col $X_COL --y_col $Y_COLDependencies
pandas matplotlib seaborn plotly
Last updated on
magic-data-synthesis
Synthesize, generate, and transform data using LLM-based operations via DataDesigner engine. Use when: (1) filling missing values/sentinels with contextual content, (2) translating columns, (3) converting formats (HTML→markdown), (4) annotating/labeling records, (5) extracting structured data from text, (6) generating new columns from existing context. Trigger keywords: synthesize, generate, fill missing, translate, annotate, enrich, LLM generation, DataDesigner.
magic-report-generation
Assemble data analysis findings into structured Markdown reports with mandatory sections (Summary, Data Provenance, Methodology, Key Findings, Caveats, Next Steps). Use when creating the final deliverable report after analysis is complete, generating an executive summary, converting findings JSON into a formatted document, or producing ckpt_07_report.md. Supports standard, executive, and technical templates.