@pixerate/editor 0.223.0 → 0.223.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/index.cjs +2 -2
- package/dist/agent/index.js +1 -1
- package/dist/{chunk-SVHXD2VH.js → chunk-H73MSHYZ.js} +5 -1
- package/dist/{chunk-BDT2IYXK.cjs → chunk-VXLYEYP4.cjs} +6 -2
- package/dist/tools/index.cjs +2 -2
- package/dist/tools/index.js +1 -1
- package/dist/tools/skill-evals.d.cts +6 -1
- package/dist/tools/skill-evals.d.ts +6 -1
- package/package.json +1 -1
- package/skills/README.md +6 -1
- package/skills/pixerate-chart/SKILL.md +8 -0
- package/skills/pixerate-chart-annotate/SKILL.md +96 -0
- package/skills/pixerate-chart-annotate/evals/highlight-the-point.json +78 -0
- package/skills/pixerate-chart-annotate/evals/source-and-units.json +76 -0
- package/skills/pixerate-chart-annotate/evals/target-line.json +85 -0
- package/skills/pixerate-chart-choose-and-build/SKILL.md +100 -0
- package/skills/pixerate-chart-choose-and-build/evals/colour-blind-safe.json +113 -0
- package/skills/pixerate-chart-choose-and-build/evals/honest-baseline.json +81 -0
- package/skills/pixerate-chart-choose-and-build/evals/trend-over-time.json +175 -0
- package/skills/pixerate-spreadsheet/SKILL.md +2 -0
- package/skills/pixerate-spreadsheet-analysis/SKILL.md +97 -0
- package/skills/pixerate-spreadsheet-analysis/evals/count-and-average.json +148 -0
- package/skills/pixerate-spreadsheet-analysis/evals/month-over-month.json +128 -0
- package/skills/pixerate-spreadsheet-analysis/evals/summary-by-region.json +178 -0
- package/skills/pixerate-spreadsheet-financial-model/SKILL.md +98 -0
- package/skills/pixerate-spreadsheet-financial-model/evals/find-hardcoded.json +113 -0
- package/skills/pixerate-spreadsheet-financial-model/evals/projection-with-inputs.json +118 -0
- package/skills/pixerate-spreadsheet-financial-model/evals/scenarios.json +136 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"prompt": "Build a five-year revenue projection: starting revenue 100,000 in year 1, growing 8 % a year. Put the inputs at the top (labels in column A, values in column B: starting revenue in B1, growth in B2) and the projection in rows 4-5 (years 1-5 in B4:F4, revenue in B5:F5), so I can change the growth rate in one place.",
|
|
3
|
+
"fixture": {
|
|
4
|
+
"editor": "spreadsheet",
|
|
5
|
+
"rows": [
|
|
6
|
+
[
|
|
7
|
+
""
|
|
8
|
+
]
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"checks": [
|
|
12
|
+
{
|
|
13
|
+
"why": "the inputs are in their own cells",
|
|
14
|
+
"tool": "get_range",
|
|
15
|
+
"args": {
|
|
16
|
+
"range": "B1:B2"
|
|
17
|
+
},
|
|
18
|
+
"expect": {
|
|
19
|
+
"values": [
|
|
20
|
+
[
|
|
21
|
+
100000
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
0.08
|
|
25
|
+
]
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"why": "the projection compounds at the input rate",
|
|
31
|
+
"tool": "get_range",
|
|
32
|
+
"args": {
|
|
33
|
+
"range": "B5:F5"
|
|
34
|
+
},
|
|
35
|
+
"expect": {
|
|
36
|
+
"values": {
|
|
37
|
+
"$expr": "[100000, 108000, 116640, 125971.2, 136048.896].every((x, i) => Math.abs(v[0][i] - x) < 0.01)"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"why": "later years are formulas that use the growth input (B2), not a typed rate",
|
|
43
|
+
"tool": "get_range",
|
|
44
|
+
"args": {
|
|
45
|
+
"range": "C5:F5"
|
|
46
|
+
},
|
|
47
|
+
"expect": {
|
|
48
|
+
"raw": [
|
|
49
|
+
{
|
|
50
|
+
"$every": {
|
|
51
|
+
"$match": "^=.*\\$?B\\$?2"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"why": "no formula errors",
|
|
59
|
+
"tool": "get_range",
|
|
60
|
+
"args": {
|
|
61
|
+
"range": "A1:F5"
|
|
62
|
+
},
|
|
63
|
+
"expect": {
|
|
64
|
+
"errors": []
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"solution": [
|
|
69
|
+
{
|
|
70
|
+
"tool": "set_range",
|
|
71
|
+
"args": {
|
|
72
|
+
"start": "A1",
|
|
73
|
+
"values": [
|
|
74
|
+
[
|
|
75
|
+
"Starting revenue",
|
|
76
|
+
100000,
|
|
77
|
+
null,
|
|
78
|
+
null,
|
|
79
|
+
null,
|
|
80
|
+
null
|
|
81
|
+
],
|
|
82
|
+
[
|
|
83
|
+
"Growth",
|
|
84
|
+
0.08,
|
|
85
|
+
null,
|
|
86
|
+
null,
|
|
87
|
+
null,
|
|
88
|
+
null
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
null,
|
|
92
|
+
null,
|
|
93
|
+
null,
|
|
94
|
+
null,
|
|
95
|
+
null,
|
|
96
|
+
null
|
|
97
|
+
],
|
|
98
|
+
[
|
|
99
|
+
"Year",
|
|
100
|
+
1,
|
|
101
|
+
2,
|
|
102
|
+
3,
|
|
103
|
+
4,
|
|
104
|
+
5
|
|
105
|
+
],
|
|
106
|
+
[
|
|
107
|
+
"Revenue",
|
|
108
|
+
"=$B$1",
|
|
109
|
+
"=B5*(1+$B$2)",
|
|
110
|
+
"=C5*(1+$B$2)",
|
|
111
|
+
"=D5*(1+$B$2)",
|
|
112
|
+
"=E5*(1+$B$2)"
|
|
113
|
+
]
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{
|
|
2
|
+
"prompt": "Below the model, add a small scenario table from A8: the year-5 revenue at 5 %, 8 % and 12 % growth (growth rates in A9:A11, year-5 revenue next to each in B9:B11), with formulas from the starting revenue in B1.",
|
|
3
|
+
"fixture": {
|
|
4
|
+
"editor": "spreadsheet",
|
|
5
|
+
"rows": [
|
|
6
|
+
[
|
|
7
|
+
"Starting revenue",
|
|
8
|
+
100000,
|
|
9
|
+
null,
|
|
10
|
+
null,
|
|
11
|
+
null,
|
|
12
|
+
null
|
|
13
|
+
],
|
|
14
|
+
[
|
|
15
|
+
"Growth",
|
|
16
|
+
0.08,
|
|
17
|
+
null,
|
|
18
|
+
null,
|
|
19
|
+
null,
|
|
20
|
+
null
|
|
21
|
+
],
|
|
22
|
+
[
|
|
23
|
+
null,
|
|
24
|
+
null,
|
|
25
|
+
null,
|
|
26
|
+
null,
|
|
27
|
+
null,
|
|
28
|
+
null
|
|
29
|
+
],
|
|
30
|
+
[
|
|
31
|
+
"Year",
|
|
32
|
+
1,
|
|
33
|
+
2,
|
|
34
|
+
3,
|
|
35
|
+
4,
|
|
36
|
+
5
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
"Revenue",
|
|
40
|
+
"=$B$1",
|
|
41
|
+
"=B5*(1+$B$2)",
|
|
42
|
+
"=C5*(1+$B$2)",
|
|
43
|
+
"=D5*(1+$B$2)",
|
|
44
|
+
"=E5*(1+$B$2)"
|
|
45
|
+
]
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"checks": [
|
|
49
|
+
{
|
|
50
|
+
"why": "the three growth rates",
|
|
51
|
+
"tool": "get_range",
|
|
52
|
+
"args": {
|
|
53
|
+
"range": "A9:A11"
|
|
54
|
+
},
|
|
55
|
+
"expect": {
|
|
56
|
+
"values": [
|
|
57
|
+
[
|
|
58
|
+
0.05
|
|
59
|
+
],
|
|
60
|
+
[
|
|
61
|
+
0.08
|
|
62
|
+
],
|
|
63
|
+
[
|
|
64
|
+
0.12
|
|
65
|
+
]
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"why": "year-5 revenue for each scenario",
|
|
71
|
+
"tool": "get_range",
|
|
72
|
+
"args": {
|
|
73
|
+
"range": "B9:B11"
|
|
74
|
+
},
|
|
75
|
+
"expect": {
|
|
76
|
+
"values": {
|
|
77
|
+
"$expr": "[121550.625, 136048.896, 157351.936].every((x, i) => Math.abs(v[i][0] - x) < 0.01)"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"why": "formulas from the starting revenue",
|
|
83
|
+
"tool": "get_range",
|
|
84
|
+
"args": {
|
|
85
|
+
"range": "B9:B11"
|
|
86
|
+
},
|
|
87
|
+
"expect": {
|
|
88
|
+
"raw": {
|
|
89
|
+
"$every": {
|
|
90
|
+
"$every": {
|
|
91
|
+
"$match": "^=.*\\$?B\\$?1"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"why": "the base model still uses B2",
|
|
99
|
+
"tool": "get_range",
|
|
100
|
+
"args": {
|
|
101
|
+
"range": "F5"
|
|
102
|
+
},
|
|
103
|
+
"expect": {
|
|
104
|
+
"values": {
|
|
105
|
+
"$expr": "Math.abs(v[0][0] - 136048.896) < 0.01"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"solution": [
|
|
111
|
+
{
|
|
112
|
+
"tool": "set_range",
|
|
113
|
+
"args": {
|
|
114
|
+
"start": "A8",
|
|
115
|
+
"values": [
|
|
116
|
+
[
|
|
117
|
+
"Growth",
|
|
118
|
+
"Year 5 revenue"
|
|
119
|
+
],
|
|
120
|
+
[
|
|
121
|
+
0.05,
|
|
122
|
+
"=$B$1*(1+A9)^4"
|
|
123
|
+
],
|
|
124
|
+
[
|
|
125
|
+
0.08,
|
|
126
|
+
"=$B$1*(1+A10)^4"
|
|
127
|
+
],
|
|
128
|
+
[
|
|
129
|
+
0.12,
|
|
130
|
+
"=$B$1*(1+A11)^4"
|
|
131
|
+
]
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
}
|