chart-visualization — Claude Code skill: charts from your data
Picks a chart type from 26 options, maps your data to the right parameters, and renders an image with a JavaScript script.
npx skills add bytedance/deer-flow --skill chart-visualization -a claude-codeWhat chart-visualization does
Hand it a dataset and the skill decides what it is looking at: a time series, a category comparison, parts of a whole, or relationships between points. It then reads the matching spec in references/ and maps your numbers onto the args fields. Rendering runs through node ./scripts/generate.js '<payload_json>', where the payload is JSON with a tool field and an args object.
There are 26 tools behind it. generate_line_chart and generate_area_chart cover trends, generate_bar_chart and generate_column_chart handle comparisons, generate_pie_chart and generate_treemap_chart split parts of a whole. Maps come as generate_district_map, generate_pin_map and generate_path_map. The rest range from generate_radar_chart, generate_funnel_chart and generate_word_cloud_chart to generate_boxplot_chart and generate_violin_chart. generate_spreadsheet is the odd one out — tabular and pivot output rather than a picture.
Node.js 18.0.0 or newer is required, otherwise the script will not start. Results go to stdout: an image URL for chart types, text or JSON for map tools. Failures land on stderr, and the process exits with status 1 if any item in a batch fails, though it still prints URLs for the ones that worked. So only show a URL when the command exits 0.
What it helps with
- pick a chart type that fits the shape of the data
- fill generation arguments from the spec
- render a chart image without hand-coding layout
- map regions, points or routes
- turn a dataset into a pivot table
Example prompts for the agent
- Chart this year of sales as a line graph
- Compare these categories with a bar chart
- Map these cities as a district map
How to install chart-visualization
1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill chart-visualization -a claude-code2Manually: put the files in place
~/.claude/skills/chart-visualization/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/chart-visualization/
1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill chart-visualization -a codex2Manually: put the files in place
.agents/skills/chart-visualization/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill chart-visualization -a cursor2Manually: put the files in place
.cursor/skills/chart-visualization/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install bytedance/deer-flow chart-visualization2Manually: put the files in place
.github/skills/chart-visualization/SKILL.md1Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill chart-visualization -a gemini-cli2Platform CLI
gemini skills install https://github.com/bytedance/deer-flow --path skills/public/chart-visualizationManually: put the files in place
.devin/skills/chart-visualization/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add bytedance/deer-flow --skill chart-visualization -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about chart-visualization
How do I install chart-visualization in Claude Code?
Run npx skills add bytedance/deer-flow --skill chart-visualization -a claude-code. The skill file lands at ~/.claude/skills/chart-visualization/SKILL.md.
What does chart-visualization do?
It reads your data, chooses one of 26 chart types, extracts parameters against the spec in references/, and calls scripts/generate.js to produce an image.
What does the skill need to run?
Node.js 18.0.0 or newer, since scripts/generate.js runs on it. Errors are written to stderr, and the process exits with status 1 if any item in a batch fails.
Source text
SKILL.md · MIT
---
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.
compatibility:
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 prints each generated chart's result on stdout (the image URL for chart types; text or JSON for map tools).
A missing `tool`, an unknown tool, or a failed chart-service request is written to stderr. The process exits with status 1 if any item in the batch fails, after printing URLs for the items that succeeded. Present a URL only when the command exits 0.
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.
## License
This `SKILL.md` is provided by [antvis/chart-visualization-skills](https://github.com/antvis/chart-visualization-skills).
Licensed under the [MIT License](https://github.com/antvis/chart-visualization-skills/blob/master/LICENSE).
© bytedance · MIT · bytedance/deer-flow