agent-skill-manager 2.4.0 → 2.6.0

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.
Files changed (35) hide show
  1. package/README.md +1 -1
  2. package/data/skill-index/Affitor_affiliate-skills.json +4089 -167
  3. package/data/skill-index/Eronred_aso-skills.json +2251 -31
  4. package/data/skill-index/GPTomics_bioSkills.json +33126 -640
  5. package/data/skill-index/Galaxy-Dawn_claude-scholar.json +3084 -765
  6. package/data/skill-index/Imbad0202_academic-research-skills.json +315 -19
  7. package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +10060 -144
  8. package/data/skill-index/Leonxlnx_taste-skill.json +1150 -10
  9. package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +76 -2
  10. package/data/skill-index/MiniMax-AI_skills.json +1730 -28
  11. package/data/skill-index/Paramchoudhary_ResumeSkills.json +10421 -0
  12. package/data/skill-index/affaan-m_everything-claude-code.json +35901 -2483
  13. package/data/skill-index/alirezarezvani_claude-skills.json +40310 -1896
  14. package/data/skill-index/anthropics_skills.json +1352 -20
  15. package/data/skill-index/antonbabenko_terraform-skill.json +146 -0
  16. package/data/skill-index/bytedance_deer-flow.json +1657 -29
  17. package/data/skill-index/coreyhaines31_marketingskills.json +3266 -54
  18. package/data/skill-index/github_awesome-copilot.json +36002 -902
  19. package/data/skill-index/google_skills.json +1790 -0
  20. package/data/skill-index/heygen-com_hyperframes.json +1346 -17
  21. package/data/skill-index/himself65_finance-skills.json +1866 -38
  22. package/data/skill-index/kemiljk_fluid-design.json +76 -2
  23. package/data/skill-index/kepano_obsidian-skills.json +376 -6
  24. package/data/skill-index/luongnv89_skills.json +2425 -857
  25. package/data/skill-index/mattpocock_skills.json +1809 -118
  26. package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +538 -20
  27. package/data/skill-index/obra_superpowers.json +1051 -15
  28. package/data/skill-index/sickn33_antigravity-awesome-skills.json +346070 -13548
  29. package/data/skill-index/slavingia_skills.json +751 -11
  30. package/data/skill-index-resources.json +28 -1
  31. package/dist/agent-skill-manager.js +217 -217
  32. package/dist/{chunk-CLIZUJVB.js → chunk-5ADANJQ6.js} +1 -1
  33. package/dist/{src-RNJS76U3.js → src-SVL3X6OZ.js} +1 -1
  34. package/package.json +1 -1
  35. package/data/bundles/eu-project-ops.json +0 -25
@@ -2,9 +2,283 @@
2
2
  "repoUrl": "https://github.com/heygen-com/hyperframes.git",
3
3
  "owner": "heygen-com",
4
4
  "repo": "hyperframes",
