360 Secure SkillHub
360 安全技能中心

Echarts Chart Skill

面向图表生成场景的 ECharts 工具集:将简短描述或表格类数据转为 ChartRequest JSON,推荐合适图表类型,生成确定性的 ECharts option,并按需渲染为可嵌入的 HTML 或 SVG 文件,支持指定输出路径与目录。

davaded
davaded
热度 86.90
最近更新 2026-05-11 17:30:48
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add echarts-ai-skill
Metadata
name
echarts-chart-skill
description
Generate charts from natural language or tabular data, recommend chart types, and export ECharts-based HTML or SVG. Use when users ask for one-sentence chart generation, auto chart selection from data, or embeddable chart previews.
metadata
{"short-description":"Skill-first ECharts toolkit for agent chart workflows","openclaw":{"slug":"echarts-ai-skill","version":"0.1.4","license":"MIT","homepage":"https://github.com/davaded/Echarts-AI-Skill","repository":"https://github.com/davaded/Echarts-AI-Skill"}}

ECharts Chart Skill

Use this skill when the user wants chart output from a short description or from table-like data.

Workflow

  1. Translate the user's request into a ChartRequest JSON object.
  2. If the chart type is unclear, run the recommendation command first.
  3. Run the generation command to produce a stable ECharts option.
  4. Run the render command when the user wants an embeddable html or svg.

Files

  • Core types: src/types/chart.ts
  • Chart recommendation: src/core/recommend.ts
  • Option generation: src/core/spec-to-option.ts
  • Rendering: src/core/render.ts
  • Sample input: examples/study-progress.request.json
  • Universal metadata: manifest.yaml, agents/openai.yaml

Setup

npm install

Output rules

  • --out writes to an exact file path.
  • --out-dir writes the default file into a directory you choose.
  • desktop and home are valid aliases for --out-dir when the user explicitly asks for those locations.
  • ~ is expanded to the current user's home directory.
  • If no output path is provided, files default to the current working directory.

Commands

node dist/cli/recommend-chart.js --input examples\study-progress.request.json
node dist/cli/generate-chart.js --input examples\study-progress.request.json
node dist/cli/render-chart.js --input option.json --format html
node dist/cli/render-chart.js --input option.json --format svg --out D:\reports\study-chart.svg

Default output filenames:

  • Recommendation: spec.json
  • Option: option.json
  • HTML preview: preview.html
  • SVG preview: preview.svg

ChartRequest shape

{
  "title": "Monthly study completion",
  "dataset": [
    { "day": "2026-03-01", "completionRate": 62, "targetRate": 75 },
    { "day": "2026-03-02", "completionRate": 68, "targetRate": 75 }
  ],
  "goal": "trend",
  "xField": "day",
  "yField": "completionRate",
  "series": [
    { "name": "Completion", "field": "completionRate" },
    { "name": "Target", "field": "targetRate" }
  ]
}

Guidance

  • Prefer deterministic field mapping over free-form inference when the user has already named fields.
  • For pie charts, keep one category field and one metric field.
  • For scatter charts, require numeric xField and yField.
  • If the user only gave natural language, construct the smallest valid ChartRequest before calling scripts.
  • If the user needs a report artifact, render html first and svg second.