Install
openclaw skills install data-analysis-report-generatorClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Intelligent data analysis report generator. Auto-identifies Excel/CSV data structure (dimensions, metrics, timelines), performs multi-dimensional parallel analysis, and generates professional HTML reports with ECharts interactive charts.
openclaw skills install data-analysis-report-generatorGenerate professional HTML analysis reports from Excel/CSV data with interactive ECharts charts. Supports 11 professional report styles: FT, McKinsey, Economist, Bloomberg, HBR, Nature, Wired, NYT, WSJ, MIT Technology Review, 36Kr.
When user sends an Excel/CSV file:
analyzer.py on the file → get analysis.jsonchart_generator.py with analysis + style → get charts.json$env:PYTHONIOENCODING='utf-8'; python <skill_dir>/scripts/analyzer.py <input_file> --output <workspace>/_tmp_analysis.json
Read the output JSON. Key fields:
meta: row/column counts, structure overviewcolumns: per-column type detection (dimension/metric/timeline)stats: descriptive statistics for metricscorrelations: inter-metric correlationstimeline: time-series grouping (if timeline column detected)top_n: top categories by metricDefault: ft. Select based on context or user preference:
| Style | Key | Best For |
|---|---|---|
| FT | ft | Financial data, investment analysis |
| McKinsey | mckinsey | Business strategy, consulting |
| Economist | economist | Macroeconomic, policy |
| Bloomberg | bloomberg | Market data, terminal-style |
| HBR | hbr | Academic business research |
| Nature | nature | Scientific research |
| Wired | wired | Tech industry, bold visuals |
| NYT | nyt | General news-style |
| WSJ | wsj | Business/market reporting |
| MIT Tech Review | mit | Technology research |
| 36Kr | 36kr | Startup/tech ecosystem (Chinese) |
For detailed style definitions → read references/report_styles.md.
$env:PYTHONIOENCODING='utf-8'; python <skill_dir>/scripts/chart_generator.py --input <workspace>/_tmp_analysis.json --style <style_key> --output <workspace>/_tmp_charts.json
assets/report_template.htmlreferences/style_variables.json → pick the selected style's CSS variables{{REPORT_TITLE}} → descriptive report title (inferred from data){{REPORT_SUBTITLE}} → brief data summary line{{REPORT_DATE}} → current date (YYYY-MM-DD){{ROW_COUNT}} → total rows{{COL_COUNT}} → total columns{{STYLE_LABEL}} → style display name{{BG_PRIMARY}} through {{FONT_BODY}} → style CSS variables{{CHART_DATA_JSON}} → charts JSON (from Step 3, only the charts object){{SUMMARY_STATS_JSON}} → stats JSON (from Step 1, the stats object){{INSIGHTS}} → AI-generated insight paragraphs (see Step 5)Based on the analysis results, write 3–6 insight paragraphs as <p class="insight"> elements:
Each insight should be 1–3 sentences with specific numbers. Format:
<p class="insight">🔍 <strong>Finding:</strong> Category X accounts for 42% of total revenue (¥1.2M), 3.5× the average.</p>
Save the final HTML file to workspace and provide it to the user. The report is a self-contained HTML file that can be opened in any browser.
When user sends multiple Excel/CSV files:
Re-run Step 3–4 with the new style key. No need to re-analyze data.
After Step 1, manually construct ECharts option objects for the requested chart types. Reference references/chart_types.md for type selection rules.
Run custom pandas analysis scripts using the same data file. Add results as additional sections in the HTML report.
pandas, openpyxl, numpyIf dependencies missing, install: pip install pandas openpyxl numpy
data-analysis-report/
├── SKILL.md # This file
├── scripts/
│ ├── analyzer.py # Data analysis engine
│ └── chart_generator.py # ECharts config generator
├── references/
│ ├── report_styles.md # 11 style definitions
│ ├── chart_types.md # Chart type selection guide
│ └── style_variables.json # CSS variables per style
└── assets/
└── report_template.html # HTML report template