@drunkcoding/agents-and-skills 0.0.13 → 0.0.14
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/.claude-plugin/marketplace.json +9 -6
- package/README.md +1 -1
- package/package.json +1 -1
- package/plugins/html-effectiveness/.claude-plugin/plugin.json +1 -1
- package/plugins/html-effectiveness/README.md +9 -4
- package/plugins/html-effectiveness/agents/report-builder.md +4 -0
- package/plugins/html-effectiveness/assets/base.css +40 -20
- package/plugins/html-effectiveness/docs/template-gallery.md +28 -0
- package/plugins/html-effectiveness/scripts/_tmp.js +37 -0
- package/plugins/html-effectiveness/scripts/catalog.js +47 -0
- package/plugins/html-effectiveness/scripts/extract.js +104 -0
- package/plugins/html-effectiveness/scripts/render.js +2 -2
- package/plugins/html-effectiveness/skills/html-effectiveness/SKILL.md +4 -4
- package/plugins/html-effectiveness/templates/01-exploration-code-approaches.html.tmpl +400 -0
- package/plugins/html-effectiveness/templates/02-exploration-visual-designs.html.tmpl +456 -0
- package/plugins/html-effectiveness/templates/03-code-review-pr.html.tmpl +581 -0
- package/plugins/html-effectiveness/templates/04-code-understanding.html.tmpl +443 -0
- package/plugins/html-effectiveness/templates/05-design-system.html.tmpl +578 -0
- package/plugins/html-effectiveness/templates/06-component-variants.html.tmpl +557 -0
- package/plugins/html-effectiveness/templates/07-prototype-animation.html.tmpl +417 -0
- package/plugins/html-effectiveness/templates/08-prototype-interaction.html.tmpl +363 -0
- package/plugins/html-effectiveness/templates/09-slide-deck.html.tmpl +535 -0
- package/plugins/html-effectiveness/templates/10-svg-illustrations.html.tmpl +444 -0
- package/plugins/html-effectiveness/templates/11-status-report.html.tmpl +152 -0
- package/plugins/html-effectiveness/templates/12-incident-report.html.tmpl +547 -0
- package/plugins/html-effectiveness/templates/13-flowchart-diagram.html.tmpl +361 -0
- package/plugins/html-effectiveness/templates/14-research-feature-explainer.html.tmpl +348 -0
- package/plugins/html-effectiveness/templates/15-research-concept-explainer.html.tmpl +334 -0
- package/plugins/html-effectiveness/templates/16-implementation-plan.html.tmpl +657 -0
- package/plugins/html-effectiveness/templates/17-pr-writeup.html.tmpl +553 -0
- package/plugins/html-effectiveness/templates/18-editor-triage-board.html.tmpl +541 -0
- package/plugins/html-effectiveness/templates/19-editor-feature-flags.html.tmpl +627 -0
- package/plugins/html-effectiveness/templates/20-editor-prompt-tuner.html.tmpl +687 -0
- package/plugins/html-effectiveness/templates/manifest.json +436 -2
- package/plugins/html-effectiveness/tests/_tmp.test.js +58 -0
- package/plugins/html-effectiveness/tests/fixtures/01-exploration-code-approaches.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/02-exploration-visual-designs.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/03-code-review-pr.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/04-code-understanding.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/05-design-system.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/06-component-variants.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/07-prototype-animation.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/08-prototype-interaction.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/09-slide-deck.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/10-svg-illustrations.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/11-status-report.data.json +37 -0
- package/plugins/html-effectiveness/tests/fixtures/12-incident-report.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/13-flowchart-diagram.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/14-research-feature-explainer.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/15-research-concept-explainer.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/16-implementation-plan.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/17-pr-writeup.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/18-editor-triage-board.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/19-editor-feature-flags.data.json +3 -0
- package/plugins/html-effectiveness/tests/fixtures/20-editor-prompt-tuner.data.json +3 -0
- package/plugins/html-effectiveness/tests/manifest.test.js +61 -0
- package/plugins/plugin-validator/.claude-plugin/plugin.json +1 -1
- package/plugins/plugin-validator/skills/validate-agents/SKILL.md +2 -2
- package/plugins/plugin-validator/skills/validate-commands/SKILL.md +2 -2
- package/plugins/plugin-validator/skills/validate-hooks/SKILL.md +57 -18
- package/plugins/team-superpower/.claude-plugin/plugin.json +7 -39
- package/plugins/team-superpower/README.md +73 -19
- package/plugins/team-superpower/agents/backend-developer.md +33 -0
- package/plugins/team-superpower/agents/designer.md +5 -1
- package/plugins/team-superpower/agents/frontend-developer.md +33 -0
- package/plugins/team-superpower/agents/planner.md +31 -11
- package/plugins/team-superpower/agents/qa-engineer.md +30 -0
- package/plugins/team-superpower/agents/reviewer.md +37 -21
- package/plugins/team-superpower/agents/security-engineer.md +30 -0
- package/plugins/team-superpower/agents/software-architect.md +30 -0
- package/plugins/team-superpower/assets/ESCALATION.md +19 -5
- package/plugins/team-superpower/assets/SESSION_README.md +31 -11
- package/plugins/team-superpower/commands/team-feature-resume.md +40 -5
- package/plugins/team-superpower/commands/team-feature.md +148 -22
- package/plugins/team-superpower/hooks/hooks.json +0 -3
- package/plugins/tech-graph/.claude-plugin/plugin.json +1 -1
- package/plugins/tech-graph/agents/tech-graph.md +8 -0
- package/plugins/team-superpower/agents/implementer.md +0 -46
|
@@ -1,7 +1,441 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_meta": {
|
|
3
3
|
"upstream_repo": "ThariqS/html-effectiveness",
|
|
4
|
-
"upstream_sha": "
|
|
5
|
-
"
|
|
4
|
+
"upstream_sha": "a1fb5673c26f87be9b833e1876cf4fd0f30f5f2d",
|
|
5
|
+
"fetched_at": "2026-05-13",
|
|
6
|
+
"note": "Templates vendored. Re-fetch is manual; see scripts/fetch-upstream.js."
|
|
7
|
+
},
|
|
8
|
+
"11-status-report": {
|
|
9
|
+
"title": "Status Report",
|
|
10
|
+
"use_cases": [
|
|
11
|
+
"weekly status",
|
|
12
|
+
"project update",
|
|
13
|
+
"team digest",
|
|
14
|
+
"monthly recap",
|
|
15
|
+
"engineering status"
|
|
16
|
+
],
|
|
17
|
+
"pattern": "interactive_report",
|
|
18
|
+
"tmpl": "templates/11-status-report.html.tmpl",
|
|
19
|
+
"slots": {
|
|
20
|
+
"title": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"required": true
|
|
23
|
+
},
|
|
24
|
+
"auto_pill": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"date_range": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"required": true
|
|
30
|
+
},
|
|
31
|
+
"repo": {
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
"summary": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"of": {
|
|
37
|
+
"num": "string",
|
|
38
|
+
"label": "string",
|
|
39
|
+
"delta": "string",
|
|
40
|
+
"delta_kind": "string",
|
|
41
|
+
"warn": "boolean"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"highlights": {
|
|
45
|
+
"type": "object"
|
|
46
|
+
},
|
|
47
|
+
"shipped": {
|
|
48
|
+
"type": "object"
|
|
49
|
+
},
|
|
50
|
+
"velocity_svg": {
|
|
51
|
+
"type": "html"
|
|
52
|
+
},
|
|
53
|
+
"velocity_caption": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
},
|
|
56
|
+
"carryover": {
|
|
57
|
+
"type": "object"
|
|
58
|
+
},
|
|
59
|
+
"footer": {
|
|
60
|
+
"type": "html"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"asset_bundles": [
|
|
64
|
+
"base"
|
|
65
|
+
],
|
|
66
|
+
"extra_js": null
|
|
67
|
+
},
|
|
68
|
+
"01-exploration-code-approaches": {
|
|
69
|
+
"title": "Code-Approaches Exploration",
|
|
70
|
+
"use_cases": [
|
|
71
|
+
"compare implementations",
|
|
72
|
+
"approach trade-offs",
|
|
73
|
+
"design alternatives"
|
|
74
|
+
],
|
|
75
|
+
"pattern": "comparison_board",
|
|
76
|
+
"tmpl": "templates/01-exploration-code-approaches.html.tmpl",
|
|
77
|
+
"slots": {
|
|
78
|
+
"title": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"required": true
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"asset_bundles": [
|
|
84
|
+
"base"
|
|
85
|
+
],
|
|
86
|
+
"extra_js": null
|
|
87
|
+
},
|
|
88
|
+
"02-exploration-visual-designs": {
|
|
89
|
+
"title": "Visual Design Exploration",
|
|
90
|
+
"use_cases": [
|
|
91
|
+
"compare designs",
|
|
92
|
+
"UI alternatives",
|
|
93
|
+
"visual options"
|
|
94
|
+
],
|
|
95
|
+
"pattern": "comparison_board",
|
|
96
|
+
"tmpl": "templates/02-exploration-visual-designs.html.tmpl",
|
|
97
|
+
"slots": {
|
|
98
|
+
"title": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"required": true
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"asset_bundles": [
|
|
104
|
+
"base"
|
|
105
|
+
],
|
|
106
|
+
"extra_js": null
|
|
107
|
+
},
|
|
108
|
+
"03-code-review-pr": {
|
|
109
|
+
"title": "PR Code Review Board",
|
|
110
|
+
"use_cases": [
|
|
111
|
+
"PR review",
|
|
112
|
+
"code review",
|
|
113
|
+
"diff review"
|
|
114
|
+
],
|
|
115
|
+
"pattern": "code_review_board",
|
|
116
|
+
"tmpl": "templates/03-code-review-pr.html.tmpl",
|
|
117
|
+
"slots": {
|
|
118
|
+
"title": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"required": true
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"asset_bundles": [
|
|
124
|
+
"base"
|
|
125
|
+
],
|
|
126
|
+
"extra_js": null
|
|
127
|
+
},
|
|
128
|
+
"04-code-understanding": {
|
|
129
|
+
"title": "Code Walkthrough",
|
|
130
|
+
"use_cases": [
|
|
131
|
+
"explain code",
|
|
132
|
+
"walk through architecture",
|
|
133
|
+
"trace logic"
|
|
134
|
+
],
|
|
135
|
+
"pattern": "knowledge_explorer",
|
|
136
|
+
"tmpl": "templates/04-code-understanding.html.tmpl",
|
|
137
|
+
"slots": {
|
|
138
|
+
"title": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"required": true
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"asset_bundles": [
|
|
144
|
+
"base"
|
|
145
|
+
],
|
|
146
|
+
"extra_js": null
|
|
147
|
+
},
|
|
148
|
+
"05-design-system": {
|
|
149
|
+
"title": "Design System Sheet",
|
|
150
|
+
"use_cases": [
|
|
151
|
+
"design tokens",
|
|
152
|
+
"color palette",
|
|
153
|
+
"typography"
|
|
154
|
+
],
|
|
155
|
+
"pattern": "design_system_sheet",
|
|
156
|
+
"tmpl": "templates/05-design-system.html.tmpl",
|
|
157
|
+
"slots": {
|
|
158
|
+
"title": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"required": true
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"asset_bundles": [
|
|
164
|
+
"base"
|
|
165
|
+
],
|
|
166
|
+
"extra_js": null
|
|
167
|
+
},
|
|
168
|
+
"06-component-variants": {
|
|
169
|
+
"title": "Component Variant Matrix",
|
|
170
|
+
"use_cases": [
|
|
171
|
+
"component variants",
|
|
172
|
+
"states gallery"
|
|
173
|
+
],
|
|
174
|
+
"pattern": "design_system_sheet",
|
|
175
|
+
"tmpl": "templates/06-component-variants.html.tmpl",
|
|
176
|
+
"slots": {
|
|
177
|
+
"title": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"required": true
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"asset_bundles": [
|
|
183
|
+
"base"
|
|
184
|
+
],
|
|
185
|
+
"extra_js": null
|
|
186
|
+
},
|
|
187
|
+
"07-prototype-animation": {
|
|
188
|
+
"title": "Animation Prototype",
|
|
189
|
+
"use_cases": [
|
|
190
|
+
"animation prototype",
|
|
191
|
+
"motion preview"
|
|
192
|
+
],
|
|
193
|
+
"pattern": "interactive_report",
|
|
194
|
+
"tmpl": "templates/07-prototype-animation.html.tmpl",
|
|
195
|
+
"slots": {
|
|
196
|
+
"title": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"required": true
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
"asset_bundles": [
|
|
202
|
+
"base"
|
|
203
|
+
],
|
|
204
|
+
"extra_js": null
|
|
205
|
+
},
|
|
206
|
+
"08-prototype-interaction": {
|
|
207
|
+
"title": "Interaction Prototype",
|
|
208
|
+
"use_cases": [
|
|
209
|
+
"interaction prototype",
|
|
210
|
+
"ux flow"
|
|
211
|
+
],
|
|
212
|
+
"pattern": "interactive_report",
|
|
213
|
+
"tmpl": "templates/08-prototype-interaction.html.tmpl",
|
|
214
|
+
"slots": {
|
|
215
|
+
"title": {
|
|
216
|
+
"type": "string",
|
|
217
|
+
"required": true
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"asset_bundles": [
|
|
221
|
+
"base"
|
|
222
|
+
],
|
|
223
|
+
"extra_js": null
|
|
224
|
+
},
|
|
225
|
+
"09-slide-deck": {
|
|
226
|
+
"title": "Slide Deck",
|
|
227
|
+
"use_cases": [
|
|
228
|
+
"slide deck",
|
|
229
|
+
"presentation",
|
|
230
|
+
"pitch"
|
|
231
|
+
],
|
|
232
|
+
"pattern": "slide_deck",
|
|
233
|
+
"tmpl": "templates/09-slide-deck.html.tmpl",
|
|
234
|
+
"slots": {
|
|
235
|
+
"title": {
|
|
236
|
+
"type": "string",
|
|
237
|
+
"required": true
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"asset_bundles": [
|
|
241
|
+
"base"
|
|
242
|
+
],
|
|
243
|
+
"extra_js": null
|
|
244
|
+
},
|
|
245
|
+
"10-svg-illustrations": {
|
|
246
|
+
"title": "SVG Illustration Gallery",
|
|
247
|
+
"use_cases": [
|
|
248
|
+
"illustrate concept",
|
|
249
|
+
"svg gallery"
|
|
250
|
+
],
|
|
251
|
+
"pattern": "knowledge_explorer",
|
|
252
|
+
"tmpl": "templates/10-svg-illustrations.html.tmpl",
|
|
253
|
+
"slots": {
|
|
254
|
+
"title": {
|
|
255
|
+
"type": "string",
|
|
256
|
+
"required": true
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"asset_bundles": [
|
|
260
|
+
"base"
|
|
261
|
+
],
|
|
262
|
+
"extra_js": null
|
|
263
|
+
},
|
|
264
|
+
"12-incident-report": {
|
|
265
|
+
"title": "Incident Report",
|
|
266
|
+
"use_cases": [
|
|
267
|
+
"incident report",
|
|
268
|
+
"post-mortem",
|
|
269
|
+
"outage writeup"
|
|
270
|
+
],
|
|
271
|
+
"pattern": "interactive_report",
|
|
272
|
+
"tmpl": "templates/12-incident-report.html.tmpl",
|
|
273
|
+
"slots": {
|
|
274
|
+
"title": {
|
|
275
|
+
"type": "string",
|
|
276
|
+
"required": true
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"asset_bundles": [
|
|
280
|
+
"base"
|
|
281
|
+
],
|
|
282
|
+
"extra_js": null
|
|
283
|
+
},
|
|
284
|
+
"13-flowchart-diagram": {
|
|
285
|
+
"title": "Flowchart Diagram",
|
|
286
|
+
"use_cases": [
|
|
287
|
+
"flowchart",
|
|
288
|
+
"process diagram",
|
|
289
|
+
"decision tree"
|
|
290
|
+
],
|
|
291
|
+
"pattern": "knowledge_explorer",
|
|
292
|
+
"tmpl": "templates/13-flowchart-diagram.html.tmpl",
|
|
293
|
+
"slots": {
|
|
294
|
+
"title": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"required": true
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"asset_bundles": [
|
|
300
|
+
"base"
|
|
301
|
+
],
|
|
302
|
+
"extra_js": null
|
|
303
|
+
},
|
|
304
|
+
"14-research-feature-explainer": {
|
|
305
|
+
"title": "Feature Explainer",
|
|
306
|
+
"use_cases": [
|
|
307
|
+
"explain feature",
|
|
308
|
+
"feature deep-dive"
|
|
309
|
+
],
|
|
310
|
+
"pattern": "knowledge_explorer",
|
|
311
|
+
"tmpl": "templates/14-research-feature-explainer.html.tmpl",
|
|
312
|
+
"slots": {
|
|
313
|
+
"title": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"required": true
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"asset_bundles": [
|
|
319
|
+
"base"
|
|
320
|
+
],
|
|
321
|
+
"extra_js": null
|
|
322
|
+
},
|
|
323
|
+
"15-research-concept-explainer": {
|
|
324
|
+
"title": "Concept Explainer",
|
|
325
|
+
"use_cases": [
|
|
326
|
+
"explain concept",
|
|
327
|
+
"tutorial",
|
|
328
|
+
"primer"
|
|
329
|
+
],
|
|
330
|
+
"pattern": "knowledge_explorer",
|
|
331
|
+
"tmpl": "templates/15-research-concept-explainer.html.tmpl",
|
|
332
|
+
"slots": {
|
|
333
|
+
"title": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"required": true
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
"asset_bundles": [
|
|
339
|
+
"base"
|
|
340
|
+
],
|
|
341
|
+
"extra_js": null
|
|
342
|
+
},
|
|
343
|
+
"16-implementation-plan": {
|
|
344
|
+
"title": "Implementation Plan",
|
|
345
|
+
"use_cases": [
|
|
346
|
+
"implementation plan",
|
|
347
|
+
"phased rollout",
|
|
348
|
+
"roadmap"
|
|
349
|
+
],
|
|
350
|
+
"pattern": "annotated_timeline",
|
|
351
|
+
"tmpl": "templates/16-implementation-plan.html.tmpl",
|
|
352
|
+
"slots": {
|
|
353
|
+
"title": {
|
|
354
|
+
"type": "string",
|
|
355
|
+
"required": true
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
"asset_bundles": [
|
|
359
|
+
"base"
|
|
360
|
+
],
|
|
361
|
+
"extra_js": null
|
|
362
|
+
},
|
|
363
|
+
"17-pr-writeup": {
|
|
364
|
+
"title": "PR Writeup",
|
|
365
|
+
"use_cases": [
|
|
366
|
+
"PR description",
|
|
367
|
+
"release notes",
|
|
368
|
+
"change writeup"
|
|
369
|
+
],
|
|
370
|
+
"pattern": "interactive_report",
|
|
371
|
+
"tmpl": "templates/17-pr-writeup.html.tmpl",
|
|
372
|
+
"slots": {
|
|
373
|
+
"title": {
|
|
374
|
+
"type": "string",
|
|
375
|
+
"required": true
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
"asset_bundles": [
|
|
379
|
+
"base"
|
|
380
|
+
],
|
|
381
|
+
"extra_js": null
|
|
382
|
+
},
|
|
383
|
+
"18-editor-triage-board": {
|
|
384
|
+
"title": "Triage Board",
|
|
385
|
+
"use_cases": [
|
|
386
|
+
"bug triage",
|
|
387
|
+
"issue board",
|
|
388
|
+
"kanban"
|
|
389
|
+
],
|
|
390
|
+
"pattern": "kanban_board",
|
|
391
|
+
"tmpl": "templates/18-editor-triage-board.html.tmpl",
|
|
392
|
+
"slots": {
|
|
393
|
+
"title": {
|
|
394
|
+
"type": "string",
|
|
395
|
+
"required": true
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
"asset_bundles": [
|
|
399
|
+
"base"
|
|
400
|
+
],
|
|
401
|
+
"extra_js": null
|
|
402
|
+
},
|
|
403
|
+
"19-editor-feature-flags": {
|
|
404
|
+
"title": "Feature Flags Matrix",
|
|
405
|
+
"use_cases": [
|
|
406
|
+
"feature flags",
|
|
407
|
+
"rollout matrix"
|
|
408
|
+
],
|
|
409
|
+
"pattern": "decision_matrix",
|
|
410
|
+
"tmpl": "templates/19-editor-feature-flags.html.tmpl",
|
|
411
|
+
"slots": {
|
|
412
|
+
"title": {
|
|
413
|
+
"type": "string",
|
|
414
|
+
"required": true
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
"asset_bundles": [
|
|
418
|
+
"base"
|
|
419
|
+
],
|
|
420
|
+
"extra_js": null
|
|
421
|
+
},
|
|
422
|
+
"20-editor-prompt-tuner": {
|
|
423
|
+
"title": "Prompt Tuner",
|
|
424
|
+
"use_cases": [
|
|
425
|
+
"prompt tuning",
|
|
426
|
+
"LLM config"
|
|
427
|
+
],
|
|
428
|
+
"pattern": "interactive_report",
|
|
429
|
+
"tmpl": "templates/20-editor-prompt-tuner.html.tmpl",
|
|
430
|
+
"slots": {
|
|
431
|
+
"title": {
|
|
432
|
+
"type": "string",
|
|
433
|
+
"required": true
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
"asset_bundles": [
|
|
437
|
+
"base"
|
|
438
|
+
],
|
|
439
|
+
"extra_js": null
|
|
6
440
|
}
|
|
7
441
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { test } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { existsSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { getTmpDir, cleanup, withTmp, ROOT } from '../scripts/_tmp.js';
|
|
6
|
+
|
|
7
|
+
test('getTmpDir creates a fresh dir under .tmp/html-effectiveness/', () => {
|
|
8
|
+
const dir = getTmpDir('unit-a');
|
|
9
|
+
assert.ok(dir.endsWith('/.tmp/html-effectiveness/unit-a'));
|
|
10
|
+
assert.ok(existsSync(dir));
|
|
11
|
+
cleanup('unit-a');
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
test('getTmpDir wipes existing dir contents', () => {
|
|
15
|
+
const dir = getTmpDir('unit-b');
|
|
16
|
+
writeFileSync(join(dir, 'old.txt'), 'stale');
|
|
17
|
+
const dir2 = getTmpDir('unit-b');
|
|
18
|
+
assert.equal(dir, dir2);
|
|
19
|
+
assert.equal(existsSync(join(dir2, 'old.txt')), false);
|
|
20
|
+
cleanup('unit-b');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('cleanup removes dir', () => {
|
|
24
|
+
const dir = getTmpDir('unit-c');
|
|
25
|
+
cleanup('unit-c');
|
|
26
|
+
assert.equal(existsSync(dir), false);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test('cleanup is idempotent on missing dir', () => {
|
|
30
|
+
cleanup('unit-never-created');
|
|
31
|
+
assert.ok(true);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('withTmp runs callback and cleans up on success', () => {
|
|
35
|
+
let observed;
|
|
36
|
+
const result = withTmp('unit-d', (dir) => {
|
|
37
|
+
observed = dir;
|
|
38
|
+
writeFileSync(join(dir, 'x'), 'y');
|
|
39
|
+
return 'done';
|
|
40
|
+
});
|
|
41
|
+
assert.equal(result, 'done');
|
|
42
|
+
assert.equal(existsSync(observed), false);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
test('withTmp cleans up even when callback throws', () => {
|
|
46
|
+
let observed;
|
|
47
|
+
assert.throws(() => {
|
|
48
|
+
withTmp('unit-e', (dir) => {
|
|
49
|
+
observed = dir;
|
|
50
|
+
throw new Error('boom');
|
|
51
|
+
});
|
|
52
|
+
}, /boom/);
|
|
53
|
+
assert.equal(existsSync(observed), false);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test('ROOT is anchored at repo .tmp/html-effectiveness', () => {
|
|
57
|
+
assert.ok(ROOT.endsWith('/.tmp/html-effectiveness'));
|
|
58
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Engineering Status",
|
|
3
|
+
"auto_pill": "Auto-generated",
|
|
4
|
+
"date_range": "Apr 29 — May 13, 2026",
|
|
5
|
+
"repo": "drunkcoding/agents-and-skills",
|
|
6
|
+
"summary": [
|
|
7
|
+
{ "num": "12", "label": "Shipped", "delta": "+3 vs prev", "delta_kind": "up" },
|
|
8
|
+
{ "num": "47", "label": "Open bugs", "delta": "-8", "delta_kind": "down" },
|
|
9
|
+
{ "num": "14", "label": "On-call", "delta": "+2", "delta_kind": "up", "warn": true },
|
|
10
|
+
{ "num": "92%","label": "CI green", "delta": "flat", "delta_kind": "flat" }
|
|
11
|
+
],
|
|
12
|
+
"highlights": {
|
|
13
|
+
"items": [
|
|
14
|
+
{ "strong": "Auth v2 cutover.", "body": "All traffic on new identity stack; p95 latency down <em>30%</em>." },
|
|
15
|
+
{ "strong": "Search reindex.", "body": "Full corpus rebuilt in 11h, down from 26h." },
|
|
16
|
+
{ "strong": "Mobile beta.", "body": "iOS 17 build live to internal testers." }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"shipped": {
|
|
20
|
+
"rows": [
|
|
21
|
+
{ "pr": "#1042", "title": "feat(auth): rotate session keys", "author": "alice", "risk": "low" },
|
|
22
|
+
{ "pr": "#1048", "title": "fix(search): off-by-one in date filter", "author": "bob", "risk": "low" },
|
|
23
|
+
{ "pr": "#1055", "title": "perf(api): cache permission lookups", "author": "charlie", "risk": "med" },
|
|
24
|
+
{ "pr": "#1061", "title": "feat(mobile): push notif opt-in", "author": "dana", "risk": "high" }
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"velocity_svg": "<svg viewBox=\"0 0 600 160\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#D97757\" stroke-width=\"2\" points=\"0,120 75,90 150,100 225,70 300,60 375,80 450,40 525,30 600,50\"/><line x1=\"0\" y1=\"150\" x2=\"600\" y2=\"150\" stroke=\"#D1CFC5\"/></svg>",
|
|
28
|
+
"velocity_caption": "Merged PRs per day, 2-week window. Source: GitHub API.",
|
|
29
|
+
"carryover": {
|
|
30
|
+
"items": [
|
|
31
|
+
{ "tag": "BLOCKED", "body": "App Store review for iOS 17 build.", "who": "dana" },
|
|
32
|
+
{ "tag": "REVIEW", "body": "Permission cache invalidation edge case.", "who": "charlie" },
|
|
33
|
+
{ "tag": "SCOPE", "body": "Q3 platform RFC pending review.", "who": "alice" }
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"footer": "Generated 2026-05-13 · <a href=\"#\">runbook</a>"
|
|
37
|
+
}
|