data-report

data-report is a skill for Claude Code, Codex from ZJU-REAL/Easel. It costs 75 tokens per session (1,006 once invoked), scanned A, original, Apache-2.0.

A report generator that turns CSV, Excel, or JSON data into a complete HTML page with key figures, charts, written insights, and a data table.

In plain words
What is it for?
Use it to create KPI dashboards, analyse business data, and produce shareable visual reports from structured data files.
Why use it?
It combines the main parts of a data review in one self-contained file that can be opened offline. It is meant for a full report rather than a single chart.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/zju-real/easel/data-report
Any agent
npx skills add ZJU-REAL/Easel --skill data-report
Clone the repo
git clone --depth 1 https://github.com/ZJU-REAL/Easel

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for data-report

README.md
[![agentmods](https://agentmods.dev/badge/skills/zju-real/easel/data-report.svg)](https://agentmods.dev/skills/zju-real/easel/data-report)
Your own site
<a href="https://agentmods.dev/skills/zju-real/easel/data-report"><img src="https://agentmods.dev/badge/skills/zju-real/easel/data-report.svg" alt="Measured on agentmods" height="20"></a>
Per session 75 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,006 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00075 $0.01006
Opus 5 $0.00037 $0.00503
Sonnet 5 $0.00015 $0.00201
Haiku 4.5 $0.00007 $0.00101

Measured 6d ago against content hash 56f511a83c6e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

data-report scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/report.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/openclaw/data-report/SKILL.md · 82 lines

What it actually says

数据可视化报告

你是一名数据可视化专家。把用户提供的 CSV/Excel/JSON 数据,转成一份自包含的 HTML 可视化报告(KPI 卡片 + 图表 + 数据洞察 + 数据表)。

数据读取、聚合、出图、HTML 组装都由 scripts/report.py 确定性完成, 你只负责"写洞察文字"这一需要理解的环节,不要手算聚合、手拼图表。

与其他图表 SKILL 的区别

三者都能"生成图表",但机制与产物不同,按需求路由:

  • data-report(本 SKILL) = 输入 CSV/Excel/JSON,产出整页可视化报告(KPI 卡 + 多图 + 洞察 + 表格)。要一份完整报告页时用它。
  • chart-visualization = 调 AntV 远程 API,产出单张静态图片 URL(25+ 类型)。只要一张标准统计图、直接拿图片链接时用它。
  • infographic = 本地 JS 渲染,产出信息图 / GIF 动画图表。要结构化信息图或带动画的 GIF/MP4 时用它。

输入

  • 数据文件:.csv / .json / .xlsx(Excel 需环境有 openpyxl,缺失时脚本会提示)
  • 可选:报告标题、想突出的 KPI 列名

输出

  • 一个自包含 HTML 报告文件(图表以 base64 内嵌,可离线打开),写入 outputs/
  • 可选:把 HTML 渲染成一张长图用于社媒分享

执行步骤

1. 读数据概览(供你写洞察)

python skills/openclaw/data-report/scripts/report.py analyze <数据文件>

返回 JSON:行列数、每列类型与缺失、数值列的 min/max/mean/median/sum/std、 每个类别列的 Top 5。据此判断数据讲了什么,为第 3 步准备洞察文字。

2. 生成报告 HTML

python skills/openclaw/data-report/scripts/report.py report <数据文件> \
  -o outputs/主题名/report.html \
  --title "报告标题" \
  --kpi 列名1 列名2         # 可选,不给则自动挑数值列

脚本自动:算 KPI(数值列汇总)、自动选型出 2-4 张图(时间序列→折线、 类别→柱状、占比→饼图)、拼成含 KPI 卡 + 内嵌图 + 数据表的整页 HTML。 matplotlib 用 Agg 后端并已配好中文字体,不会乱码。

3. 补写洞察文字(可选但推荐)

基于第 1 步的概览,在生成的 HTML 里补 3-5 条洞察(emoji 开头、像产品周报: 趋势、异常、对比、行动建议)。用 Edit 在报告的洞察区插入即可——数据都是 真实的,不要捏造数字,只做解读。

4. 渲染成长图分享(可选)

python skills/shared/scripts/render_card.py \
  --html outputs/主题名/report.html \
  --out outputs/主题名/report.png \
  --full-page --width 1080

Profile 感知

  • 有 Profile:从 style.md 读品牌主色,用 Edit 改 HTML 里 --main 变量统一配色。
  • 无 Profile:用脚本默认专业配色。

要点

  • 必须用脚本解析真实数据,KPI 与图表由脚本从数据算出,不要手写数值。
  • 洞察是你唯一"创作"的部分,其余都走脚本保证确定性。
  • 无数值列时脚本仍出数据表(会打印 WARN),报告依然可用。
Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 82 lines · 75 tokens per session scan A 56f511a83c6e

Subscribe to this mod's changes

data-report is a skill published in the GitHub repository ZJU-REAL/Easel (352 stars, last pushed yesterday), licensed Apache-2.0. It adds 75 tokens to every session and 1,006 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

data-analysis

Analyze Excel/CSV files with DuckDB SQL via bash.

HezaoHezao/poirot · 15 tokens

data-analysis

Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to…

bytedance/deer-flow · 69 tokens

xlsx

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or…

agentscope-ai/QwenPaw · 201 tokens

xlsx

当电子表格文件是主要输入或输出时使用此技能。这意味着用户想要:打开、读取、编辑或修复现有的 .xlsx、.xlsm、.csv 或 .tsv 文件(例如添加列、计算公式、格式化、制图、清理混乱数据);从头创建新的电子表格或从其他数据源创建;或在表格文件格式之间进行转换。当用户通过名称或路径引用电子表格文件时特别触发——即使是随意提及(如"我下载目录里的 xlsx")——并且想对其进行操作或从中生成内容。也适用于将混乱的表格数据文件(格式错误的行、错位的表头、垃圾数据)清理或重构为规范的电子表格。交付物必须是电子表格文件。当主要交付物是 Word 文档、HTML 报告、独立 Python 脚本、数据库管道或 Google Sheets…

agentscope-ai/QwenPaw · 232 tokens

xlsx

Read, edit, or create Microsoft Excel .xlsx workbooks. Trigger this skill whenever the user mentions a spreadsheet, .xlsx file, workbook, sheet, formula, pivot table, or asks to extract tabular data, modify a sheet, or build a workbook from rows. Three execution paths: structured inspection, in-place cell edits, and…

opensquilla/opensquilla · 108 tokens

sn-da-excel-workflow

Excel 数据分析多步编排器。覆盖:(1) 读取多 Sheet Excel 文件并统计行数,(2) 大文件检测(≥10k 行自动 Parquet 优化),(3) 数据清洗(缺失值、文本标准化、无效字符),(4) 条件筛选与分类提取,(5) 跨 Sheet 统计聚合,(6) 导出 Excel/CSV 并提供下载链接。覆盖从数据读取到报告生成全流程,按步骤编排 capability 子 skill。遇到以下任一情况就主动使用本 skill,不要自行写几行 pandas 就回答:①用户出现触发词:Excel 分析 / 表格分析 / 数据分析 / 数据清洗 / 数据统计 / 数据筛选 / 数据可视化 / 数据导出 / 汇总统计 /…

OpenSenseNova/SenseNova-Skills · 348 tokens