5
- "updatedAt": "2026-04-20T07:45:58.376Z",
6
- "skillCount": 5,
5
+ "updatedAt": "2026-04-30T23:05:43.299Z",
6
+ "skillCount": 12,
7
7
  "skills": [
8
+ {
9
+ "name": "animejs",
10
+ "description": "Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.",
11
+ "version": "0.0.0",
12
+ "license": "",
13
+ "creator": "",
14
+ "compatibility": "",
15
+ "allowedTools": [],
16
+ "installUrl": "github:heygen-com/hyperframes:skills/animejs",
17
+ "relPath": "skills/animejs",
18
+ "verified": true,
19
+ "tokenCount": 847,
20
+ "evalSummary": {
21
+ "overallScore": 66,
22
+ "grade": "C",
23
+ "categories": [
24
+ {
25
+ "id": "structure",
26
+ "name": "Structure & completeness",
27
+ "score": 7,
28
+ "max": 10
29
+ },
30
+ {
31
+ "id": "description",
32
+ "name": "Description quality",
33
+ "score": 7,
34
+ "max": 10
35
+ },
36
+ {
37
+ "id": "prompt-engineering",
38
+ "name": "Prompt engineering",
39
+ "score": 6,
40
+ "max": 10
41
+ },
42
+ {
43
+ "id": "context-efficiency",
44
+ "name": "Context efficiency",
45
+ "score": 9,
46
+ "max": 10
47
+ },
48
+ {
49
+ "id": "safety",
50
+ "name": "Safety & guardrails",
51
+ "score": 7,
52
+ "max": 10
53
+ },
54
+ {
55
+ "id": "testability",
56
+ "name": "Testability",
57
+ "score": 0,
58
+ "max": 10
59
+ },
60
+ {
61
+ "id": "naming",
62
+ "name": "Naming & conventions",
63
+ "score": 10,
64
+ "max": 10
65
+ }
66
+ ],
67
+ "evaluatedAt": "2026-04-30T23:05:43.283Z",
68
+ "evaluatedVersion": "0.0.0"
69
+ },
70
+ "evalSummaries": {
71
+ "quality": {
72
+ "providerId": "quality",
73
+ "providerVersion": "1.0.0",
74
+ "schemaVersion": 1,
75
+ "passed": true,
76
+ "overallScore": 66,
77
+ "grade": "C",
78
+ "categories": [
79
+ {
80
+ "id": "structure",
81
+ "name": "Structure & completeness",
82
+ "score": 7,
83
+ "max": 10
84
+ },
85
+ {
86
+ "id": "description",
87
+ "name": "Description quality",
88
+ "score": 7,
89
+ "max": 10
90
+ },
91
+ {
92
+ "id": "prompt-engineering",
93
+ "name": "Prompt engineering",
94
+ "score": 6,
95
+ "max": 10
96
+ },
97
+ {
98
+ "id": "context-efficiency",
99
+ "name": "Context efficiency",
100
+ "score": 9,
101
+ "max": 10
102
+ },
103
+ {
104
+ "id": "safety",
105
+ "name": "Safety & guardrails",
106
+ "score": 7,
107
+ "max": 10
108
+ },
109
+ {
110
+ "id": "testability",
111
+ "name": "Testability",
112
+ "score": 0,
113
+ "max": 10
114
+ },
115
+ {
116
+ "id": "naming",
117
+ "name": "Naming & conventions",
118
+ "score": 10,
119
+ "max": 10
120
+ }
121
+ ],
122
+ "evaluatedAt": "2026-04-30T23:05:43.283Z",
123
+ "evaluatedVersion": "0.0.0"
124
+ },
125
+ "skill-best-practice": {
126
+ "providerId": "skill-best-practice",
127
+ "providerVersion": "1.1.0",
128
+ "schemaVersion": 1,
129
+ "passed": false,
130
+ "overallScore": 69,
131
+ "grade": "C",
132
+ "categories": [
133
+ {
134
+ "id": "validation",
135
+ "name": "Deterministic validation",
136
+ "score": 9,
137
+ "max": 13
138
+ }
139
+ ],
140
+ "evaluatedAt": "2026-04-30T23:05:43.283Z",
141
+ "evaluatedVersion": "0.0.0"
142
+ }
143
+ }
144
+ },
145
+ {
146
+ "name": "css-animations",
147
+ "description": "CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.",
148
+ "version": "0.0.0",
149
+ "license": "",
150
+ "creator": "",
151
+ "compatibility": "",
152
+ "allowedTools": [],
153
+ "installUrl": "github:heygen-com/hyperframes:skills/css-animations",
154
+ "relPath": "skills/css-animations",
155
+ "verified": true,
156
+ "tokenCount": 1010,
157
+ "evalSummary": {
158
+ "overallScore": 66,
159
+ "grade": "C",
160
+ "categories": [
161
+ {
162
+ "id": "structure",
163
+ "name": "Structure & completeness",
164
+ "score": 7,
165
+ "max": 10
166
+ },
167
+ {
168
+ "id": "description",
169
+ "name": "Description quality",
170
+ "score": 7,
171
+ "max": 10
172
+ },
173
+ {
174
+ "id": "prompt-engineering",
175
+ "name": "Prompt engineering",
176
+ "score": 6,
177
+ "max": 10
178
+ },
179
+ {
180
+ "id": "context-efficiency",
181
+ "name": "Context efficiency",
182
+ "score": 9,
183
+ "max": 10
184
+ },
185
+ {
186
+ "id": "safety",
187
+ "name": "Safety & guardrails",
188
+ "score": 7,
189
+ "max": 10
190
+ },
191
+ {
192
+ "id": "testability",
193
+ "name": "Testability",
194
+ "score": 0,
195
+ "max": 10
196
+ },
197
+ {
198
+ "id": "naming",
199
+ "name": "Naming & conventions",
200
+ "score": 10,
201
+ "max": 10
202
+ }
203
+ ],
204
+ "evaluatedAt": "2026-04-30T23:05:43.284Z",
205
+ "evaluatedVersion": "0.0.0"
206
+ },
207
+ "evalSummaries": {
208
+ "quality": {
209
+ "providerId": "quality",
210
+ "providerVersion": "1.0.0",
211
+ "schemaVersion": 1,
212
+ "passed": true,
213
+ "overallScore": 66,
214
+ "grade": "C",
215
+ "categories": [
216
+ {
217
+ "id": "structure",
218
+ "name": "Structure & completeness",
219
+ "score": 7,
220
+ "max": 10
221
+ },
222
+ {
223
+ "id": "description",
224
+ "name": "Description quality",
225
+ "score": 7,
226
+ "max": 10
227
+ },
228
+ {
229
+ "id": "prompt-engineering",
230
+ "name": "Prompt engineering",
231
+ "score": 6,
232
+ "max": 10
233
+ },
234
+ {
235
+ "id": "context-efficiency",
236
+ "name": "Context efficiency",
237
+ "score": 9,
238
+ "max": 10
239
+ },
240
+ {
241
+ "id": "safety",
242
+ "name": "Safety & guardrails",
243
+ "score": 7,
244
+ "max": 10
245
+ },
246
+ {
247
+ "id": "testability",
248
+ "name": "Testability",
249
+ "score": 0,
250
+ "max": 10
251
+ },
252
+ {
253
+ "id": "naming",
254
+ "name": "Naming & conventions",
255
+ "score": 10,
256
+ "max": 10
257
+ }
258
+ ],
259
+ "evaluatedAt": "2026-04-30T23:05:43.284Z",
260
+ "evaluatedVersion": "0.0.0"
261
+ },
262
+ "skill-best-practice": {
263
+ "providerId": "skill-best-practice",
264
+ "providerVersion": "1.1.0",
265
+ "schemaVersion": 1,
266
+ "passed": false,
267
+ "overallScore": 77,
268
+ "grade": "C",
269
+ "categories": [
270
+ {
271
+ "id": "validation",
272
+ "name": "Deterministic validation",
273
+ "score": 10,
274
+ "max": 13
275
+ }
276
+ ],
277
+ "evaluatedAt": "2026-04-30T23:05:43.284Z",
278
+ "evaluatedVersion": "0.0.0"
279
+ }
280
+ }
281
+ },
8
282
  {
9
283
  "name": "gsap",
10
284
  "description": "GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.",
@@ -16,7 +290,7 @@
16
290
  "installUrl": "github:heygen-com/hyperframes:skills/gsap",
17
291
  "relPath": "skills/gsap",
18
292
  "verified": true,
19
- "tokenCount": 1710,
293
+ "tokenCount": 2029,
20
294
  "evalSummary": {
21
295
  "overallScore": 56,
22
296
  "grade": "D",
@@ -64,8 +338,82 @@
64
338
  "max": 10
65
339
  }
66
340
  ],
67
- "evaluatedAt": "2026-04-20T07:45:58.147Z",
341
+ "evaluatedAt": "2026-04-30T23:05:43.285Z",
68
342
  "evaluatedVersion": "0.0.0"
343
+ },
344
+ "evalSummaries": {
345
+ "quality": {
346
+ "providerId": "quality",
347
+ "providerVersion": "1.0.0",
348
+ "schemaVersion": 1,
349
+ "passed": true,
350
+ "overallScore": 56,
351
+ "grade": "D",
352
+ "categories": [
353
+ {
354
+ "id": "structure",
355
+ "name": "Structure & completeness",
356
+ "score": 7,
357
+ "max": 10
358
+ },
359
+ {
360
+ "id": "description",
361
+ "name": "Description quality",
362
+ "score": 7,
363
+ "max": 10
364
+ },
365
+ {
366
+ "id": "prompt-engineering",
367
+ "name": "Prompt engineering",
368
+ "score": 6,
369
+ "max": 10
370
+ },
371
+ {
372
+ "id": "context-efficiency",
373
+ "name": "Context efficiency",
374
+ "score": 9,
375
+ "max": 10
376
+ },
377
+ {
378
+ "id": "safety",
379
+ "name": "Safety & guardrails",
380
+ "score": 0,
381
+ "max": 10
382
+ },
383
+ {
384
+ "id": "testability",
385
+ "name": "Testability",
386
+ "score": 0,
387
+ "max": 10
388
+ },
389
+ {
390
+ "id": "naming",
391
+ "name": "Naming & conventions",
392
+ "score": 10,
393
+ "max": 10
394
+ }
395
+ ],
396
+ "evaluatedAt": "2026-04-30T23:05:43.285Z",
397
+ "evaluatedVersion": "0.0.0"
398
+ },
399
+ "skill-best-practice": {
400
+ "providerId": "skill-best-practice",
401
+ "providerVersion": "1.1.0",
402
+ "schemaVersion": 1,
403
+ "passed": false,
404
+ "overallScore": 69,
405
+ "grade": "C",
406
+ "categories": [
407
+ {
408
+ "id": "validation",
409
+ "name": "Deterministic validation",
410
+ "score": 9,
411
+ "max": 13
412
+ }
413
+ ],
414
+ "evaluatedAt": "2026-04-30T23:05:43.285Z",
415
+ "evaluatedVersion": "0.0.0"
416
+ }
69
417
  }
