Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

smart-charts智能图表

Agent Skill

smart-charts 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,724

周安装

283

GitHub Stars

2

下载量

2,355
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:smart-charts(智能图表)
来源仓库:https://github.com/neuhanli/smart-charts
安装命令:
openclaw skills install smart-charts
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install smart-charts

简介

基于用户提供数据自动生成可视化图表,支持 CSV/Excel/JSON 格式输入与智能分析。

  • 能识别数据特征并推荐合适图表类型,辅助快速洞察业务趋势与异常点。
  • 可嵌入开发流程中作为原型验证工具,也可用于报告撰写时的素材准备。
  • 输出结果依赖输入数据质量,需确保字段含义清晰且无敏感信息泄露。
  • 若涉及导出图片或 PDF,应检查分辨率与版权声明是否符合使用需求。

SKILL.md

name
smart-charts
description
Intelligent chart generation and data analysis skill. Reads user-supplied data files (CSV/Excel/JSON), analyzes data characteristics with LLM assistance, auto-recommends and generates interactive ECharts visualizations, and produces a structured analysis report. Suitable for any scenario requiring tabular data visualization — sales reports, business dashboards, trend analysis, etc.

Smart Charts

An intelligent chart-generation and data-analysis skill. It reads user-supplied data files, understands their structure and semantics, recommends the most appropriate chart types, generates interactive HTML reports powered by ECharts, and (when a saved report template exists) fills the template automatically.


Installation / 安装

pip install -r requirements.txt

Dependencies / 依赖

PackageRequiredDescription
pandas>=1.5.0✅ YesData parsing (CSV, Excel, JSON)
numpy>=1.21.0✅ YesNumerical computations
openpyxl>=3.0.0✅ YesExcel file engine
PyPDF2>=3.0.0OptionalPDF template extraction
python-docx>=0.8.0OptionalWord template processing
ECharts is loaded via CDN (jsdelivr) — no local installation required.

Activation Triggers

Load and run this skill when any of the following conditions are met:

  • The user mentions: "analyze data", "generate chart", "data visualization", "chart", "visualization"

/ 用户提到:「分析数据」「生成图表」「数据可视化」「chart」「visualization」

  • The user provides a data file (CSV / Excel / JSON / TXT) and asks for analysis or visualization

/ 用户上传或提供数据文件并要求分析或可视化

  • The user asks to generate charts or a report from tabular data

/ 用户要求从表格数据生成图表或报告


User Guidance

When no data file is provided

Prompt the user:

Please upload the data file(s) you want to analyze. Supported formats: - CSV (.csv / .tsv / .txt) - Excel (.xlsx / .xls) - JSON (.json) You can drag files directly into the chat box. Multiple files are supported.

/ 请上传需要分析的数据文件。支持 CSV / Excel / JSON 格式,可同时上传多个文件。

When data files are provided

Step 1 — Parse and display a unified summary:

Files loaded: 3 | File | Rows | Cols | Key Fields | |------|------|------|------------| | east_sales.csv | 120 | 8 | date, revenue, profit… | | south_sales.csv | 98 | 8 | date, revenue, profit… | | products.xlsx | 45 | 5 | name, category, price… |

Step 2 — Infer file relationships and recommend an analysis strategy:

SituationRecommendation
Same schema across filesMerge and compare
Shared common column(s)Join on the common key
Unrelated schemasAnalyze each file separately
Single fileAnalyze directly

Step 3 — Execute after user confirmation.

Error handling

ErrorUser message
File not found"File not found. Please verify the path or drag the file into the chat."
Unsupported format"Unsupported file format. Please convert to CSV, Excel, or JSON and retry."
File > 100 MB"File too large. Consider filtering or splitting the data before uploading."
Empty file"The file appears to be empty. Please check that it contains valid data."
Encoding error"Encoding issue detected. Try re-saving the file as CSV (UTF-8) and retry."
Cannot auto-merge"Schemas differ too much to merge automatically. Analyze separately, or specify a join key."

Execution Workflow

