data-report
Turns CSV, Excel, or JSON data into a polished visual report page.
Security Assessment
About data-report
The data-report skill is a template that turns raw CSV, Excel, or JSON data into a polished, self-contained visual report page. It solves the common problem of transforming plain tabular exports into a shareable, professional-looking HTML report without manual charting work. The template defines a full page layout: a header with report title, time range, and data source note; a KPI card grid of the three to five most important metrics with values, period-over-period change, and mini trend lines; a main chart area; a styled data table; text insight blocks; and a collapsible methodology section at the bottom.
The workflow renders charts using Chart.js or ECharts loaded from a jsdelivr CDN, parsing data directly from the user's actual input rather than fabricating values. The SKILL.md includes practical engineering guidance, notably that each canvas must sit inside a wrapper div with an explicit fixed height to avoid a ResizeObserver feedback loop that would otherwise cause the chart to grow without bound and hang the browser. The bundled example demonstrates nine months of growth data rendered from a CSV into KPI cards, charts, and a table with narrative insights. The color guidance emphasizes a restrained, professional palette.
The target users are analysts, founders, and product teams who need to convert internal metrics into weekly reports or dashboards for finance and business scenarios. It fits desktop long-page output and is well suited to anyone wanting to produce a credible visual report quickly from data they already have, with the strict requirement that real user-supplied data is parsed and displayed rather than placeholder content.
FAQ
What input formats does it accept?
The template accepts CSV, Excel, or JSON data and turns it into a visual report page. The bundled example uses a CSV of monthly growth metrics.
Which charting library does it use?
It uses Chart.js or ECharts, loaded from the jsdelivr CDN, with chart data parsed from the user's actual input.
Why must chart containers have a fixed height?
The source warns that with Chart.js in responsive mode without an explicit parent height, the chart can enter a ResizeObserver loop and grow indefinitely until it freezes the browser. Each canvas should be wrapped in a div with a set pixel height.
Does it invent data if some is missing?
No. The template explicitly requires parsing the user's real data and instructs against fabricating values or using placeholder content.
What is the typical output?
A single desktop long-page HTML report with a header, a KPI card grid, at least two charts, a styled data table, emoji-led insight blocks, and a collapsible methodology section.
Install data-report
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
nexu-io/open-design