70
418
  },
71
419
  {
@@ -79,9 +427,9 @@
79
427
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
80
428
  "relPath": "skills/hyperframes",
81
429
  "verified": true,
82
- "tokenCount": 5797,
430
+ "tokenCount": 7475,
83
431
  "evalSummary": {
84
- "overallScore": 71,
432
+ "overallScore": 67,
85
433
  "grade": "C",
86
434
  "categories": [
87
435
  {
@@ -99,13 +447,13 @@
99
447
  {
100
448
  "id": "prompt-engineering",
101
449
  "name": "Prompt engineering",
102
- "score": 8,
450
+ "score": 7,
103
451
  "max": 10
104
452
  },
105
453
  {
106
454
  "id": "context-efficiency",
107
455
  "name": "Context efficiency",
108
- "score": 7,
456
+ "score": 5,
109
457
  "max": 10
110
458
  },
111
459
  {
@@ -127,13 +475,87 @@
127
475
  "max": 10
128
476
  }
129
477
  ],
130
- "evaluatedAt": "2026-04-20T07:45:58.149Z",
478
+ "evaluatedAt": "2026-04-30T23:05:43.288Z",
131
479
  "evaluatedVersion": "0.0.0"
480
+ },
481
+ "evalSummaries": {
482
+ "quality": {
483
+ "providerId": "quality",
484
+ "providerVersion": "1.0.0",
485
+ "schemaVersion": 1,
486
+ "passed": true,
487
+ "overallScore": 67,
488
+ "grade": "C",
489
+ "categories": [
490
+ {
491
+ "id": "structure",
492
+ "name": "Structure & completeness",
493
+ "score": 7,
494
+ "max": 10
495
+ },
496
+ {
497
+ "id": "description",
498
+ "name": "Description quality",
499
+ "score": 6,
500
+ "max": 10
501
+ },
502
+ {
503
+ "id": "prompt-engineering",
504
+ "name": "Prompt engineering",
505
+ "score": 7,
506
+ "max": 10
507
+ },
508
+ {
509
+ "id": "context-efficiency",
510
+ "name": "Context efficiency",
511
+ "score": 5,
512
+ "max": 10
513
+ },
514
+ {
515
+ "id": "safety",
516
+ "name": "Safety & guardrails",
517
+ "score": 9,
518
+ "max": 10
519
+ },
520
+ {
521
+ "id": "testability",
522
+ "name": "Testability",
523
+ "score": 3,
524
+ "max": 10
525
+ },
526
+ {
527
+ "id": "naming",
528
+ "name": "Naming & conventions",
529
+ "score": 10,
530
+ "max": 10
531
+ }
532
+ ],
533
+ "evaluatedAt": "2026-04-30T23:05:43.288Z",
534
+ "evaluatedVersion": "0.0.0"
535
+ },
536
+ "skill-best-practice": {
537
+ "providerId": "skill-best-practice",
538
+ "providerVersion": "1.1.0",
539
+ "schemaVersion": 1,
540
+ "passed": false,
541
+ "overallScore": 69,
542
+ "grade": "C",
543
+ "categories": [
544
+ {
545
+ "id": "validation",
546
+ "name": "Deterministic validation",
547
+ "score": 9,
548
+ "max": 13
549
+ }
550
+ ],
551
+ "evaluatedAt": "2026-04-30T23:05:43.288Z",
552
+ "evaluatedVersion": "0.0.0"
553
+ }
132
554
  }
133
555
  },
134
556
  {
135
557
  "name": "hyperframes-cli",
136
- "description": "HyperFrames CLI tool — hyperframes init, lint, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting or validating compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.",
558
+ "description": "HyperFrames CLI tool — hyperframes init, lint, inspect, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting, validating, inspecting visual layout in compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.",
137
559
  "version": "0.0.0",
138
560
  "license": "",
139
561
  "creator": "",
@@ -142,9 +564,9 @@
142
564
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
143
565
  "relPath": "skills/hyperframes-cli",
144
566
  "verified": true,
145
- "tokenCount": 1811,
567
+ "tokenCount": 2460,
146
568
  "evalSummary": {
147
- "overallScore": 67,
569
+ "overallScore": 69,
148
570
  "grade": "C",
149
571
  "categories": [
150
572
  {
@@ -162,7 +584,7 @@
162
584
  {
163
585
  "id": "prompt-engineering",
164
586
  "name": "Prompt engineering",
165
- "score": 7,
587
+ "score": 8,
166
588
  "max": 10
167
589
  },
168
590
  {
@@ -190,8 +612,82 @@
190
612
  "max": 10
191
613
  }
192
614
  ],
193
- "evaluatedAt": "2026-04-20T07:45:58.150Z",
615
+ "evaluatedAt": "2026-04-30T23:05:43.291Z",
194
616
  "evaluatedVersion": "0.0.0"
617
+ },
618
+ "evalSummaries": {
619
+ "quality": {
620
+ "providerId": "quality",
621
+ "providerVersion": "1.0.0",
622
+ "schemaVersion": 1,
623
+ "passed": true,
624
+ "overallScore": 69,
625
+ "grade": "C",
626
+ "categories": [
627
+ {
628
+ "id": "structure",
629
+ "name": "Structure & completeness",
630
+ "score": 7,
631
+ "max": 10
632
+ },
633
+ {
634
+ "id": "description",
635
+ "name": "Description quality",
636
+ "score": 5,
637
+ "max": 10
638
+ },
639
+ {
640
+ "id": "prompt-engineering",
641
+ "name": "Prompt engineering",
642
+ "score": 8,
643
+ "max": 10
644
+ },
645
+ {
646
+ "id": "context-efficiency",
647
+ "name": "Context efficiency",
648
+ "score": 9,
649
+ "max": 10
650
+ },
651
+ {
652
+ "id": "safety",
653
+ "name": "Safety & guardrails",
654
+ "score": 9,
655
+ "max": 10
656
+ },
657
+ {
658
+ "id": "testability",
659
+ "name": "Testability",
660
+ "score": 0,
661
+ "max": 10
662
+ },
663
+ {
664
+ "id": "naming",
665
+ "name": "Naming & conventions",
666
+ "score": 10,
667
+ "max": 10
668
+ }
669
+ ],
670
+ "evaluatedAt": "2026-04-30T23:05:43.291Z",
671
+ "evaluatedVersion": "0.0.0"
672
+ },
673
+ "skill-best-practice": {
674
+ "providerId": "skill-best-practice",
675
+ "providerVersion": "1.1.0",
676
+ "schemaVersion": 1,
677
+ "passed": false,
678
+ "overallScore": 69,
679
+ "grade": "C",
680
+ "categories": [
681
+ {
682
+ "id": "validation",
683
+ "name": "Deterministic validation",
684
+ "score": 9,
685
+ "max": 13
686
+ }
687
+ ],
688
+ "evaluatedAt": "2026-04-30T23:05:43.291Z",
689
+ "evaluatedVersion": "0.0.0"
690
+ }
195
691
  }
196
692
  },
197
693
  {
@@ -253,8 +749,767 @@
253
749
  "max": 10
254
750
  }
255
751
  ],
256
- "evaluatedAt": "2026-04-20T07:45:58.150Z",
752
+ "evaluatedAt": "2026-04-30T23:05:43.292Z",
753
+ "evaluatedVersion": "0.0.0"
754
+ },
755
+ "evalSummaries": {
756
+ "quality": {
757
+ "providerId": "quality",
758
+ "providerVersion": "1.0.0",
759
+ "schemaVersion": 1,
760
+ "passed": true,
761
+ "overallScore": 61,
762
+ "grade": "D",
763
+ "categories": [
764
+ {
765
+ "id": "structure",
766
+ "name": "Structure & completeness",
767
+ "score": 7,
768
+ "max": 10
769
+ },
770
+ {
771
+ "id": "description",
772
+ "name": "Description quality",
773
+ "score": 8,
774
+ "max": 10
775
+ },
776
+ {
777
+ "id": "prompt-engineering",
778
+ "name": "Prompt engineering",
779
+ "score": 7,
780
+ "max": 10
781
+ },
782
+ {
783
+ "id": "context-efficiency",
784
+ "name": "Context efficiency",
785
+ "score": 9,
786
+ "max": 10
787
+ },
788
+ {
789
+ "id": "safety",
790
+ "name": "Safety & guardrails",
791
+ "score": 2,
792
+ "max": 10
793
+ },
794
+ {
795
+ "id": "testability",
796
+ "name": "Testability",
797
+ "score": 0,
798
+ "max": 10
799
+ },
800
+ {
801
+ "id": "naming",
802
+ "name": "Naming & conventions",
803
+ "score": 10,
804
+ "max": 10
805
+ }
806
+ ],
807
+ "evaluatedAt": "2026-04-30T23:05:43.292Z",
808
+ "evaluatedVersion": "0.0.0"
809
+ },
810
+ "skill-best-practice": {
811
+ "providerId": "skill-best-practice",
812
+ "providerVersion": "1.1.0",
813
+ "schemaVersion": 1,
814
+ "passed": false,
815
+ "overallScore": 69,
816
+ "grade": "C",
817
+ "categories": [
818
+ {
819
+ "id": "validation",
820
+ "name": "Deterministic validation",
821
+ "score": 9,
822
+ "max": 13
823
+ }
824
+ ],
825
+ "evaluatedAt": "2026-04-30T23:05:43.292Z",
826
+ "evaluatedVersion": "0.0.0"
827
+ }
828
+ }
829
+ },
830
+ {
831
+ "name": "lottie",
832
+ "description": "Lottie and dotLottie adapter patterns for HyperFrames. Use when embedding lottie-web JSON animations, .lottie files, @lottiefiles/dotlottie-web players, registering instances on window.__hfLottie, or making After Effects exports deterministic in HyperFrames.",
833
+ "version": "0.0.0",
834
+ "license": "",
835
+ "creator": "",
836
+ "compatibility": "",
837
+ "allowedTools": [],
838
+ "installUrl": "github:heygen-com/hyperframes:skills/lottie",
839
+ "relPath": "skills/lottie",
840
+ "verified": true,
841
+ "tokenCount": 738,
842
+ "evalSummary": {
843
+ "overallScore": 64,
844
+ "grade": "D",
845
+ "categories": [
846
+ {
847
+ "id": "structure",
848
+ "name": "Structure & completeness",
849
+ "score": 7,
850
+ "max": 10
851
+ },
852
+ {
853
+ "id": "description",
854
+ "name": "Description quality",
855
+ "score": 7,
856
+ "max": 10
857
+ },
858
+ {
859
+ "id": "prompt-engineering",
860
+ "name": "Prompt engineering",
861
+ "score": 4,
862
+ "max": 10
863
+ },
864
+ {
865
+ "id": "context-efficiency",
866
+ "name": "Context efficiency",
867
+ "score": 9,
868
+ "max": 10
869
+ },
870
+ {
871
+ "id": "safety",
872
+ "name": "Safety & guardrails",
873
+ "score": 7,
874
+ "max": 10
875
+ },
876
+ {
877
+ "id": "testability",
878
+ "name": "Testability",
879
+ "score": 1,
880
+ "max": 10
881
+ },
882
+ {
883
+ "id": "naming",
884
+ "name": "Naming & conventions",
885
+ "score": 10,
886
+ "max": 10
887
+ }
888
+ ],
889
+ "evaluatedAt": "2026-04-30T23:05:43.293Z",
890
+ "evaluatedVersion": "0.0.0"
891
+ },
892
+ "evalSummaries": {
893
+ "quality": {
894
+ "providerId": "quality",
895
+ "providerVersion": "1.0.0",
896
+ "schemaVersion": 1,
897
+ "passed": true,
898
+ "overallScore": 64,
899
+ "grade": "D",
900
+ "categories": [
901
+ {
902
+ "id": "structure",
903
+ "name": "Structure & completeness",
904
+ "score": 7,
905
+ "max": 10
906
+ },
907
+ {
908
+ "id": "description",
909
+ "name": "Description quality",
910
+ "score": 7,
911
+ "max": 10
912
+ },
913
+ {
914
+ "id": "prompt-engineering",
915
+ "name": "Prompt engineering",
916
+ "score": 4,
917
+ "max": 10
918
+ },
919
+ {
920
+ "id": "context-efficiency",
921
+ "name": "Context efficiency",
922
+ "score": 9,
923
+ "max": 10
924
+ },
925
+ {
926
+ "id": "safety",
927
+ "name": "Safety & guardrails",
928
+ "score": 7,
929
+ "max": 10
930
+ },
931
+ {
932
+ "id": "testability",
933
+ "name": "Testability",
934
+ "score": 1,
935
+ "max": 10
936
+ },
937
+ {
938
+ "id": "naming",
939
+ "name": "Naming & conventions",
940
+ "score": 10,
941
+ "max": 10
942
+ }
943
+ ],
944
+ "evaluatedAt": "2026-04-30T23:05:43.293Z",
945
+ "evaluatedVersion": "0.0.0"
946
+ },
947
+ "skill-best-practice": {
948
+ "providerId": "skill-best-practice",
949
+ "providerVersion": "1.1.0",
950
+ "schemaVersion": 1,
951
+ "passed": false,
952
+ "overallScore": 69,
953
+ "grade": "C",
954
+ "categories": [
955
+ {
956
+ "id": "validation",
957
+ "name": "Deterministic validation",
958
+ "score": 9,
959
+ "max": 13
960
+ }
961
+ ],
962
+ "evaluatedAt": "2026-04-30T23:05:43.293Z",
963
+ "evaluatedVersion": "0.0.0"
964
+ }
965
+ }
966
+ },
967
+ {
968
+ "name": "remotion-to-hyperframes",
969
+ "description": "Translate a Remotion (React-based) video composition into a HyperFrames HTML composition. Use when (1) the user provides Remotion source (`.tsx` files using `useCurrentFrame`, `Sequence`, `AbsoluteFill`, `interpolate`, `spring`, `staticFile`, etc.) and asks to port, convert, or migrate it to HyperFrames; (2) the user pastes a Remotion entry point (`Root.tsx`, `Composition`) and wants HTML; (3) the user links a Remotion repo and asks for the HyperFrames equivalent; (4) the user says \"port my Remotion project\", \"translate this Remotion code\", \"rewrite as HTML\", or \"I have a Remotion comp, make it HyperFrames\". Skill detects unsupported patterns (useState, useEffect with side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda` features) and recommends the runtime interop escape hatch instead of attempting a lossy translation.",
970
+ "version": "0.0.0",
971
+ "license": "",
972
+ "creator": "",
973
+ "compatibility": "",
974
+ "allowedTools": [],
975
+ "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
976
+ "relPath": "skills/remotion-to-hyperframes",
977
+ "verified": true,
978
+ "tokenCount": 2226,
979
+ "evalSummary": {
980
+ "overallScore": 71,
981
+ "grade": "C",
982
+ "categories": [
983
+ {
984
+ "id": "structure",
985
+ "name": "Structure & completeness",
986
+ "score": 7,
987
+ "max": 10
988
+ },
989
+ {
990
+ "id": "description",
991
+ "name": "Description quality",
992
+ "score": 6,
993
+ "max": 10
994
+ },
995
+ {
996
+ "id": "prompt-engineering",
997
+ "name": "Prompt engineering",
998
+ "score": 9,
999
+ "max": 10
1000
+ },
1001
+ {
1002
+ "id": "context-efficiency",
1003
+ "name": "Context efficiency",
1004
+ "score": 9,
1005
+ "max": 10
1006
+ },
1007
+ {
1008
+ "id": "safety",
1009
+ "name": "Safety & guardrails",
1010
+ "score": 4,
1011
+ "max": 10
1012
+ },
1013
+ {
1014
+ "id": "testability",
1015
+ "name": "Testability",
1016
+ "score": 5,
1017
+ "max": 10
1018
+ },
1019
+ {
1020
+ "id": "naming",
1021
+ "name": "Naming & conventions",
1022
+ "score": 10,
1023
+ "max": 10
1024
+ }
1025
+ ],
1026
+ "evaluatedAt": "2026-04-30T23:05:43.294Z",
1027
+ "evaluatedVersion": "0.0.0"
1028
+ },
1029
+ "evalSummaries": {
1030
+ "quality": {
1031
+ "providerId": "quality",
1032
+ "providerVersion": "1.0.0",
1033
+ "schemaVersion": 1,
1034
+ "passed": true,
1035
+ "overallScore": 71,
1036
+ "grade": "C",
1037
+ "categories": [
1038
+ {
1039
+ "id": "structure",
1040
+ "name": "Structure & completeness",
1041
+ "score": 7,
1042
+ "max": 10
1043
+ },
1044
+ {
1045
+ "id": "description",
1046
+ "name": "Description quality",
1047
+ "score": 6,
1048
+ "max": 10
1049
+ },
1050
+ {
1051
+ "id": "prompt-engineering",
1052
+ "name": "Prompt engineering",
1053
+ "score": 9,
1054
+ "max": 10
1055
+ },
1056
+ {
1057
+ "id": "context-efficiency",
1058
+ "name": "Context efficiency",
1059
+ "score": 9,
1060
+ "max": 10
1061
+ },
1062
+ {
1063
+ "id": "safety",
1064
+ "name": "Safety & guardrails",
1065
+ "score": 4,
1066
+ "max": 10
1067
+ },
1068
+ {
1069
+ "id": "testability",
1070
+ "name": "Testability",
1071
+ "score": 5,
1072
+ "max": 10
1073
+ },
1074
+ {
1075
+ "id": "naming",
1076
+ "name": "Naming & conventions",
1077
+ "score": 10,
1078
+ "max": 10
1079
+ }
1080
+ ],
1081
+ "evaluatedAt": "2026-04-30T23:05:43.294Z",
1082
+ "evaluatedVersion": "0.0.0"
1083
+ },
1084
+ "skill-best-practice": {
1085
+ "providerId": "skill-best-practice",
1086
+ "providerVersion": "1.1.0",
1087
+ "schemaVersion": 1,
1088
+ "passed": false,
1089
+ "overallScore": 69,
1090
+ "grade": "C",
1091
+ "categories": [
1092
+ {
1093
+ "id": "validation",
1094
+ "name": "Deterministic validation",
1095
+ "score": 9,
1096
+ "max": 13
1097
+ }
1098
+ ],
1099
+ "evaluatedAt": "2026-04-30T23:05:43.294Z",
1100
+ "evaluatedVersion": "0.0.0"
1101
+ }
1102
+ }
1103
+ },
1104
+ {
1105
+ "name": "tailwind",
1106
+ "description": "Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.",
1107
+ "version": "0.0.0",
1108
+ "license": "",
1109
+ "creator": "",
1110
+ "compatibility": "",
1111
+ "allowedTools": [],
1112
+ "installUrl": "github:heygen-com/hyperframes:skills/tailwind",
1113
+ "relPath": "skills/tailwind",
1114
+ "verified": true,
1115
+ "tokenCount": 1588,
1116
+ "evalSummary": {
1117
+ "overallScore": 69,
1118
+ "grade": "C",
1119
+ "categories": [
1120
+ {
1121
+ "id": "structure",
1122
+ "name": "Structure & completeness",
1123
+ "score": 7,
1124
+ "max": 10
1125
+ },
1126
+ {
1127
+ "id": "description",
1128
+ "name": "Description quality",
1129
+ "score": 5,
1130
+ "max": 10
1131
+ },
1132
+ {
1133
+ "id": "prompt-engineering",
1134
+ "name": "Prompt engineering",
1135
+ "score": 7,
1136
+ "max": 10
1137
+ },
1138
+ {
1139
+ "id": "context-efficiency",
1140
+ "name": "Context efficiency",
1141
+ "score": 10,
1142
+ "max": 10
1143
+ },
1144
+ {
1145
+ "id": "safety",
1146
+ "name": "Safety & guardrails",
1147
+ "score": 6,
1148
+ "max": 10
1149
+ },
1150
+ {
1151
+ "id": "testability",
1152
+ "name": "Testability",
1153
+ "score": 3,
1154
+ "max": 10
1155
+ },
1156
+ {
1157
+ "id": "naming",
1158
+ "name": "Naming & conventions",
1159
+ "score": 10,
1160
+ "max": 10
1161
+ }
1162
+ ],
1163
+ "evaluatedAt": "2026-04-30T23:05:43.295Z",
1164
+ "evaluatedVersion": "0.0.0"
1165
+ },
1166
+ "evalSummaries": {
1167
+ "quality": {
1168
+ "providerId": "quality",
1169
+ "providerVersion": "1.0.0",
1170
+ "schemaVersion": 1,
1171
+ "passed": true,
1172
+ "overallScore": 69,
1173
+ "grade": "C",
1174
+ "categories": [
1175
+ {
1176
+ "id": "structure",
1177
+ "name": "Structure & completeness",
1178
+ "score": 7,
1179
+ "max": 10
1180
+ },
1181
+ {
1182
+ "id": "description",
1183
+ "name": "Description quality",
1184
+ "score": 5,
1185
+ "max": 10
1186
+ },
1187
+ {
1188
+ "id": "prompt-engineering",
1189
+ "name": "Prompt engineering",
1190
+ "score": 7,
1191
+ "max": 10
1192
+ },
1193
+ {
1194
+ "id": "context-efficiency",
1195
+ "name": "Context efficiency",
1196
+ "score": 10,
1197
+ "max": 10
1198
+ },
1199
+ {
1200
+ "id": "safety",
1201
+ "name": "Safety & guardrails",
1202
+ "score": 6,
1203
+ "max": 10
1204
+ },
1205
+ {
1206
+ "id": "testability",
1207
+ "name": "Testability",
1208
+ "score": 3,
1209
+ "max": 10
1210
+ },
1211
+ {
1212
+ "id": "naming",
1213
+ "name": "Naming & conventions",
1214
+ "score": 10,
1215
+ "max": 10
1216
+ }
1217
+ ],
1218
+ "evaluatedAt": "2026-04-30T23:05:43.295Z",
1219
+ "evaluatedVersion": "0.0.0"
1220
+ },
1221
+ "skill-best-practice": {
1222
+ "providerId": "skill-best-practice",
1223
+ "providerVersion": "1.1.0",
1224
+ "schemaVersion": 1,
1225
+ "passed": false,
1226
+ "overallScore": 69,
1227
+ "grade": "C",
1228
+ "categories": [
1229
+ {
1230
+ "id": "validation",
1231
+ "name": "Deterministic validation",
1232
+ "score": 9,
1233
+ "max": 13
1234
+ }
1235
+ ],
1236
+ "evaluatedAt": "2026-04-30T23:05:43.295Z",
1237
+ "evaluatedVersion": "0.0.0"
1238
+ }
1239
+ }
1240
+ },
1241
+ {
1242
+ "name": "three",
1243
+ "description": "Three.js and WebGL adapter patterns for HyperFrames. Use when creating deterministic Three.js scenes, WebGL canvas layers, AnimationMixer timelines, camera motion, shader-driven visuals, or canvas renders that respond to HyperFrames hf-seek events.",
1244
+ "version": "0.0.0",
1245
+ "license": "",
1246
+ "creator": "",
1247
+ "compatibility": "",
1248
+ "allowedTools": [],
1249
+ "installUrl": "github:heygen-com/hyperframes:skills/three",
1250
+ "relPath": "skills/three",
1251
+ "verified": true,
1252
+ "tokenCount": 859,
1253
+ "evalSummary": {
1254
+ "overallScore": 64,
1255
+ "grade": "D",
1256
+ "categories": [
1257
+ {
1258
+ "id": "structure",
1259
+ "name": "Structure & completeness",
1260
+ "score": 7,
1261
+ "max": 10
1262
+ },
1263
+ {
1264
+ "id": "description",
1265
+ "name": "Description quality",
1266
+ "score": 7,
1267
+ "max": 10
1268
+ },
1269
+ {
1270
+ "id": "prompt-engineering",
1271
+ "name": "Prompt engineering",
1272
+ "score": 5,
1273
+ "max": 10
1274
+ },
1275
+ {
1276
+ "id": "context-efficiency",
1277
+ "name": "Context efficiency",
1278
+ "score": 9,
1279
+ "max": 10
1280
+ },
1281
+ {
1282
+ "id": "safety",
1283
+ "name": "Safety & guardrails",
1284
+ "score": 7,
1285
+ "max": 10
1286
+ },
1287
+ {
1288
+ "id": "testability",
1289
+ "name": "Testability",
1290
+ "score": 0,
1291
+ "max": 10
1292
+ },
1293
+ {
1294
+ "id": "naming",
1295
+ "name": "Naming & conventions",
1296
+ "score": 10,
1297
+ "max": 10
1298
+ }
1299
+ ],
1300
+ "evaluatedAt": "2026-04-30T23:05:43.296Z",
1301
+ "evaluatedVersion": "0.0.0"
1302
+ },
1303
+ "evalSummaries": {
1304
+ "quality": {
1305
+ "providerId": "quality",
1306
+ "providerVersion": "1.0.0",
1307
+ "schemaVersion": 1,
1308
+ "passed": true,
1309
+ "overallScore": 64,
1310
+ "grade": "D",
1311
+ "categories": [
1312
+ {
1313
+ "id": "structure",
1314
+ "name": "Structure & completeness",
1315
+ "score": 7,
1316
+ "max": 10
1317
+ },
1318
+ {
1319
+ "id": "description",
1320
+ "name": "Description quality",
1321
+ "score": 7,
1322
+ "max": 10
1323
+ },
1324
+ {
1325
+ "id": "prompt-engineering",
1326
+ "name": "Prompt engineering",
1327
+ "score": 5,
1328
+ "max": 10
1329
+ },
1330
+ {
1331
+ "id": "context-efficiency",
1332
+ "name": "Context efficiency",
1333
+ "score": 9,
1334
+ "max": 10
1335
+ },
1336
+ {
1337
+ "id": "safety",
1338
+ "name": "Safety & guardrails",
1339
+ "score": 7,
1340
+ "max": 10
1341
+ },
1342
+ {
1343
+ "id": "testability",
1344
+ "name": "Testability",
1345
+ "score": 0,
1346
+ "max": 10
1347
+ },
1348
+ {
1349
+ "id": "naming",
1350
+ "name": "Naming & conventions",
1351
+ "score": 10,
1352
+ "max": 10
1353
+ }
1354
+ ],
1355
+ "evaluatedAt": "2026-04-30T23:05:43.296Z",
1356
+ "evaluatedVersion": "0.0.0"
1357
+ },
1358
+ "skill-best-practice": {
1359
+ "providerId": "skill-best-practice",
1360
+ "providerVersion": "1.1.0",
1361
+ "schemaVersion": 1,
1362
+ "passed": false,
1363
+ "overallScore": 77,
1364
+ "grade": "C",
1365
+ "categories": [
1366
+ {
1367
+ "id": "validation",
1368
+ "name": "Deterministic validation",
1369
+ "score": 10,
1370
+ "max": 13
1371
+ }
1372
+ ],
1373
+ "evaluatedAt": "2026-04-30T23:05:43.296Z",
1374
+ "evaluatedVersion": "0.0.0"
1375
+ }
1376
+ }
1377
+ },
1378
+ {
1379
+ "name": "waapi",
1380
+ "description": "Web Animations API adapter patterns for HyperFrames. Use when authoring element.animate() motion, Animation currentTime seeking, document.getAnimations(), KeyframeEffect timing, fill modes, or native browser animations that must render deterministically in HyperFrames.",
1381
+ "version": "0.0.0",
1382
+ "license": "",
1383
+ "creator": "",
1384
+ "compatibility": "",
1385
+ "allowedTools": [],
1386
+ "installUrl": "github:heygen-com/hyperframes:skills/waapi",
1387
+ "relPath": "skills/waapi",
1388
+ "verified": true,
1389
+ "tokenCount": 832,
1390
+ "evalSummary": {
1391
+ "overallScore": 69,
1392
+ "grade": "C",
1393
+ "categories": [
1394
+ {
1395
+ "id": "structure",
1396
+ "name": "Structure & completeness",
1397
+ "score": 7,
1398
+ "max": 10
1399
+ },
1400
+ {
1401
+ "id": "description",
1402
+ "name": "Description quality",
1403
+ "score": 7,
1404
+ "max": 10
1405
+ },
1406
+ {
1407
+ "id": "prompt-engineering",
1408
+ "name": "Prompt engineering",
1409
+ "score": 6,
1410
+ "max": 10
1411
+ },
1412
+ {
1413
+ "id": "context-efficiency",
1414
+ "name": "Context efficiency",
1415
+ "score": 10,
1416
+ "max": 10
1417
+ },
1418
+ {
1419
+ "id": "safety",
1420
+ "name": "Safety & guardrails",
1421
+ "score": 7,
1422
+ "max": 10
1423
+ },
1424
+ {
1425
+ "id": "testability",
1426
+ "name": "Testability",
1427
+ "score": 1,
1428
+ "max": 10
1429
+ },
1430
+ {
1431
+ "id": "naming",
1432
+ "name": "Naming & conventions",
1433
+ "score": 10,
1434
+ "max": 10
1435
+ }
1436
+ ],
1437
+ "evaluatedAt": "2026-04-30T23:05:43.297Z",
257
1438
  "evaluatedVersion": "0.0.0"
1439
+ },
1440
+ "evalSummaries": {
1441
+ "quality": {
1442
+ "providerId": "quality",
1443
+ "providerVersion": "1.0.0",
1444
+ "schemaVersion": 1,
1445
+ "passed": true,
1446
+ "overallScore": 69,
1447
+ "grade": "C",
1448
+ "categories": [
1449
+ {
1450
+ "id": "structure",
1451
+ "name": "Structure & completeness",
1452
+ "score": 7,
1453
+ "max": 10
1454
+ },
1455
+ {
1456
+ "id": "description",
1457
+ "name": "Description quality",
1458
+ "score": 7,
1459
+ "max": 10
1460
+ },
1461
+ {
1462
+ "id": "prompt-engineering",
1463
+ "name": "Prompt engineering",
1464
+ "score": 6,
1465
+ "max": 10
1466
+ },
1467
+ {
1468
+ "id": "context-efficiency",
1469
+ "name": "Context efficiency",
1470
+ "score": 10,
1471
+ "max": 10
1472
+ },
1473
+ {
1474
+ "id": "safety",
1475
+ "name": "Safety & guardrails",
1476
+ "score": 7,
1477
+ "max": 10
1478
+ },
1479
+ {
1480
+ "id": "testability",
1481
+ "name": "Testability",
1482
+ "score": 1,
1483
+ "max": 10
1484
+ },
1485
+ {
1486
+ "id": "naming",
1487
+ "name": "Naming & conventions",
1488
+ "score": 10,
1489
+ "max": 10
1490
+ }
1491
+ ],
1492
+ "evaluatedAt": "2026-04-30T23:05:43.297Z",
1493
+ "evaluatedVersion": "0.0.0"
1494
+ },
1495
+ "skill-best-practice": {
1496
+ "providerId": "skill-best-practice",
1497
+ "providerVersion": "1.1.0",
1498
+ "schemaVersion": 1,
1499
+ "passed": false,
1500
+ "overallScore": 69,
1501
+ "grade": "C",
1502
+ "categories": [
1503
+ {
1504
+ "id": "validation",
1505
+ "name": "Deterministic validation",
1506
+ "score": 9,
1507
+ "max": 13
1508
+ }
1509
+ ],
1510
+ "evaluatedAt": "2026-04-30T23:05:43.297Z",
1511
+ "evaluatedVersion": "0.0.0"
1512
+ }
258
1513
  }
259
1514
  },
