home / skills / antvis / chart-visualization-skills / chart-visualization
This skill visualizes data by automatically selecting the best chart type and generating a chart image with a complete parameter set.
npx playbooks add skill antvis/chart-visualization-skills --skill chart-visualizationReview the files below or copy the command above to add this skill to your agents.
---
name: chart-visualization
description: This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.
dependency:
nodejs: ">=18.0.0"
---
# Chart Visualization Skill
This skill provides a comprehensive workflow for transforming data into visual charts. It handles chart selection, parameter extraction, and image generation.
## Workflow
To visualize data, follow these steps:
### 1. Intelligent Chart Selection
Analyze the user's data features to determine the most appropriate chart type. Use the following guidelines (and consult `references/` for detailed specs):
- **Time Series**: Use `generate_line_chart` (trends) or `generate_area_chart` (accumulated trends). Use `generate_dual_axes_chart` for two different scales.
- **Comparisons**: Use `generate_bar_chart` (categorical) or `generate_column_chart`. Use `generate_histogram_chart` for frequency distributions.
- **Part-to-Whole**: Use `generate_pie_chart` or `generate_treemap_chart` (hierarchical).
- **Relationships & Flow**: Use `generate_scatter_chart` (correlation), `generate_sankey_chart` (flow), or `generate_venn_chart` (overlap).
- **Maps**: Use `generate_district_map` (regions), `generate_pin_map` (points), or `generate_path_map` (routes).
- **Hierarchies & Trees**: Use `generate_organization_chart` or `generate_mind_map`.
- **Specialized**:
- `generate_radar_chart`: Multi-dimensional comparison.
- `generate_funnel_chart`: Process stages.
- `generate_liquid_chart`: Percentage/Progress.
- `generate_word_cloud_chart`: Text frequency.
- `generate_boxplot_chart` or `generate_violin_chart`: Statistical distribution.
- `generate_network_graph`: Complex node-edge relationships.
- `generate_fishbone_diagram`: Cause-effect analysis.
- `generate_flow_diagram`: Process flow.
- `generate_spreadsheet`: Tabular data or pivot tables for structured data display and cross-tabulation.
### 2. Parameter Extraction
Once a chart type is selected, read the corresponding file in the `references/` directory (e.g., `references/generate_line_chart.md`) to identify the required and optional fields.
Extract the data from the user's input and map it to the expected `args` format.
### 3. Chart Generation
Invoke the `scripts/generate.js` script with a JSON payload.
**Payload Format:**
```json
{
"tool": "generate_chart_type_name",
"args": {
"data": [...],
"title": "...",
"theme": "...",
"style": { ... }
}
}
```
**Execution Command:**
```bash
node ./scripts/generate.js '<payload_json>'
```
### 4. Result Return
The script will output the URL of the generated chart image.
Return the following to the user:
- The image URL.
- The complete `args` (specification) used for generation.
## Reference Material
Detailed specifications for each chart type are located in the `references/` directory. Consult these files to ensure the `args` passed to the script match the expected schema.
This skill turns raw data into clear chart images by selecting the best visualization type, extracting the required parameters, and generating an image via a JavaScript script. It supports 26 chart types covering time series, comparisons, part-to-whole, relationships, maps, hierarchies, and specialized visualizations. The skill outputs both the image URL and the exact arguments used for generation so results are reproducible. It is designed for pragmatic, data-driven chart creation with minimal user friction.
The skill analyzes the user's data to pick the most suitable chart from the supported set (for example line, bar, pie, scatter, map, treemap, radar, boxplot, or network). It then reads the specification for that chart type to extract required and optional parameters, maps user data into the expected args schema, and builds a JSON payload. Finally it invokes the generation script with that payload, captures the generated image URL, and returns the image plus the args used.
Which chart does the skill pick for my data?
The skill inspects data shape and analytical intent, then selects the most appropriate chart from its catalog (time series, comparison, part-to-whole, relationship, map, hierarchy, or specialized types). You can also request a specific chart type.
What do I receive after generation?
You receive the URL of the generated chart image and the full args object used to create it, enabling review and repeatable reproduction.