Data analysis
gen_data_analysis · slug data-analysis · icon 📊 · outputs markdown, image, data
Paste a CSV (or describe the data you have) and ask a question. A data scientist profiles it, analyses it in Python, produces charts as PNG, and an analyst writes a findings report that says what the numbers mean and what to do next.
Inputs
| Field | Type | Notes |
|---|---|---|
| Data | text | required, 10-200,000 chars — CSV with a header row, or a description (a realistic sample is synthesised and clearly labelled as such) |
| What do you want to know? | text | required, 5-800 chars — the decision or question the analysis should answer |
| Context | string | optional, 400 chars max |
| Maximum charts | number | default 4, 1-8 |
| Chart style | pick | Clean minimal · Dark editorial · Colourful presentation (advanced) |
| Report for | pick | A manager who needs the answer · An analyst who wants the detail · A general reader (advanced) |
Pipeline
| Step | Role | Skills | Tier | Depends on |
|---|---|---|---|---|
profile | data-scientist | code.execute, files.write, files.read | cheap | — |
analyze | data-scientist | code.execute, files.write, files.read, files.list | cheap | profile |
findings | analyst | docs.write_markdown, files.write, llm.generate | standard | profile, analyze |
Both profile and analyze run real Python via
code.execute — this is the one seed generator where the
numbers and charts in the final report are computed by an actual interpreter (pandas/numpy/matplotlib
in the sandbox image) rather than described by a language model.
Example run
{ "generatorId": "gen_data_analysis", "inputs": { "data": "date,region,orders,revenue\n2026-01-03,North,42,1830.50\n2026-01-03,South,31,1290.00\n...", "question": "Which region is growing fastest, and is revenue per order changing?" }}