1. Obtain data file(s)
   └─ User uploads file(s) directly (primary method)
   └─ Or user provides file path(s)

2. Parse data
   └─ Call data_parser.py on all files
   └─ Single file  → parse directly
   └─ Multiple files → parse each, assess merge feasibility

3. Confirm & recommend
   └─ Display a summary table for all files
   └─ Recommend: merge / separate / join
   └─ Recommend chart type(s) based on data characteristics

4. Generate charts
   └─ Call chart_generator.py → produces ECharts HTML
   └─ Merged data  → cross-group comparison charts
   └─ Separate data → independent charts per file
   └─ Chart type is chosen by the LLM based on data shape

5. Check for a report template
   └─ Scan the templates/ subdirectory under the skill base
   └─ Read each meta.json; let the LLM judge relevance
   └─ No matching template → skip to free-form generation

6. Generate analysis report
   └─ Matching template found → fill template.md with data insights
   └─ No matching template    → LLM generates report freely

7. Present results
   └─ Interactive charts: use preview_url (HTML)
   └─ Markdown report:    use open_result_view

Configuration

output_dir:    output directory (optional; default: ./smart_charts_output)
templates_dir: report template directory (optional; default: ./templates)
Important: Never hard-code absolute paths. All paths must be provided by the user or resolved dynamically from the working directory.

Data Parsing — CLI Reference

Usage / 调用方式

# Single file / 单文件
python {skill_base}/core/data_parser.py <file_path> [--summary]

# Multiple files / 多文件
python {skill_base}/core/data_parser.py <file1> <file2> ... [--summary]

# Multiple files with auto-merge / 多文件自动合并
python {skill_base}/core/data_parser.py <file1> <file2> ... [--merge] [--summary]

Merge behavior:

ConditionResult
Identical column namesVertical concat; a source_file column is added
Shared columns existHorizontal join on shared key
No common structureError — advise analyzing separately

Supported formats

FormatExtensionsNotes
CSV.csv, .tsvAuto-detects delimiter and encoding (UTF-8 / GBK / GB2312)
Plain text.txtAuto-detects delimiter (comma / tab / semicolon / pipe)
Excel.xlsx, .xlsReads first non-empty sheet
JSON.jsonSupports array format and nested objects

Chart Generation — CLI Reference

Usage / 调用方式

python {skill_base}/core/chart_generator.py \
  <file_path> <chart_type> \
  --title "Chart Title" \
  --x-axis "date" \
  --y-axis "revenue profit" \
  --output-dir "./output"

Parameters

ParameterRequiredDescription
file_pathYesPath to the data file
chart_typeYesChart type identifier (see table below)
--titleNoChart title; default: "Data Chart"
--x-axisNoX-axis field; auto-detected if omitted
--y-axisNoY-axis field(s), space-separated; defaults to first 5 numeric columns
--output-dirNoOutput directory; default: ./smart_charts_output

Supported chart types

IDNameBest For
lineLine chartTime-series trends, continuous data
barBar chartCategory comparison, ranked discrete data
piePie chartComposition, share distribution
scatterScatter plotCorrelation, density distribution
areaArea chartCumulative change, emphasized trend
radarRadar chartMulti-dimension comparison, scoring
heatmapHeatmapDensity, cross-tabulation analysis
treemapTreemapHierarchical proportion, attribution
graphNetwork graphEntity relationships, network topology
boxplotBox plotDistribution, outlier detection
waterfallWaterfall chartIncremental change, contribution breakdown
gaugeGauge chartKPI progress, target tracking
sankeySankey diagramFlow transfer, conversion path
funnelFunnel chartConversion rate, stage analysis
sunburstSunburst chartMulti-level composition, nested proportion
wordcloudWord cloudFrequency distribution, keyword visualization

Report Templates

Users can store custom report templates under the templates_dir directory.

Directory structure

templates/
├── _template_index.json         # Auto-generated metadata index
├── sales_report/
│   ├── meta.json                # Template metadata card
│   ├── template.md              # Template content
│   └── original.docx            # Source file (optional)
└── project_progress/
    ├── meta.json
    └── template.md

