* fix(skills): validate bundled SKILL.md front-matter in CI (fixes #2443) Adds a parametrized backend test that runs `_validate_skill_frontmatter` against every bundled SKILL.md under `skills/public/`, so a broken front-matter fails CI with a per-skill error message instead of surfacing as a runtime gateway-load warning. The new test caught two pre-existing breakages on `main` and fixes them: * `bootstrap/SKILL.md`: the unquoted description had a second `:` mid-line ("Also trigger for updates: ..."), which YAML parses as a nested mapping ("mapping values are not allowed here"). Rewrites the description as a folded scalar (`>-`), which preserves the original wording (including the embedded colon, double quotes, and apostrophes) without further escaping. This complements PR #2436 (single-file colon→hyphen patch) with a more general convention that survives future edits. * `chart-visualization/SKILL.md`: used `dependency:` which is not in `ALLOWED_FRONTMATTER_PROPERTIES`. Renamed to `compatibility:`, the documented field for "Required tools, dependencies" per skill-creator. No code reads `dependency` (verified by grep across backend/). * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fix the lint error --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
3.3 KiB
name, description, compatibility
| name | description | compatibility | ||
|---|---|---|---|---|
| chart-visualization | 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. |
|
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) orgenerate_area_chart(accumulated trends). Usegenerate_dual_axes_chartfor two different scales. - Comparisons: Use
generate_bar_chart(categorical) orgenerate_column_chart. Usegenerate_histogram_chartfor frequency distributions. - Part-to-Whole: Use
generate_pie_chartorgenerate_treemap_chart(hierarchical). - Relationships & Flow: Use
generate_scatter_chart(correlation),generate_sankey_chart(flow), orgenerate_venn_chart(overlap). - Maps: Use
generate_district_map(regions),generate_pin_map(points), orgenerate_path_map(routes). - Hierarchies & Trees: Use
generate_organization_chartorgenerate_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_chartorgenerate_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:
{
"tool": "generate_chart_type_name",
"args": {
"data": [...],
"title": "...",
"theme": "...",
"style": { ... }
}
}
Execution Command:
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.
License
This SKILL.md is provided by antvis/chart-visualization-skills.
Licensed under the MIT License.