260
1515
  {
@@ -268,7 +1523,7 @@
268
1523
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-hyperframes",
269
1524
  "relPath": "skills/website-to-hyperframes",
270
1525
  "verified": true,
271
- "tokenCount": 2461,
1526
+ "tokenCount": 2638,
272
1527
  "evalSummary": {
273
1528
  "overallScore": 60,
274
1529
  "grade": "D",
@@ -316,8 +1571,82 @@
316
1571
  "max": 10
317
1572
  }
318
1573
  ],
319
- "evaluatedAt": "2026-04-20T07:45:58.151Z",
1574
+ "evaluatedAt": "2026-04-30T23:05:43.298Z",
320
1575
  "evaluatedVersion": "0.0.0"
1576
+ },
1577
+ "evalSummaries": {
1578
+ "quality": {
1579
+ "providerId": "quality",
1580
+ "providerVersion": "1.0.0",
1581
+ "schemaVersion": 1,
1582
+ "passed": true,
1583
+ "overallScore": 60,
1584
+ "grade": "D",
1585
+ "categories": [
1586
+ {
1587
+ "id": "structure",
1588
+ "name": "Structure & completeness",
1589
+ "score": 7,
1590
+ "max": 10
1591
+ },
1592
+ {
1593
+ "id": "description",
1594
+ "name": "Description quality",
1595
+ "score": 3,
1596
+ "max": 10
1597
+ },
1598
+ {
1599
+ "id": "prompt-engineering",
1600
+ "name": "Prompt engineering",
1601
+ "score": 8,
1602
+ "max": 10
1603
+ },
1604
+ {
1605
+ "id": "context-efficiency",
1606
+ "name": "Context efficiency",
1607
+ "score": 9,
1608
+ "max": 10
1609
+ },
1610
+ {
1611
+ "id": "safety",
1612
+ "name": "Safety & guardrails",
1613
+ "score": 4,
1614
+ "max": 10
1615
+ },
1616
+ {
1617
+ "id": "testability",
1618
+ "name": "Testability",
1619
+ "score": 1,
1620
+ "max": 10
1621
+ },
1622
+ {
1623
+ "id": "naming",
1624
+ "name": "Naming & conventions",
1625
+ "score": 10,
1626
+ "max": 10
1627
+ }
1628
+ ],
1629
+ "evaluatedAt": "2026-04-30T23:05:43.298Z",
1630
+ "evaluatedVersion": "0.0.0"
1631
+ },
1632
+ "skill-best-practice": {
1633
+ "providerId": "skill-best-practice",
1634
+ "providerVersion": "1.1.0",
1635
+ "schemaVersion": 1,
1636
+ "passed": false,
1637
+ "overallScore": 69,
1638
+ "grade": "C",
1639
+ "categories": [
1640
+ {
1641
+ "id": "validation",
1642
+ "name": "Deterministic validation",
1643
+ "score": 9,
1644
+ "max": 13
1645
+ }
1646
+ ],
1647
+ "evaluatedAt": "2026-04-30T23:05:43.298Z",
1648
+ "evaluatedVersion": "0.0.0"
1649
+ }
321
1650
  }
322
1651
  }
323
1652
  ]