meta.json schema

{
  "id": "tmpl_sales_monthly",
  "name": "Monthly Sales Report",
  "description": "For monthly sales summaries: revenue trend, top products, regional breakdown.",
  "scenarios": ["monthly sales report", "sales performance review", "quarterly comparison"],
  "variables": ["period", "revenue", "profit", "order_count", "mom_growth", "yoy_growth"],
  "categories": ["sales", "finance", "business analysis"],
  "format": "markdown",
  "created_time": "2026-03-26T10:30:00",
  "modified_time": "2026-03-26T10:30:00"
}

LLM-driven template matching

Core principle: template matching is performed by the LLM, not by hard-coded algorithms.

Step 1 — Discover templates and collect metadata

template_summary = template_manager.get_all_templates_summary()

Step 2 — LLM analyzes the user task

User task: "Analyze this month's sales data and generate a report."
LLM reasoning:
  - Keywords: sales, data, report, monthly
  - Task type: data analysis, report generation
  - Data characteristics: sales metrics, time series, KPIs

Step 3 — LLM selects the best-matching template

Templates available:
  tmpl_sales_monthly    → Monthly Sales Report
  tmpl_financial_report → Financial Report
  tmpl_project_progress → Project Progress

Best match: tmpl_sales_monthly
Reason: scenario match (sales), variable overlap (revenue, profit…)

Step 4 — Load template and fill with data insights

template_content = template_manager.get_template_content("tmpl_sales_monthly")
filled_report = fill_template_variables(template_content, data_insights)

Fallback behavior (no match)

ScenarioBehavior
No suitable templateLLM generates report freely
Partial matchLLM uses template structure as reference, generates the rest
Empty template libraryLLM creates a professional report from scratch

Template variable syntax (auto-detected)

FormatExample
Single braces{variable_name}
Double braces{{variable_name}}
Square brackets[variable_name]
Percent signs%variable_name%

Template Management

Supported template formats

FormatExtensionProcessing
Markdown.md, .markdownNative support
Word.docxExtracts text and preserves formatting
PDF.pdfExtracts text and structure
Plain text.txtSimple template parsing

Operations / 操作指令

Upload / Save a template

  • Triggers: upload template, add template, save template

/ 触发词:上传模板添加模板保存模板

User: Save this sales report as a template.
AI:   ✅ Template saved: "Sales Report" (Markdown, 8 variables detected)

View template library

  • Triggers: my templates, template list, show templates

/ 触发词:我的模板模板列表查看模板

User: Show my templates.
AI:   📋 Your templates (3):
      1. Monthly Sales Report (Markdown) — monthly sales analysis
      2. Project Progress (Word) — project tracking
      3. Financial Report (PDF) — financial analysis

Auto-matching (seamless)

User: Analyze this month's sales data.
AI:   🎯 Matched template: "Monthly Sales Report"
      📊 Auto-filling variables: revenue, profit, growth rate
      📄 Generating professional report…

Template management error handling

ErrorUser messageSuggested action
Unsupported format"Supported formats: PDF, Word, Markdown."Convert and retry
Template already exists"Template 'Sales Report' already exists."Overwrite, rename, or cancel
No match found"No exact template match found."Use generic template or create new
Missing variables"Data missing: revenue, profit."Check data file or use defaults

Key Principles

  1. Multi-file first — Users often upload multiple files. Guide proactively; handle batches gracefully.
  2. Confirm before executing — Always show a data summary and confirm understanding before recommending analysis direction.
  3. LLM chooses chart types — Recommend based on data semantics; never hard-code mapping rules.
  4. Template-first report generation — Use a saved template when a good match exists; fall back to free-form only when necessary.
  5. Dynamic path resolution — Absolute paths must never be hard-coded; resolve all paths at runtime.
  6. Immediate result presentation — Charts via preview_url; Markdown reports via open_result_view.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

96.7%
按下载量换算2,277

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills