1{2 "skill_name": "dreambase-echarts",3 "evals": [4 {5 "id": 1,6 "name": "time-series-latency-dashboard",7 "prompt": "hey so we're adding a latency panel to the dreambase ops dashboard. I've got ~30 days of hourly p95 api latency readings (timestamp + ms). need an echarts config where you can zoom into a specific day — scroll wheel zoom plus one of those little range slider things at the bottom. keep it fast, this is a lot of points. just use a handful of placeholder data points but structure it so we can swap in the real data server-side. output the config as JSON to latency-config.json",8 "expected_output": "A valid EChartsOption JSON with xAxis.type 'time', both inside and slider dataZoom, line series configured for high-density data (sampling/showSymbol), tooltip, and few inline placeholder points"
11 "Config file is valid JSON and passes scripts/validate-option.mjs with exit 0",
12 "xAxis.type is 'time' (not category with formatted date strings)",
13 "dataZoom contains both an 'inside' and a 'slider' entry",
14 "Line series is configured for high point density (sampling 'lttb' and/or showSymbol false and/or large true)",
15 "Tooltip is present with axis trigger",
16 "Fewer than 200 inline data points"
17 ]
18 },
19 {
20 "id": 2,
21 "name": "dual-axis-revenue-churn-combo",
22 "prompt": "our CS lead wants one chart showing quarterly revenue (bars, in $M: 1.2, 1.35, 1.42, 1.68 for Q1-Q4) and churn rate (line, %: 4.2, 3.8, 3.5, 3.1) together. revenue on the left axis, churn % on the right. she specifically asked that the % axis doesn't clutter the chart with its own gridlines. echarts json please, save as revenue-churn.json",
23 "expected_output": "A valid EChartsOption with yAxis array of two (left value axis for revenue, right for churn % with splitLine hidden), bar series bound to axis 0, line series bound to axis 1, legend and tooltip present",
24 "files": [],
25 "assertions": [
26 "Config file is valid JSON and passes scripts/validate-option.mjs with exit 0",
27 "yAxis is an array of exactly two axis objects",
28 "Bar series has yAxisIndex 0 and line series has yAxisIndex 1 (explicit binding)",
29 "Second (right) yAxis has splitLine.show false",
30 "The provided data values appear in the correct series",
31 "Both tooltip and legend are present"
32 ]
33 },
34 {
35 "id": 3,
36 "name": "sankey-signup-flow",
37 "prompt": "trying to visualize our signup funnel as a flow diagram: traffic comes from Organic (4200), Paid Ads (2800), and Referral (1100); all three flow into Landing Page, from there 3100 go to Signup Started and 5000 drop off; of the started, 2400 reach Account Created and 700 abandon. sankey style thing. give me the echarts option json in signup-sankey.json",
38 "expected_output": "A valid sankey EChartsOption where every link source/target matches a node name, flow values conserve the described quantities, and tooltip shows link values",
39 "files": [],
40 "assertions": [
41 "Config file is valid JSON and passes scripts/validate-option.mjs with exit 0",
42 "Series type is 'sankey' with both nodes (data) and links defined",
43 "Every link source and target matches a defined node name exactly",
44 "All seven described flow quantities appear as link values (4200, 2800, 1100, 3100, 5000, 2400, 700)",