agent-skill-manager 2.5.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 (34) 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 +15 -15
  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 +119 -119
  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 +10 -1
  31. package/dist/agent-skill-manager.js +197 -197
  32. package/dist/{chunk-QY4LTOTR.js → chunk-5ADANJQ6.js} +1 -1
  33. package/dist/{src-YK2KIAU7.js → src-SVL3X6OZ.js} +1 -1
  34. package/package.json +1 -1
@@ -2,8 +2,8 @@
2
2
  "repoUrl": "https://github.com/coreyhaines31/marketingskills.git",
3
3
  "owner": "coreyhaines31",
4
4
  "repo": "marketingskills",
5
- "updatedAt": "2026-04-20T07:45:13.194Z",
6
- "skillCount": 36,
5
+ "updatedAt": "2026-04-30T23:05:10.545Z",
6
+ "skillCount": 40,
7
7
  "skills": [
8
8
  {
9
9
  "name": "ab-test-setup",
@@ -64,8 +64,82 @@
64
64
  "max": 10
65
65
  }
66
66
  ],
67
- "evaluatedAt": "2026-04-20T07:45:13.137Z",
67
+ "evaluatedAt": "2026-04-30T23:05:10.458Z",
68
68
  "evaluatedVersion": "1.2.0"
69
+ },
70
+ "evalSummaries": {
71
+ "quality": {
72
+ "providerId": "quality",
73
+ "providerVersion": "1.0.0",
74
+ "schemaVersion": 1,
75
+ "passed": true,
76
+ "overallScore": 63,
77
+ "grade": "D",
78
+ "categories": [
79
+ {
80
+ "id": "structure",
81
+ "name": "Structure & completeness",
82
+ "score": 8,
83
+ "max": 10
84
+ },
85
+ {
86
+ "id": "description",
87
+ "name": "Description quality",
88
+ "score": 3,
89
+ "max": 10
90
+ },
91
+ {
92
+ "id": "prompt-engineering",
93
+ "name": "Prompt engineering",
94
+ "score": 8,
95
+ "max": 10
96
+ },
97
+ {
98
+ "id": "context-efficiency",
99
+ "name": "Context efficiency",
100
+ "score": 7,
101
+ "max": 10
102
+ },
103
+ {
104
+ "id": "safety",
105
+ "name": "Safety & guardrails",
106
+ "score": 5,
107
+ "max": 10
108
+ },
109
+ {
110
+ "id": "testability",
111
+ "name": "Testability",
112
+ "score": 3,
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:10.458Z",
123
+ "evaluatedVersion": "1.2.0"
124
+ },
125
+ "skill-best-practice": {
126
+ "providerId": "skill-best-practice",
127
+ "providerVersion": "1.1.0",
128
+ "schemaVersion": 1,
129
+ "passed": true,
130
+ "overallScore": 79,
131
+ "grade": "C",
132
+ "categories": [
133
+ {
134
+ "id": "validation",
135
+ "name": "Deterministic validation",
136
+ "score": 11,
137
+ "max": 14
138
+ }
139
+ ],
140
+ "evaluatedAt": "2026-04-30T23:05:10.458Z",
141
+ "evaluatedVersion": "1.2.0"
142
+ }
69
143
  }
70
144
  },
71
145
  {
@@ -127,8 +201,82 @@
127
201
  "max": 10
128
202
  }
129
203
  ],
130
- "evaluatedAt": "2026-04-20T07:45:13.138Z",
204
+ "evaluatedAt": "2026-04-30T23:05:10.461Z",
131
205
  "evaluatedVersion": "1.1.0"
206
+ },
207
+ "evalSummaries": {
208
+ "quality": {
209
+ "providerId": "quality",
210
+ "providerVersion": "1.0.0",
211
+ "schemaVersion": 1,
212
+ "passed": true,
213
+ "overallScore": 67,
214
+ "grade": "C",
215
+ "categories": [
216
+ {
217
+ "id": "structure",
218
+ "name": "Structure & completeness",
219
+ "score": 8,
220
+ "max": 10
221
+ },
222
+ {
223
+ "id": "description",
224
+ "name": "Description quality",
225
+ "score": 3,
226
+ "max": 10
227
+ },
228
+ {
229
+ "id": "prompt-engineering",
230
+ "name": "Prompt engineering",
231
+ "score": 7,
232
+ "max": 10
233
+ },
234
+ {
235
+ "id": "context-efficiency",
236
+ "name": "Context efficiency",
237
+ "score": 7,
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": 5,
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:10.461Z",
260
+ "evaluatedVersion": "1.1.0"
261
+ },
262
+ "skill-best-practice": {
263
+ "providerId": "skill-best-practice",
264
+ "providerVersion": "1.1.0",
265
+ "schemaVersion": 1,
266
+ "passed": true,
267
+ "overallScore": 79,
268
+ "grade": "C",
269
+ "categories": [
270
+ {
271
+ "id": "validation",
272
+ "name": "Deterministic validation",
273
+ "score": 11,
274
+ "max": 14
275
+ }
276
+ ],
277
+ "evaluatedAt": "2026-04-30T23:05:10.461Z",
278
+ "evaluatedVersion": "1.1.0"
279
+ }
132
280
  }
133
281
  },
134
282
  {
@@ -190,8 +338,82 @@
190
338
  "max": 10
191
339
  }
192
340
  ],
193
- "evaluatedAt": "2026-04-20T07:45:13.140Z",
341
+ "evaluatedAt": "2026-04-30T23:05:10.463Z",
194
342
  "evaluatedVersion": "1.2.0"
343
+ },
344
+ "evalSummaries": {
345
+ "quality": {
346
+ "providerId": "quality",
347
+ "providerVersion": "1.0.0",
348
+ "schemaVersion": 1,
349
+ "passed": true,
350
+ "overallScore": 66,
351
+ "grade": "C",
352
+ "categories": [
353
+ {
354
+ "id": "structure",
355
+ "name": "Structure & completeness",
356
+ "score": 8,
357
+ "max": 10
358
+ },
359
+ {
360
+ "id": "description",
361
+ "name": "Description quality",
362
+ "score": 3,
363
+ "max": 10
364
+ },
365
+ {
366
+ "id": "prompt-engineering",
367
+ "name": "Prompt engineering",
368
+ "score": 8,
369
+ "max": 10
370
+ },
371
+ {
372
+ "id": "context-efficiency",
373
+ "name": "Context efficiency",
374
+ "score": 7,
375
+ "max": 10
376
+ },
377
+ {
378
+ "id": "safety",
379
+ "name": "Safety & guardrails",
380
+ "score": 7,
381
+ "max": 10
382
+ },
383
+ {
384
+ "id": "testability",
385
+ "name": "Testability",
386
+ "score": 3,
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:10.463Z",
397
+ "evaluatedVersion": "1.2.0"
398
+ },
399
+ "skill-best-practice": {
400
+ "providerId": "skill-best-practice",
401
+ "providerVersion": "1.1.0",
402
+ "schemaVersion": 1,
403
+ "passed": true,
404
+ "overallScore": 79,
405
+ "grade": "C",
406
+ "categories": [
407
+ {
408
+ "id": "validation",
409
+ "name": "Deterministic validation",
410
+ "score": 11,
411
+ "max": 14
412
+ }
413
+ ],
414
+ "evaluatedAt": "2026-04-30T23:05:10.464Z",
415
+ "evaluatedVersion": "1.2.0"
416
+ }
195
417
  }
196
418
  },
197
419
  {
@@ -253,8 +475,82 @@
253
475
  "max": 10
254
476
  }
255
477
  ],
256
- "evaluatedAt": "2026-04-20T07:45:13.140Z",
478
+ "evaluatedAt": "2026-04-30T23:05:10.466Z",
257
479
  "evaluatedVersion": "1.1.0"
480
+ },
481
+ "evalSummaries": {
482
+ "quality": {
483
+ "providerId": "quality",
484
+ "providerVersion": "1.0.0",
485
+ "schemaVersion": 1,
486
+ "passed": true,
487
+ "overallScore": 71,
488
+ "grade": "C",
489
+ "categories": [
490
+ {
491
+ "id": "structure",
492
+ "name": "Structure & completeness",
493
+ "score": 8,
494
+ "max": 10
495
+ },
496
+ {
497
+ "id": "description",
498
+ "name": "Description quality",
499
+ "score": 3,
500
+ "max": 10
501
+ },
502
+ {
503
+ "id": "prompt-engineering",
504
+ "name": "Prompt engineering",
505
+ "score": 8,
506
+ "max": 10
507
+ },
508
+ {
509
+ "id": "context-efficiency",
510
+ "name": "Context efficiency",
511
+ "score": 9,
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:10.466Z",
534
+ "evaluatedVersion": "1.1.0"
535
+ },
536
+ "skill-best-practice": {
537
+ "providerId": "skill-best-practice",
538
+ "providerVersion": "1.1.0",
539
+ "schemaVersion": 1,
540
+ "passed": true,
541
+ "overallScore": 79,
542
+ "grade": "C",
543
+ "categories": [
544
+ {
545
+ "id": "validation",
546
+ "name": "Deterministic validation",
547
+ "score": 11,
548
+ "max": 14
549
+ }
550
+ ],
551
+ "evaluatedAt": "2026-04-30T23:05:10.466Z",
552
+ "evaluatedVersion": "1.1.0"
553
+ }
258
554
  }
259
555
  },
260
556
  {
@@ -316,8 +612,82 @@
316
612
  "max": 10
317
613
  }
318
614
  ],
319
- "evaluatedAt": "2026-04-20T07:45:13.142Z",
615
+ "evaluatedAt": "2026-04-30T23:05:10.468Z",
320
616
  "evaluatedVersion": "1.0.0"
617
+ },
618
+ "evalSummaries": {
619
+ "quality": {
620
+ "providerId": "quality",
621
+ "providerVersion": "1.0.0",
622
+ "schemaVersion": 1,
623
+ "passed": true,
624
+ "overallScore": 64,
625
+ "grade": "D",
626
+ "categories": [
627
+ {
628
+ "id": "structure",
629
+ "name": "Structure & completeness",
630
+ "score": 8,
631
+ "max": 10
632
+ },
633
+ {
634
+ "id": "description",
635
+ "name": "Description quality",
636
+ "score": 3,
637
+ "max": 10
638
+ },
639
+ {
640
+ "id": "prompt-engineering",
641
+ "name": "Prompt engineering",
642
+ "score": 7,
643
+ "max": 10
644
+ },
645
+ {
646
+ "id": "context-efficiency",
647
+ "name": "Context efficiency",
648
+ "score": 7,
649
+ "max": 10
650
+ },
651
+ {
652
+ "id": "safety",
653
+ "name": "Safety & guardrails",
654
+ "score": 7,
655
+ "max": 10
656
+ },
657
+ {
658
+ "id": "testability",
659
+ "name": "Testability",
660
+ "score": 3,
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:10.468Z",
671
+ "evaluatedVersion": "1.0.0"
672
+ },
673
+ "skill-best-practice": {
674
+ "providerId": "skill-best-practice",
675
+ "providerVersion": "1.1.0",
676
+ "schemaVersion": 1,
677
+ "passed": true,
678
+ "overallScore": 79,
679
+ "grade": "C",
680
+ "categories": [
681
+ {
682
+ "id": "validation",
683
+ "name": "Deterministic validation",
684
+ "score": 11,
685
+ "max": 14
686
+ }
687
+ ],
688
+ "evaluatedAt": "2026-04-30T23:05:10.468Z",
689
+ "evaluatedVersion": "1.0.0"
690
+ }
321
691
  }
322
692
  },
323
693
  {
@@ -379,8 +749,82 @@
379
749
  "max": 10
380
750
  }
381
751
  ],
382
- "evaluatedAt": "2026-04-20T07:45:13.143Z",
752
+ "evaluatedAt": "2026-04-30T23:05:10.471Z",
383
753
  "evaluatedVersion": "1.1.0"
754
+ },
755
+ "evalSummaries": {
756
+ "quality": {
757
+ "providerId": "quality",
758
+ "providerVersion": "1.0.0",
759
+ "schemaVersion": 1,
760
+ "passed": true,
761
+ "overallScore": 70,
762
+ "grade": "C",
763
+ "categories": [
764
+ {
765
+ "id": "structure",
766
+ "name": "Structure & completeness",
767
+ "score": 8,
768
+ "max": 10
769
+ },
770
+ {
771
+ "id": "description",
772
+ "name": "Description quality",
773
+ "score": 3,
774
+ "max": 10
775
+ },
776
+ {
777
+ "id": "prompt-engineering",
778
+ "name": "Prompt engineering",
779
+ "score": 6,
780
+ "max": 10
781
+ },
782
+ {
783
+ "id": "context-efficiency",
784
+ "name": "Context efficiency",
785
+ "score": 7,
786
+ "max": 10
787
+ },
788
+ {
789
+ "id": "safety",
790
+ "name": "Safety & guardrails",
791
+ "score": 10,
792
+ "max": 10
793
+ },
794
+ {
795
+ "id": "testability",
796
+ "name": "Testability",
797
+ "score": 5,
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:10.471Z",
808
+ "evaluatedVersion": "1.1.0"
809
+ },
810
+ "skill-best-practice": {
811
+ "providerId": "skill-best-practice",
812
+ "providerVersion": "1.1.0",
813
+ "schemaVersion": 1,
814
+ "passed": true,
815
+ "overallScore": 79,
816
+ "grade": "C",
817
+ "categories": [
818
+ {
819
+ "id": "validation",
820
+ "name": "Deterministic validation",
821
+ "score": 11,
822
+ "max": 14
823
+ }
824
+ ],
825
+ "evaluatedAt": "2026-04-30T23:05:10.471Z",
826
+ "evaluatedVersion": "1.1.0"
827
+ }
384
828
  }
385
829
  },
386
830
  {
@@ -442,13 +886,87 @@
442
886
  "max": 10
443
887
  }
444
888
  ],
445
- "evaluatedAt": "2026-04-20T07:45:13.144Z",
889
+ "evaluatedAt": "2026-04-30T23:05:10.473Z",
446
890
  "evaluatedVersion": "1.1.0"
891
+ },
892
+ "evalSummaries": {
893
+ "quality": {
894
+ "providerId": "quality",
895
+ "providerVersion": "1.0.0",
896
+ "schemaVersion": 1,
897
+ "passed": true,
898
+ "overallScore": 54,
899
+ "grade": "D",
900
+ "categories": [
901
+ {
902
+ "id": "structure",
903
+ "name": "Structure & completeness",
904
+ "score": 8,
905
+ "max": 10
906
+ },
907
+ {
908
+ "id": "description",
909
+ "name": "Description quality",
910
+ "score": 6,
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": 1,
929
+ "max": 10
930
+ },
931
+ {
932
+ "id": "testability",
933
+ "name": "Testability",
934
+ "score": 0,
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:10.473Z",
945
+ "evaluatedVersion": "1.1.0"
946
+ },
947
+ "skill-best-practice": {
948
+ "providerId": "skill-best-practice",
949
+ "providerVersion": "1.1.0",
950
+ "schemaVersion": 1,
951
+ "passed": true,
952
+ "overallScore": 79,
953
+ "grade": "C",
954
+ "categories": [
955
+ {
956
+ "id": "validation",
957
+ "name": "Deterministic validation",
958
+ "score": 11,
959
+ "max": 14
960
+ }
961
+ ],
962
+ "evaluatedAt": "2026-04-30T23:05:10.473Z",
963
+ "evaluatedVersion": "1.1.0"
964
+ }
447
965
  }
448
966
  },
449
967
  {
450
968
  "name": "community-marketing",
451
- "description": "Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: \"build a community,\" \"community strategy,\" \"Discord community,\" \"Slack community,\" \"community-led growth,\" \"brand advocates,\" \"user community,\" \"forum strategy,\" \"community engagement,\" \"grow our community,\" \"ambassador program,\" \"community flywheel.",
969
+ "description": "Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: \\\"build a community,\\\" \\\"community strategy,\\\" \\\"Discord community,\\\" \\\"Slack community,\\\" \\\"community-led growth,\\\" \\\"brand advocates,\\\" \\\"user community,\\\" \\\"forum strategy,\\\" \\\"community engagement,\\\" \\\"grow our community,\\\" \\\"ambassador program,\\\" \\\"community flywheel.\\\"",
452
970
  "version": "1.0.0",
453
971
  "license": "",
454
972
  "creator": "",
@@ -505,8 +1023,82 @@
505
1023
  "max": 10
506
1024
  }
507
1025
  ],
508
- "evaluatedAt": "2026-04-20T07:45:13.144Z",
1026
+ "evaluatedAt": "2026-04-30T23:05:10.475Z",
509
1027
  "evaluatedVersion": "1.0.0"
1028
+ },
1029
+ "evalSummaries": {
1030
+ "quality": {
1031
+ "providerId": "quality",
1032
+ "providerVersion": "1.0.0",
1033
+ "schemaVersion": 1,
1034
+ "passed": true,
1035
+ "overallScore": 64,
1036
+ "grade": "D",
1037
+ "categories": [
1038
+ {
1039
+ "id": "structure",
1040
+ "name": "Structure & completeness",
1041
+ "score": 8,
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": 6,
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": 5,
1066
+ "max": 10
1067
+ },
1068
+ {
1069
+ "id": "testability",
1070
+ "name": "Testability",
1071
+ "score": 1,
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:10.475Z",
1082
+ "evaluatedVersion": "1.0.0"
1083
+ },
1084
+ "skill-best-practice": {
1085
+ "providerId": "skill-best-practice",
1086
+ "providerVersion": "1.1.0",
1087
+ "schemaVersion": 1,
1088
+ "passed": true,
1089
+ "overallScore": 79,
1090
+ "grade": "C",
1091
+ "categories": [
1092
+ {
1093
+ "id": "validation",
1094
+ "name": "Deterministic validation",
1095
+ "score": 11,
1096
+ "max": 14
1097
+ }
1098
+ ],
1099
+ "evaluatedAt": "2026-04-30T23:05:10.475Z",
1100
+ "evaluatedVersion": "1.0.0"
1101
+ }
510
1102
  }
511
1103
  },
512
1104
  {
@@ -568,8 +1160,219 @@
568
1160
  "max": 10
569
1161
  }
570
1162
  ],
571
- "evaluatedAt": "2026-04-20T07:45:13.145Z",
1163
+ "evaluatedAt": "2026-04-30T23:05:10.477Z",
572
1164
  "evaluatedVersion": "1.1.0"
1165
+ },
1166
+ "evalSummaries": {
1167
+ "quality": {
1168
+ "providerId": "quality",
1169
+ "providerVersion": "1.0.0",
1170
+ "schemaVersion": 1,
1171
+ "passed": true,
1172
+ "overallScore": 64,
1173
+ "grade": "D",
1174
+ "categories": [
1175
+ {
1176
+ "id": "structure",
1177
+ "name": "Structure & completeness",
1178
+ "score": 8,
1179
+ "max": 10
1180
+ },
1181
+ {
1182
+ "id": "description",
1183
+ "name": "Description quality",
1184
+ "score": 3,
1185
+ "max": 10
1186
+ },
1187
+ {
1188
+ "id": "prompt-engineering",
1189
+ "name": "Prompt engineering",
1190
+ "score": 6,
1191
+ "max": 10
1192
+ },
1193
+ {
1194
+ "id": "context-efficiency",
1195
+ "name": "Context efficiency",
1196
+ "score": 9,
1197
+ "max": 10
1198
+ },
1199
+ {
1200
+ "id": "safety",
1201
+ "name": "Safety & guardrails",
1202
+ "score": 4,
1203
+ "max": 10
1204
+ },
1205
+ {
1206
+ "id": "testability",
1207
+ "name": "Testability",
1208
+ "score": 5,
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:10.477Z",
1219
+ "evaluatedVersion": "1.1.0"
1220
+ },
1221
+ "skill-best-practice": {
1222
+ "providerId": "skill-best-practice",
1223
+ "providerVersion": "1.1.0",
1224
+ "schemaVersion": 1,
1225
+ "passed": true,
1226
+ "overallScore": 79,
1227
+ "grade": "C",
1228
+ "categories": [
1229
+ {
1230
+ "id": "validation",
1231
+ "name": "Deterministic validation",
1232
+ "score": 11,
1233
+ "max": 14
1234
+ }
1235
+ ],
1236
+ "evaluatedAt": "2026-04-30T23:05:10.477Z",
1237
+ "evaluatedVersion": "1.1.0"
1238
+ }
1239
+ }
1240
+ },
1241
+ {
1242
+ "name": "competitor-profiling",
1243
+ "description": "When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions 'competitor profile,' 'competitor research,' 'competitor analysis,' 'profile this competitor,' 'analyze competitor,' 'competitive intelligence,' 'competitor deep dive,' 'who are my competitors,' 'competitor landscape,' 'competitor dossier,' 'competitive audit,' or 'research these competitors.' Input is a list of competitor URLs. Output is structured competitor profile markdown files. For creating comparison/alternative pages from profiles, see competitor-alternatives. For sales-specific battle cards, see sales-enablement.",
1244
+ "version": "1.0.0",
1245
+ "license": "",
1246
+ "creator": "",
1247
+ "compatibility": "",
1248
+ "allowedTools": [],
1249
+ "installUrl": "github:coreyhaines31/marketingskills:skills/competitor-profiling",
1250
+ "relPath": "skills/competitor-profiling",
1251
+ "verified": true,
1252
+ "tokenCount": 3723,
1253
+ "evalSummary": {
1254
+ "overallScore": 57,
1255
+ "grade": "D",
1256
+ "categories": [
1257
+ {
1258
+ "id": "structure",
1259
+ "name": "Structure & completeness",
1260
+ "score": 8,
1261
+ "max": 10
1262
+ },
1263
+ {
1264
+ "id": "description",
1265
+ "name": "Description quality",
1266
+ "score": 3,
1267
+ "max": 10
1268
+ },
1269
+ {
1270
+ "id": "prompt-engineering",
1271
+ "name": "Prompt engineering",
1272
+ "score": 8,
1273
+ "max": 10
1274
+ },
1275
+ {
1276
+ "id": "context-efficiency",
1277
+ "name": "Context efficiency",
1278
+ "score": 5,
1279
+ "max": 10
1280
+ },
1281
+ {
1282
+ "id": "safety",
1283
+ "name": "Safety & guardrails",
1284
+ "score": 5,
1285
+ "max": 10
1286
+ },
1287
+ {
1288
+ "id": "testability",
1289
+ "name": "Testability",
1290
+ "score": 1,
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:10.479Z",
1301
+ "evaluatedVersion": "1.0.0"
1302
+ },
1303
+ "evalSummaries": {
1304
+ "quality": {
1305
+ "providerId": "quality",
1306
+ "providerVersion": "1.0.0",
1307
+ "schemaVersion": 1,
1308
+ "passed": true,
1309
+ "overallScore": 57,
1310
+ "grade": "D",
1311
+ "categories": [
1312
+ {
1313
+ "id": "structure",
1314
+ "name": "Structure & completeness",
1315
+ "score": 8,
1316
+ "max": 10
1317
+ },
1318
+ {
1319
+ "id": "description",
1320
+ "name": "Description quality",
1321
+ "score": 3,
1322
+ "max": 10
1323
+ },
1324
+ {
1325
+ "id": "prompt-engineering",
1326
+ "name": "Prompt engineering",
1327
+ "score": 8,
1328
+ "max": 10
1329
+ },
1330
+ {
1331
+ "id": "context-efficiency",
1332
+ "name": "Context efficiency",
1333
+ "score": 5,
1334
+ "max": 10
1335
+ },
1336
+ {
1337
+ "id": "safety",
1338
+ "name": "Safety & guardrails",
1339
+ "score": 5,
1340
+ "max": 10
1341
+ },
1342
+ {
1343
+ "id": "testability",
1344
+ "name": "Testability",
1345
+ "score": 1,
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:10.479Z",
1356
+ "evaluatedVersion": "1.0.0"
1357
+ },
1358
+ "skill-best-practice": {
1359
+ "providerId": "skill-best-practice",
1360
+ "providerVersion": "1.1.0",
1361
+ "schemaVersion": 1,
1362
+ "passed": true,
1363
+ "overallScore": 79,
1364
+ "grade": "C",
1365
+ "categories": [
1366
+ {
1367
+ "id": "validation",
1368
+ "name": "Deterministic validation",
1369
+ "score": 11,
1370
+ "max": 14
1371
+ }
1372
+ ],
1373
+ "evaluatedAt": "2026-04-30T23:05:10.479Z",
1374
+ "evaluatedVersion": "1.0.0"
1375
+ }
573
1376
  }
574
1377
  },
575
1378
  {
@@ -631,8 +1434,82 @@
631
1434
  "max": 10
632
1435
  }
633
1436
  ],
634
- "evaluatedAt": "2026-04-20T07:45:13.146Z",
1437
+ "evaluatedAt": "2026-04-30T23:05:10.482Z",
635
1438
  "evaluatedVersion": "1.1.0"
1439
+ },
1440
+ "evalSummaries": {
1441
+ "quality": {
1442
+ "providerId": "quality",
1443
+ "providerVersion": "1.0.0",
1444
+ "schemaVersion": 1,
1445
+ "passed": true,
1446
+ "overallScore": 67,
1447
+ "grade": "C",
1448
+ "categories": [
1449
+ {
1450
+ "id": "structure",
1451
+ "name": "Structure & completeness",
1452
+ "score": 8,
1453
+ "max": 10
1454
+ },
1455
+ {
1456
+ "id": "description",
1457
+ "name": "Description quality",
1458
+ "score": 3,
1459
+ "max": 10
1460
+ },
1461
+ {
1462
+ "id": "prompt-engineering",
1463
+ "name": "Prompt engineering",
1464
+ "score": 10,
1465
+ "max": 10
1466
+ },
1467
+ {
1468
+ "id": "context-efficiency",
1469
+ "name": "Context efficiency",
1470
+ "score": 8,
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:10.482Z",
1493
+ "evaluatedVersion": "1.1.0"
1494
+ },
1495
+ "skill-best-practice": {
1496
+ "providerId": "skill-best-practice",
1497
+ "providerVersion": "1.1.0",
1498
+ "schemaVersion": 1,
1499
+ "passed": true,
1500
+ "overallScore": 79,
1501
+ "grade": "C",
1502
+ "categories": [
1503
+ {
1504
+ "id": "validation",
1505
+ "name": "Deterministic validation",
1506
+ "score": 11,
1507
+ "max": 14
1508
+ }
1509
+ ],
1510
+ "evaluatedAt": "2026-04-30T23:05:10.482Z",
1511
+ "evaluatedVersion": "1.1.0"
1512
+ }
636
1513
  }
637
1514
  },
638
1515
  {
@@ -694,8 +1571,82 @@
694
1571
  "max": 10
695
1572
  }
696
1573
  ],
697
- "evaluatedAt": "2026-04-20T07:45:13.148Z",
1574
+ "evaluatedAt": "2026-04-30T23:05:10.484Z",
698
1575
  "evaluatedVersion": "1.3.0"
1576
+ },
1577
+ "evalSummaries": {
1578
+ "quality": {
1579
+ "providerId": "quality",
1580
+ "providerVersion": "1.0.0",
1581
+ "schemaVersion": 1,
1582
+ "passed": true,
1583
+ "overallScore": 73,
1584
+ "grade": "C",
1585
+ "categories": [
1586
+ {
1587
+ "id": "structure",
1588
+ "name": "Structure & completeness",
1589
+ "score": 8,
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": 7,
1608
+ "max": 10
1609
+ },
1610
+ {
1611
+ "id": "safety",
1612
+ "name": "Safety & guardrails",
1613
+ "score": 10,
1614
+ "max": 10
1615
+ },
1616
+ {
1617
+ "id": "testability",
1618
+ "name": "Testability",
1619
+ "score": 5,
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:10.484Z",
1630
+ "evaluatedVersion": "1.3.0"
1631
+ },
1632
+ "skill-best-practice": {
1633
+ "providerId": "skill-best-practice",
1634
+ "providerVersion": "1.1.0",
1635
+ "schemaVersion": 1,
1636
+ "passed": true,
1637
+ "overallScore": 79,
1638
+ "grade": "C",
1639
+ "categories": [
1640
+ {
1641
+ "id": "validation",
1642
+ "name": "Deterministic validation",
1643
+ "score": 11,
1644
+ "max": 14
1645
+ }
1646
+ ],
1647
+ "evaluatedAt": "2026-04-30T23:05:10.484Z",
1648
+ "evaluatedVersion": "1.3.0"
1649
+ }
699
1650
  }
700
1651
  },
701
1652
  {
@@ -757,8 +1708,82 @@
757
1708
  "max": 10
758
1709
  }
759
1710
  ],
760
- "evaluatedAt": "2026-04-20T07:45:13.148Z",
1711
+ "evaluatedAt": "2026-04-30T23:05:10.486Z",
761
1712
  "evaluatedVersion": "1.1.0"
1713
+ },
1714
+ "evalSummaries": {
1715
+ "quality": {
1716
+ "providerId": "quality",
1717
+ "providerVersion": "1.0.0",
1718
+ "schemaVersion": 1,
1719
+ "passed": true,
1720
+ "overallScore": 57,
1721
+ "grade": "D",
1722
+ "categories": [
1723
+ {
1724
+ "id": "structure",
1725
+ "name": "Structure & completeness",
1726
+ "score": 8,
1727
+ "max": 10
1728
+ },
1729
+ {
1730
+ "id": "description",
1731
+ "name": "Description quality",
1732
+ "score": 3,
1733
+ "max": 10
1734
+ },
1735
+ {
1736
+ "id": "prompt-engineering",
1737
+ "name": "Prompt engineering",
1738
+ "score": 8,
1739
+ "max": 10
1740
+ },
1741
+ {
1742
+ "id": "context-efficiency",
1743
+ "name": "Context efficiency",
1744
+ "score": 9,
1745
+ "max": 10
1746
+ },
1747
+ {
1748
+ "id": "safety",
1749
+ "name": "Safety & guardrails",
1750
+ "score": 1,
1751
+ "max": 10
1752
+ },
1753
+ {
1754
+ "id": "testability",
1755
+ "name": "Testability",
1756
+ "score": 1,
1757
+ "max": 10
1758
+ },
1759
+ {
1760
+ "id": "naming",
1761
+ "name": "Naming & conventions",
1762
+ "score": 10,
1763
+ "max": 10
1764
+ }
1765
+ ],
1766
+ "evaluatedAt": "2026-04-30T23:05:10.487Z",
1767
+ "evaluatedVersion": "1.1.0"
1768
+ },
1769
+ "skill-best-practice": {
1770
+ "providerId": "skill-best-practice",
1771
+ "providerVersion": "1.1.0",
1772
+ "schemaVersion": 1,
1773
+ "passed": true,
1774
+ "overallScore": 79,
1775
+ "grade": "C",
1776
+ "categories": [
1777
+ {
1778
+ "id": "validation",
1779
+ "name": "Deterministic validation",
1780
+ "score": 11,
1781
+ "max": 14
1782
+ }
1783
+ ],
1784
+ "evaluatedAt": "2026-04-30T23:05:10.487Z",
1785
+ "evaluatedVersion": "1.1.0"
1786
+ }
762
1787
  }
763
1788
  },
764
1789
  {
@@ -820,8 +1845,219 @@
820
1845
  "max": 10
821
1846
  }
822
1847
  ],
823
- "evaluatedAt": "2026-04-20T07:45:13.149Z",
1848
+ "evaluatedAt": "2026-04-30T23:05:10.488Z",
824
1849
  "evaluatedVersion": "1.0.0"
1850
+ },
1851
+ "evalSummaries": {
1852
+ "quality": {
1853
+ "providerId": "quality",
1854
+ "providerVersion": "1.0.0",
1855
+ "schemaVersion": 1,
1856
+ "passed": true,
1857
+ "overallScore": 60,
1858
+ "grade": "D",
1859
+ "categories": [
1860
+ {
1861
+ "id": "structure",
1862
+ "name": "Structure & completeness",
1863
+ "score": 8,
1864
+ "max": 10
1865
+ },
1866
+ {
1867
+ "id": "description",
1868
+ "name": "Description quality",
1869
+ "score": 3,
1870
+ "max": 10
1871
+ },
1872
+ {
1873
+ "id": "prompt-engineering",
1874
+ "name": "Prompt engineering",
1875
+ "score": 6,
1876
+ "max": 10
1877
+ },
1878
+ {
1879
+ "id": "context-efficiency",
1880
+ "name": "Context efficiency",
1881
+ "score": 7,
1882
+ "max": 10
1883
+ },
1884
+ {
1885
+ "id": "safety",
1886
+ "name": "Safety & guardrails",
1887
+ "score": 7,
1888
+ "max": 10
1889
+ },
1890
+ {
1891
+ "id": "testability",
1892
+ "name": "Testability",
1893
+ "score": 1,
1894
+ "max": 10
1895
+ },
1896
+ {
1897
+ "id": "naming",
1898
+ "name": "Naming & conventions",
1899
+ "score": 10,
1900
+ "max": 10
1901
+ }
1902
+ ],
1903
+ "evaluatedAt": "2026-04-30T23:05:10.488Z",
1904
+ "evaluatedVersion": "1.0.0"
1905
+ },
1906
+ "skill-best-practice": {
1907
+ "providerId": "skill-best-practice",
1908
+ "providerVersion": "1.1.0",
1909
+ "schemaVersion": 1,
1910
+ "passed": true,
1911
+ "overallScore": 79,
1912
+ "grade": "C",
1913
+ "categories": [
1914
+ {
1915
+ "id": "validation",
1916
+ "name": "Deterministic validation",
1917
+ "score": 11,
1918
+ "max": 14
1919
+ }
1920
+ ],
1921
+ "evaluatedAt": "2026-04-30T23:05:10.488Z",
1922
+ "evaluatedVersion": "1.0.0"
1923
+ }
1924
+ }
1925
+ },
1926
+ {
1927
+ "name": "directory-submissions",
1928
+ "description": "When the user wants to submit their product to startup, SaaS, AI, agent, MCP, no-code, or review directories for backlinks, domain rating, and discovery. Also use when the user mentions \"directory submissions,\" \"submit to directories,\" \"backlinks from directories,\" \"list my product,\" \"submit to Product Hunt,\" \"BetaList,\" \"TAAFT,\" \"Futurepedia,\" \"G2 listing,\" \"Capterra listing,\" \"AlternativeTo,\" \"SaaSHub,\" \"AI directories,\" \"MCP registry,\" \"agent directory,\" \"dofollow backlinks,\" \"launch directories,\" or \"directory tracker.\" Use this whenever someone is planning the directory layer of a product launch or an ongoing backlink campaign. For the broader launch moment, see launch-strategy. For programmatic SEO pages that should live behind these backlinks, see programmatic-seo. For AI citation optimization, see ai-seo.",
1929
+ "version": "1.0.0",
1930
+ "license": "",
1931
+ "creator": "",
1932
+ "compatibility": "",
1933
+ "allowedTools": [],
1934
+ "installUrl": "github:coreyhaines31/marketingskills:skills/directory-submissions",
1935
+ "relPath": "skills/directory-submissions",
1936
+ "verified": true,
1937
+ "tokenCount": 6652,
1938
+ "evalSummary": {
1939
+ "overallScore": 61,
1940
+ "grade": "D",
1941
+ "categories": [
1942
+ {
1943
+ "id": "structure",
1944
+ "name": "Structure & completeness",
1945
+ "score": 8,
1946
+ "max": 10
1947
+ },
1948
+ {
1949
+ "id": "description",
1950
+ "name": "Description quality",
1951
+ "score": 3,
1952
+ "max": 10
1953
+ },
1954
+ {
1955
+ "id": "prompt-engineering",
1956
+ "name": "Prompt engineering",
1957
+ "score": 7,
1958
+ "max": 10
1959
+ },
1960
+ {
1961
+ "id": "context-efficiency",
1962
+ "name": "Context efficiency",
1963
+ "score": 5,
1964
+ "max": 10
1965
+ },
1966
+ {
1967
+ "id": "safety",
1968
+ "name": "Safety & guardrails",
1969
+ "score": 7,
1970
+ "max": 10
1971
+ },
1972
+ {
1973
+ "id": "testability",
1974
+ "name": "Testability",
1975
+ "score": 3,
1976
+ "max": 10
1977
+ },
1978
+ {
1979
+ "id": "naming",
1980
+ "name": "Naming & conventions",
1981
+ "score": 10,
1982
+ "max": 10
1983
+ }
1984
+ ],
1985
+ "evaluatedAt": "2026-04-30T23:05:10.491Z",
1986
+ "evaluatedVersion": "1.0.0"
1987
+ },
1988
+ "evalSummaries": {
1989
+ "quality": {
1990
+ "providerId": "quality",
1991
+ "providerVersion": "1.0.0",
1992
+ "schemaVersion": 1,
1993
+ "passed": true,
1994
+ "overallScore": 61,
1995
+ "grade": "D",
1996
+ "categories": [
1997
+ {
1998
+ "id": "structure",
1999
+ "name": "Structure & completeness",
2000
+ "score": 8,
2001
+ "max": 10
2002
+ },
2003
+ {
2004
+ "id": "description",
2005
+ "name": "Description quality",
2006
+ "score": 3,
2007
+ "max": 10
2008
+ },
2009
+ {
2010
+ "id": "prompt-engineering",
2011
+ "name": "Prompt engineering",
2012
+ "score": 7,
2013
+ "max": 10
2014
+ },
2015
+ {
2016
+ "id": "context-efficiency",
2017
+ "name": "Context efficiency",
2018
+ "score": 5,
2019
+ "max": 10
2020
+ },
2021
+ {
2022
+ "id": "safety",
2023
+ "name": "Safety & guardrails",
2024
+ "score": 7,
2025
+ "max": 10
2026
+ },
2027
+ {
2028
+ "id": "testability",
2029
+ "name": "Testability",
2030
+ "score": 3,
2031
+ "max": 10
2032
+ },
2033
+ {
2034
+ "id": "naming",
2035
+ "name": "Naming & conventions",
2036
+ "score": 10,
2037
+ "max": 10
2038
+ }
2039
+ ],
2040
+ "evaluatedAt": "2026-04-30T23:05:10.492Z",
2041
+ "evaluatedVersion": "1.0.0"
2042
+ },
2043
+ "skill-best-practice": {
2044
+ "providerId": "skill-best-practice",
2045
+ "providerVersion": "1.1.0",
2046
+ "schemaVersion": 1,
2047
+ "passed": true,
2048
+ "overallScore": 79,
2049
+ "grade": "C",
2050
+ "categories": [
2051
+ {
2052
+ "id": "validation",
2053
+ "name": "Deterministic validation",
2054
+ "score": 11,
2055
+ "max": 14
2056
+ }
2057
+ ],
2058
+ "evaluatedAt": "2026-04-30T23:05:10.492Z",
2059
+ "evaluatedVersion": "1.0.0"
2060
+ }
825
2061
  }
826
2062
  },
827
2063
  {
@@ -883,8 +2119,82 @@
883
2119
  "max": 10
884
2120
  }
885
2121
  ],
886
- "evaluatedAt": "2026-04-20T07:45:13.150Z",
2122
+ "evaluatedAt": "2026-04-30T23:05:10.494Z",
887
2123
  "evaluatedVersion": "1.1.0"
2124
+ },
2125
+ "evalSummaries": {
2126
+ "quality": {
2127
+ "providerId": "quality",
2128
+ "providerVersion": "1.0.0",
2129
+ "schemaVersion": 1,
2130
+ "passed": true,
2131
+ "overallScore": 70,
2132
+ "grade": "C",
2133
+ "categories": [
2134
+ {
2135
+ "id": "structure",
2136
+ "name": "Structure & completeness",
2137
+ "score": 8,
2138
+ "max": 10
2139
+ },
2140
+ {
2141
+ "id": "description",
2142
+ "name": "Description quality",
2143
+ "score": 3,
2144
+ "max": 10
2145
+ },
2146
+ {
2147
+ "id": "prompt-engineering",
2148
+ "name": "Prompt engineering",
2149
+ "score": 9,
2150
+ "max": 10
2151
+ },
2152
+ {
2153
+ "id": "context-efficiency",
2154
+ "name": "Context efficiency",
2155
+ "score": 9,
2156
+ "max": 10
2157
+ },
2158
+ {
2159
+ "id": "safety",
2160
+ "name": "Safety & guardrails",
2161
+ "score": 7,
2162
+ "max": 10
2163
+ },
2164
+ {
2165
+ "id": "testability",
2166
+ "name": "Testability",
2167
+ "score": 3,
2168
+ "max": 10
2169
+ },
2170
+ {
2171
+ "id": "naming",
2172
+ "name": "Naming & conventions",
2173
+ "score": 10,
2174
+ "max": 10
2175
+ }
2176
+ ],
2177
+ "evaluatedAt": "2026-04-30T23:05:10.494Z",
2178
+ "evaluatedVersion": "1.1.0"
2179
+ },
2180
+ "skill-best-practice": {
2181
+ "providerId": "skill-best-practice",
2182
+ "providerVersion": "1.1.0",
2183
+ "schemaVersion": 1,
2184
+ "passed": true,
2185
+ "overallScore": 79,
2186
+ "grade": "C",
2187
+ "categories": [
2188
+ {
2189
+ "id": "validation",
2190
+ "name": "Deterministic validation",
2191
+ "score": 11,
2192
+ "max": 14
2193
+ }
2194
+ ],
2195
+ "evaluatedAt": "2026-04-30T23:05:10.494Z",
2196
+ "evaluatedVersion": "1.1.0"
2197
+ }
888
2198
  }
889
2199
  },
890
2200
  {
@@ -946,8 +2256,82 @@
946
2256
  "max": 10
947
2257
  }
948
2258
  ],
949
- "evaluatedAt": "2026-04-20T07:45:13.151Z",
2259
+ "evaluatedAt": "2026-04-30T23:05:10.496Z",
950
2260
  "evaluatedVersion": "1.1.0"
2261
+ },
2262
+ "evalSummaries": {
2263
+ "quality": {
2264
+ "providerId": "quality",
2265
+ "providerVersion": "1.0.0",
2266
+ "schemaVersion": 1,
2267
+ "passed": true,
2268
+ "overallScore": 71,
2269
+ "grade": "C",
2270
+ "categories": [
2271
+ {
2272
+ "id": "structure",
2273
+ "name": "Structure & completeness",
2274
+ "score": 8,
2275
+ "max": 10
2276
+ },
2277
+ {
2278
+ "id": "description",
2279
+ "name": "Description quality",
2280
+ "score": 3,
2281
+ "max": 10
2282
+ },
2283
+ {
2284
+ "id": "prompt-engineering",
2285
+ "name": "Prompt engineering",
2286
+ "score": 9,
2287
+ "max": 10
2288
+ },
2289
+ {
2290
+ "id": "context-efficiency",
2291
+ "name": "Context efficiency",
2292
+ "score": 7,
2293
+ "max": 10
2294
+ },
2295
+ {
2296
+ "id": "safety",
2297
+ "name": "Safety & guardrails",
2298
+ "score": 7,
2299
+ "max": 10
2300
+ },
2301
+ {
2302
+ "id": "testability",
2303
+ "name": "Testability",
2304
+ "score": 6,
2305
+ "max": 10
2306
+ },
2307
+ {
2308
+ "id": "naming",
2309
+ "name": "Naming & conventions",
2310
+ "score": 10,
2311
+ "max": 10
2312
+ }
2313
+ ],
2314
+ "evaluatedAt": "2026-04-30T23:05:10.496Z",
2315
+ "evaluatedVersion": "1.1.0"
2316
+ },
2317
+ "skill-best-practice": {
2318
+ "providerId": "skill-best-practice",
2319
+ "providerVersion": "1.1.0",
2320
+ "schemaVersion": 1,
2321
+ "passed": true,
2322
+ "overallScore": 79,
2323
+ "grade": "C",
2324
+ "categories": [
2325
+ {
2326
+ "id": "validation",
2327
+ "name": "Deterministic validation",
2328
+ "score": 11,
2329
+ "max": 14
2330
+ }
2331
+ ],
2332
+ "evaluatedAt": "2026-04-30T23:05:10.496Z",
2333
+ "evaluatedVersion": "1.1.0"
2334
+ }
951
2335
  }
952
2336
  },
953
2337
  {
@@ -1009,8 +2393,219 @@
1009
2393
  "max": 10
1010
2394
  }
1011
2395
  ],
1012
- "evaluatedAt": "2026-04-20T07:45:13.152Z",
2396
+ "evaluatedAt": "2026-04-30T23:05:10.498Z",
1013
2397
  "evaluatedVersion": "1.1.0"
2398
+ },
2399
+ "evalSummaries": {
2400
+ "quality": {
2401
+ "providerId": "quality",
2402
+ "providerVersion": "1.0.0",
2403
+ "schemaVersion": 1,
2404
+ "passed": true,
2405
+ "overallScore": 67,
2406
+ "grade": "C",
2407
+ "categories": [
2408
+ {
2409
+ "id": "structure",
2410
+ "name": "Structure & completeness",
2411
+ "score": 8,
2412
+ "max": 10
2413
+ },
2414
+ {
2415
+ "id": "description",
2416
+ "name": "Description quality",
2417
+ "score": 3,
2418
+ "max": 10
2419
+ },
2420
+ {
2421
+ "id": "prompt-engineering",
2422
+ "name": "Prompt engineering",
2423
+ "score": 5,
2424
+ "max": 10
2425
+ },
2426
+ {
2427
+ "id": "context-efficiency",
2428
+ "name": "Context efficiency",
2429
+ "score": 10,
2430
+ "max": 10
2431
+ },
2432
+ {
2433
+ "id": "safety",
2434
+ "name": "Safety & guardrails",
2435
+ "score": 4,
2436
+ "max": 10
2437
+ },
2438
+ {
2439
+ "id": "testability",
2440
+ "name": "Testability",
2441
+ "score": 7,
2442
+ "max": 10
2443
+ },
2444
+ {
2445
+ "id": "naming",
2446
+ "name": "Naming & conventions",
2447
+ "score": 10,
2448
+ "max": 10
2449
+ }
2450
+ ],
2451
+ "evaluatedAt": "2026-04-30T23:05:10.498Z",
2452
+ "evaluatedVersion": "1.1.0"
2453
+ },
2454
+ "skill-best-practice": {
2455
+ "providerId": "skill-best-practice",
2456
+ "providerVersion": "1.1.0",
2457
+ "schemaVersion": 1,
2458
+ "passed": true,
2459
+ "overallScore": 79,
2460
+ "grade": "C",
2461
+ "categories": [
2462
+ {
2463
+ "id": "validation",
2464
+ "name": "Deterministic validation",
2465
+ "score": 11,
2466
+ "max": 14
2467
+ }
2468
+ ],
2469
+ "evaluatedAt": "2026-04-30T23:05:10.498Z",
2470
+ "evaluatedVersion": "1.1.0"
2471
+ }
2472
+ }
2473
+ },
2474
+ {
2475
+ "name": "image",
2476
+ "description": "When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot,' 'Flux,' 'Midjourney,' 'DALL-E,' 'GPT Image,' 'Ideogram,' 'Gemini image,' 'Canva,' 'Figma,' 'image optimization,' 'compress images,' 'WebP,' or 'OG image.' Use this for general-purpose marketing image creation and optimization. For paid ad image creative and platform-specific ad specs, see ad-creative. For video production, see video.",
2477
+ "version": "1.0.0",
2478
+ "license": "",
2479
+ "creator": "",
2480
+ "compatibility": "",
2481
+ "allowedTools": [],
2482
+ "installUrl": "github:coreyhaines31/marketingskills:skills/image",
2483
+ "relPath": "skills/image",
2484
+ "verified": true,
2485
+ "tokenCount": 4239,
2486
+ "evalSummary": {
2487
+ "overallScore": 69,
2488
+ "grade": "C",
2489
+ "categories": [
2490
+ {
2491
+ "id": "structure",
2492
+ "name": "Structure & completeness",
2493
+ "score": 8,
2494
+ "max": 10
2495
+ },
2496
+ {
2497
+ "id": "description",
2498
+ "name": "Description quality",
2499
+ "score": 3,
2500
+ "max": 10
2501
+ },
2502
+ {
2503
+ "id": "prompt-engineering",
2504
+ "name": "Prompt engineering",
2505
+ "score": 9,
2506
+ "max": 10
2507
+ },
2508
+ {
2509
+ "id": "context-efficiency",
2510
+ "name": "Context efficiency",
2511
+ "score": 8,
2512
+ "max": 10
2513
+ },
2514
+ {
2515
+ "id": "safety",
2516
+ "name": "Safety & guardrails",
2517
+ "score": 7,
2518
+ "max": 10
2519
+ },
2520
+ {
2521
+ "id": "testability",
2522
+ "name": "Testability",
2523
+ "score": 3,
2524
+ "max": 10
2525
+ },
2526
+ {
2527
+ "id": "naming",
2528
+ "name": "Naming & conventions",
2529
+ "score": 10,
2530
+ "max": 10
2531
+ }
2532
+ ],
2533
+ "evaluatedAt": "2026-04-30T23:05:10.500Z",
2534
+ "evaluatedVersion": "1.0.0"
2535
+ },
2536
+ "evalSummaries": {
2537
+ "quality": {
2538
+ "providerId": "quality",
2539
+ "providerVersion": "1.0.0",
2540
+ "schemaVersion": 1,
2541
+ "passed": true,
2542
+ "overallScore": 69,
2543
+ "grade": "C",
2544
+ "categories": [
2545
+ {
2546
+ "id": "structure",
2547
+ "name": "Structure & completeness",
2548
+ "score": 8,
2549
+ "max": 10
2550
+ },
2551
+ {
2552
+ "id": "description",
2553
+ "name": "Description quality",
2554
+ "score": 3,
2555
+ "max": 10
2556
+ },
2557
+ {
2558
+ "id": "prompt-engineering",
2559
+ "name": "Prompt engineering",
2560
+ "score": 9,
2561
+ "max": 10
2562
+ },
2563
+ {
2564
+ "id": "context-efficiency",
2565
+ "name": "Context efficiency",
2566
+ "score": 8,
2567
+ "max": 10
2568
+ },
2569
+ {
2570
+ "id": "safety",
2571
+ "name": "Safety & guardrails",
2572
+ "score": 7,
2573
+ "max": 10
2574
+ },
2575
+ {
2576
+ "id": "testability",
2577
+ "name": "Testability",
2578
+ "score": 3,
2579
+ "max": 10
2580
+ },
2581
+ {
2582
+ "id": "naming",
2583
+ "name": "Naming & conventions",
2584
+ "score": 10,
2585
+ "max": 10
2586
+ }
2587
+ ],
2588
+ "evaluatedAt": "2026-04-30T23:05:10.500Z",
2589
+ "evaluatedVersion": "1.0.0"
2590
+ },
2591
+ "skill-best-practice": {
2592
+ "providerId": "skill-best-practice",
2593
+ "providerVersion": "1.1.0",
2594
+ "schemaVersion": 1,
2595
+ "passed": true,
2596
+ "overallScore": 79,
2597
+ "grade": "C",
2598
+ "categories": [
2599
+ {
2600
+ "id": "validation",
2601
+ "name": "Deterministic validation",
2602
+ "score": 11,
2603
+ "max": 14
2604
+ }
2605
+ ],
2606
+ "evaluatedAt": "2026-04-30T23:05:10.500Z",
2607
+ "evaluatedVersion": "1.0.0"
2608
+ }
1014
2609
  }
1015
2610
  },
1016
2611
  {
@@ -1072,8 +2667,82 @@
1072
2667
  "max": 10
1073
2668
  }
1074
2669
  ],
1075
- "evaluatedAt": "2026-04-20T07:45:13.153Z",
2670
+ "evaluatedAt": "2026-04-30T23:05:10.502Z",
1076
2671
  "evaluatedVersion": "1.1.0"
2672
+ },
2673
+ "evalSummaries": {
2674
+ "quality": {
2675
+ "providerId": "quality",
2676
+ "providerVersion": "1.0.0",
2677
+ "schemaVersion": 1,
2678
+ "passed": true,
2679
+ "overallScore": 67,
2680
+ "grade": "C",
2681
+ "categories": [
2682
+ {
2683
+ "id": "structure",
2684
+ "name": "Structure & completeness",
2685
+ "score": 8,
2686
+ "max": 10
2687
+ },
2688
+ {
2689
+ "id": "description",
2690
+ "name": "Description quality",
2691
+ "score": 3,
2692
+ "max": 10
2693
+ },
2694
+ {
2695
+ "id": "prompt-engineering",
2696
+ "name": "Prompt engineering",
2697
+ "score": 7,
2698
+ "max": 10
2699
+ },
2700
+ {
2701
+ "id": "context-efficiency",
2702
+ "name": "Context efficiency",
2703
+ "score": 7,
2704
+ "max": 10
2705
+ },
2706
+ {
2707
+ "id": "safety",
2708
+ "name": "Safety & guardrails",
2709
+ "score": 9,
2710
+ "max": 10
2711
+ },
2712
+ {
2713
+ "id": "testability",
2714
+ "name": "Testability",
2715
+ "score": 3,
2716
+ "max": 10
2717
+ },
2718
+ {
2719
+ "id": "naming",
2720
+ "name": "Naming & conventions",
2721
+ "score": 10,
2722
+ "max": 10
2723
+ }
2724
+ ],
2725
+ "evaluatedAt": "2026-04-30T23:05:10.503Z",
2726
+ "evaluatedVersion": "1.1.0"
2727
+ },
2728
+ "skill-best-practice": {
2729
+ "providerId": "skill-best-practice",
2730
+ "providerVersion": "1.1.0",
2731
+ "schemaVersion": 1,
2732
+ "passed": true,
2733
+ "overallScore": 79,
2734
+ "grade": "C",
2735
+ "categories": [
2736
+ {
2737
+ "id": "validation",
2738
+ "name": "Deterministic validation",
2739
+ "score": 11,
2740
+ "max": 14
2741
+ }
2742
+ ],
2743
+ "evaluatedAt": "2026-04-30T23:05:10.503Z",
2744
+ "evaluatedVersion": "1.1.0"
2745
+ }
1077
2746
  }
1078
2747
  },
1079
2748
  {
@@ -1135,8 +2804,82 @@
1135
2804
  "max": 10
1136
2805
  }
1137
2806
  ],
1138
- "evaluatedAt": "2026-04-20T07:45:13.154Z",
2807
+ "evaluatedAt": "2026-04-30T23:05:10.505Z",
1139
2808
  "evaluatedVersion": "1.0.0"
2809
+ },
2810
+ "evalSummaries": {
2811
+ "quality": {
2812
+ "providerId": "quality",
2813
+ "providerVersion": "1.0.0",
2814
+ "schemaVersion": 1,
2815
+ "passed": true,
2816
+ "overallScore": 70,
2817
+ "grade": "C",
2818
+ "categories": [
2819
+ {
2820
+ "id": "structure",
2821
+ "name": "Structure & completeness",
2822
+ "score": 8,
2823
+ "max": 10
2824
+ },
2825
+ {
2826
+ "id": "description",
2827
+ "name": "Description quality",
2828
+ "score": 3,
2829
+ "max": 10
2830
+ },
2831
+ {
2832
+ "id": "prompt-engineering",
2833
+ "name": "Prompt engineering",
2834
+ "score": 9,
2835
+ "max": 10
2836
+ },
2837
+ {
2838
+ "id": "context-efficiency",
2839
+ "name": "Context efficiency",
2840
+ "score": 8,
2841
+ "max": 10
2842
+ },
2843
+ {
2844
+ "id": "safety",
2845
+ "name": "Safety & guardrails",
2846
+ "score": 8,
2847
+ "max": 10
2848
+ },
2849
+ {
2850
+ "id": "testability",
2851
+ "name": "Testability",
2852
+ "score": 3,
2853
+ "max": 10
2854
+ },
2855
+ {
2856
+ "id": "naming",
2857
+ "name": "Naming & conventions",
2858
+ "score": 10,
2859
+ "max": 10
2860
+ }
2861
+ ],
2862
+ "evaluatedAt": "2026-04-30T23:05:10.505Z",
2863
+ "evaluatedVersion": "1.0.0"
2864
+ },
2865
+ "skill-best-practice": {
2866
+ "providerId": "skill-best-practice",
2867
+ "providerVersion": "1.1.0",
2868
+ "schemaVersion": 1,
2869
+ "passed": true,
2870
+ "overallScore": 79,
2871
+ "grade": "C",
2872
+ "categories": [
2873
+ {
2874
+ "id": "validation",
2875
+ "name": "Deterministic validation",
2876
+ "score": 11,
2877
+ "max": 14
2878
+ }
2879
+ ],
2880
+ "evaluatedAt": "2026-04-30T23:05:10.505Z",
2881
+ "evaluatedVersion": "1.0.0"
2882
+ }
1140
2883
  }
1141
2884
  },
1142
2885
  {
@@ -1198,8 +2941,82 @@
1198
2941
  "max": 10
1199
2942
  }
1200
2943
  ],
1201
- "evaluatedAt": "2026-04-20T07:45:13.154Z",
2944
+ "evaluatedAt": "2026-04-30T23:05:10.507Z",
1202
2945
  "evaluatedVersion": "1.1.0"
2946
+ },
2947
+ "evalSummaries": {
2948
+ "quality": {
2949
+ "providerId": "quality",
2950
+ "providerVersion": "1.0.0",
2951
+ "schemaVersion": 1,
2952
+ "passed": true,
2953
+ "overallScore": 60,
2954
+ "grade": "D",
2955
+ "categories": [
2956
+ {
2957
+ "id": "structure",
2958
+ "name": "Structure & completeness",
2959
+ "score": 8,
2960
+ "max": 10
2961
+ },
2962
+ {
2963
+ "id": "description",
2964
+ "name": "Description quality",
2965
+ "score": 3,
2966
+ "max": 10
2967
+ },
2968
+ {
2969
+ "id": "prompt-engineering",
2970
+ "name": "Prompt engineering",
2971
+ "score": 5,
2972
+ "max": 10
2973
+ },
2974
+ {
2975
+ "id": "context-efficiency",
2976
+ "name": "Context efficiency",
2977
+ "score": 10,
2978
+ "max": 10
2979
+ },
2980
+ {
2981
+ "id": "safety",
2982
+ "name": "Safety & guardrails",
2983
+ "score": 6,
2984
+ "max": 10
2985
+ },
2986
+ {
2987
+ "id": "testability",
2988
+ "name": "Testability",
2989
+ "score": 0,
2990
+ "max": 10
2991
+ },
2992
+ {
2993
+ "id": "naming",
2994
+ "name": "Naming & conventions",
2995
+ "score": 10,
2996
+ "max": 10
2997
+ }
2998
+ ],
2999
+ "evaluatedAt": "2026-04-30T23:05:10.507Z",
3000
+ "evaluatedVersion": "1.1.0"
3001
+ },
3002
+ "skill-best-practice": {
3003
+ "providerId": "skill-best-practice",
3004
+ "providerVersion": "1.1.0",
3005
+ "schemaVersion": 1,
3006
+ "passed": true,
3007
+ "overallScore": 79,
3008
+ "grade": "C",
3009
+ "categories": [
3010
+ {
3011
+ "id": "validation",
3012
+ "name": "Deterministic validation",
3013
+ "score": 11,
3014
+ "max": 14
3015
+ }
3016
+ ],
3017
+ "evaluatedAt": "2026-04-30T23:05:10.507Z",
3018
+ "evaluatedVersion": "1.1.0"
3019
+ }
1203
3020
  }
1204
3021
  },
1205
3022
  {
@@ -1261,8 +3078,82 @@
1261
3078
  "max": 10
1262
3079
  }
1263
3080
  ],
1264
- "evaluatedAt": "2026-04-20T07:45:13.156Z",
3081
+ "evaluatedAt": "2026-04-30T23:05:10.509Z",
1265
3082
  "evaluatedVersion": "1.1.0"
3083
+ },
3084
+ "evalSummaries": {
3085
+ "quality": {
3086
+ "providerId": "quality",
3087
+ "providerVersion": "1.0.0",
3088
+ "schemaVersion": 1,
3089
+ "passed": true,
3090
+ "overallScore": 69,
3091
+ "grade": "C",
3092
+ "categories": [
3093
+ {
3094
+ "id": "structure",
3095
+ "name": "Structure & completeness",
3096
+ "score": 8,
3097
+ "max": 10
3098
+ },
3099
+ {
3100
+ "id": "description",
3101
+ "name": "Description quality",
3102
+ "score": 3,
3103
+ "max": 10
3104
+ },
3105
+ {
3106
+ "id": "prompt-engineering",
3107
+ "name": "Prompt engineering",
3108
+ "score": 7,
3109
+ "max": 10
3110
+ },
3111
+ {
3112
+ "id": "context-efficiency",
3113
+ "name": "Context efficiency",
3114
+ "score": 8,
3115
+ "max": 10
3116
+ },
3117
+ {
3118
+ "id": "safety",
3119
+ "name": "Safety & guardrails",
3120
+ "score": 9,
3121
+ "max": 10
3122
+ },
3123
+ {
3124
+ "id": "testability",
3125
+ "name": "Testability",
3126
+ "score": 3,
3127
+ "max": 10
3128
+ },
3129
+ {
3130
+ "id": "naming",
3131
+ "name": "Naming & conventions",
3132
+ "score": 10,
3133
+ "max": 10
3134
+ }
3135
+ ],
3136
+ "evaluatedAt": "2026-04-30T23:05:10.509Z",
3137
+ "evaluatedVersion": "1.1.0"
3138
+ },
3139
+ "skill-best-practice": {
3140
+ "providerId": "skill-best-practice",
3141
+ "providerVersion": "1.1.0",
3142
+ "schemaVersion": 1,
3143
+ "passed": true,
3144
+ "overallScore": 79,
3145
+ "grade": "C",
3146
+ "categories": [
3147
+ {
3148
+ "id": "validation",
3149
+ "name": "Deterministic validation",
3150
+ "score": 11,
3151
+ "max": 14
3152
+ }
3153
+ ],
3154
+ "evaluatedAt": "2026-04-30T23:05:10.509Z",
3155
+ "evaluatedVersion": "1.1.0"
3156
+ }
1266
3157
  }
1267
3158
  },
1268
3159
  {
@@ -1324,8 +3215,82 @@
1324
3215
  "max": 10
1325
3216
  }
1326
3217
  ],
1327
- "evaluatedAt": "2026-04-20T07:45:13.156Z",
3218
+ "evaluatedAt": "2026-04-30T23:05:10.512Z",
1328
3219
  "evaluatedVersion": "1.1.0"
3220
+ },
3221
+ "evalSummaries": {
3222
+ "quality": {
3223
+ "providerId": "quality",
3224
+ "providerVersion": "1.0.0",
3225
+ "schemaVersion": 1,
3226
+ "passed": true,
3227
+ "overallScore": 66,
3228
+ "grade": "C",
3229
+ "categories": [
3230
+ {
3231
+ "id": "structure",
3232
+ "name": "Structure & completeness",
3233
+ "score": 8,
3234
+ "max": 10
3235
+ },
3236
+ {
3237
+ "id": "description",
3238
+ "name": "Description quality",
3239
+ "score": 3,
3240
+ "max": 10
3241
+ },
3242
+ {
3243
+ "id": "prompt-engineering",
3244
+ "name": "Prompt engineering",
3245
+ "score": 9,
3246
+ "max": 10
3247
+ },
3248
+ {
3249
+ "id": "context-efficiency",
3250
+ "name": "Context efficiency",
3251
+ "score": 9,
3252
+ "max": 10
3253
+ },
3254
+ {
3255
+ "id": "safety",
3256
+ "name": "Safety & guardrails",
3257
+ "score": 4,
3258
+ "max": 10
3259
+ },
3260
+ {
3261
+ "id": "testability",
3262
+ "name": "Testability",
3263
+ "score": 3,
3264
+ "max": 10
3265
+ },
3266
+ {
3267
+ "id": "naming",
3268
+ "name": "Naming & conventions",
3269
+ "score": 10,
3270
+ "max": 10
3271
+ }
3272
+ ],
3273
+ "evaluatedAt": "2026-04-30T23:05:10.512Z",
3274
+ "evaluatedVersion": "1.1.0"
3275
+ },
3276
+ "skill-best-practice": {
3277
+ "providerId": "skill-best-practice",
3278
+ "providerVersion": "1.1.0",
3279
+ "schemaVersion": 1,
3280
+ "passed": true,
3281
+ "overallScore": 79,
3282
+ "grade": "C",
3283
+ "categories": [
3284
+ {
3285
+ "id": "validation",
3286
+ "name": "Deterministic validation",
3287
+ "score": 11,
3288
+ "max": 14
3289
+ }
3290
+ ],
3291
+ "evaluatedAt": "2026-04-30T23:05:10.512Z",
3292
+ "evaluatedVersion": "1.1.0"
3293
+ }
1329
3294
  }
1330
3295
  },
1331
3296
  {
@@ -1387,14 +3352,88 @@
1387
3352
  "max": 10
1388
3353
  }
1389
3354
  ],
1390
- "evaluatedAt": "2026-04-20T07:45:13.157Z",
3355
+ "evaluatedAt": "2026-04-30T23:05:10.513Z",
1391
3356
  "evaluatedVersion": "1.1.0"
3357
+ },
3358
+ "evalSummaries": {
3359
+ "quality": {
3360
+ "providerId": "quality",
3361
+ "providerVersion": "1.0.0",
3362
+ "schemaVersion": 1,
3363
+ "passed": true,
3364
+ "overallScore": 61,
3365
+ "grade": "D",
3366
+ "categories": [
3367
+ {
3368
+ "id": "structure",
3369
+ "name": "Structure & completeness",
3370
+ "score": 8,
3371
+ "max": 10
3372
+ },
3373
+ {
3374
+ "id": "description",
3375
+ "name": "Description quality",
3376
+ "score": 3,
3377
+ "max": 10
3378
+ },
3379
+ {
3380
+ "id": "prompt-engineering",
3381
+ "name": "Prompt engineering",
3382
+ "score": 6,
3383
+ "max": 10
3384
+ },
3385
+ {
3386
+ "id": "context-efficiency",
3387
+ "name": "Context efficiency",
3388
+ "score": 9,
3389
+ "max": 10
3390
+ },
3391
+ {
3392
+ "id": "safety",
3393
+ "name": "Safety & guardrails",
3394
+ "score": 4,
3395
+ "max": 10
3396
+ },
3397
+ {
3398
+ "id": "testability",
3399
+ "name": "Testability",
3400
+ "score": 3,
3401
+ "max": 10
3402
+ },
3403
+ {
3404
+ "id": "naming",
3405
+ "name": "Naming & conventions",
3406
+ "score": 10,
3407
+ "max": 10
3408
+ }
3409
+ ],
3410
+ "evaluatedAt": "2026-04-30T23:05:10.513Z",
3411
+ "evaluatedVersion": "1.1.0"
3412
+ },
3413
+ "skill-best-practice": {
3414
+ "providerId": "skill-best-practice",
3415
+ "providerVersion": "1.1.0",
3416
+ "schemaVersion": 1,
3417
+ "passed": true,
3418
+ "overallScore": 79,
3419
+ "grade": "C",
3420
+ "categories": [
3421
+ {
3422
+ "id": "validation",
3423
+ "name": "Deterministic validation",
3424
+ "score": 11,
3425
+ "max": 14
3426
+ }
3427
+ ],
3428
+ "evaluatedAt": "2026-04-30T23:05:10.513Z",
3429
+ "evaluatedVersion": "1.1.0"
3430
+ }
1392
3431
  }
1393
3432
  },
1394
3433
  {
1395
3434
  "name": "paid-ads",
1396
3435
  "description": "When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' 'audience targeting,' 'Google Ads,' 'Facebook ads,' 'LinkedIn ads,' 'ad budget,' 'cost per click,' 'ad spend,' or 'should I run ads.' Use this for campaign strategy, audience targeting, bidding, and optimization. For bulk ad creative generation and iteration, see ad-creative. For landing page optimization, see page-cro.",
1397
- "version": "1.1.0",
3436
+ "version": "1.2.0",
1398
3437
  "license": "",
1399
3438
  "creator": "",
1400
3439
  "compatibility": "",
@@ -1402,7 +3441,7 @@
1402
3441
  "installUrl": "github:coreyhaines31/marketingskills:skills/paid-ads",
1403
3442
  "relPath": "skills/paid-ads",
1404
3443
  "verified": true,
1405
- "tokenCount": 2743,
3444
+ "tokenCount": 2762,
1406
3445
  "evalSummary": {
1407
3446
  "overallScore": 63,
1408
3447
  "grade": "D",
@@ -1450,8 +3489,82 @@
1450
3489
  "max": 10
1451
3490
  }
1452
3491
  ],
1453
- "evaluatedAt": "2026-04-20T07:45:13.158Z",
1454
- "evaluatedVersion": "1.1.0"
3492
+ "evaluatedAt": "2026-04-30T23:05:10.515Z",
3493
+ "evaluatedVersion": "1.2.0"
3494
+ },
3495
+ "evalSummaries": {
3496
+ "quality": {
3497
+ "providerId": "quality",
3498
+ "providerVersion": "1.0.0",
3499
+ "schemaVersion": 1,
3500
+ "passed": true,
3501
+ "overallScore": 63,
3502
+ "grade": "D",
3503
+ "categories": [
3504
+ {
3505
+ "id": "structure",
3506
+ "name": "Structure & completeness",
3507
+ "score": 8,
3508
+ "max": 10
3509
+ },
3510
+ {
3511
+ "id": "description",
3512
+ "name": "Description quality",
3513
+ "score": 3,
3514
+ "max": 10
3515
+ },
3516
+ {
3517
+ "id": "prompt-engineering",
3518
+ "name": "Prompt engineering",
3519
+ "score": 7,
3520
+ "max": 10
3521
+ },
3522
+ {
3523
+ "id": "context-efficiency",
3524
+ "name": "Context efficiency",
3525
+ "score": 10,
3526
+ "max": 10
3527
+ },
3528
+ {
3529
+ "id": "safety",
3530
+ "name": "Safety & guardrails",
3531
+ "score": 3,
3532
+ "max": 10
3533
+ },
3534
+ {
3535
+ "id": "testability",
3536
+ "name": "Testability",
3537
+ "score": 3,
3538
+ "max": 10
3539
+ },
3540
+ {
3541
+ "id": "naming",
3542
+ "name": "Naming & conventions",
3543
+ "score": 10,
3544
+ "max": 10
3545
+ }
3546
+ ],
3547
+ "evaluatedAt": "2026-04-30T23:05:10.515Z",
3548
+ "evaluatedVersion": "1.2.0"
3549
+ },
3550
+ "skill-best-practice": {
3551
+ "providerId": "skill-best-practice",
3552
+ "providerVersion": "1.1.0",
3553
+ "schemaVersion": 1,
3554
+ "passed": true,
3555
+ "overallScore": 79,
3556
+ "grade": "C",
3557
+ "categories": [
3558
+ {
3559
+ "id": "validation",
3560
+ "name": "Deterministic validation",
3561
+ "score": 11,
3562
+ "max": 14
3563
+ }
3564
+ ],
3565
+ "evaluatedAt": "2026-04-30T23:05:10.515Z",
3566
+ "evaluatedVersion": "1.2.0"
3567
+ }
1455
3568
  }
1456
3569
  },
1457
3570
  {
@@ -1513,8 +3626,82 @@
1513
3626
  "max": 10
1514
3627
  }
1515
3628
  ],
1516
- "evaluatedAt": "2026-04-20T07:45:13.159Z",
3629
+ "evaluatedAt": "2026-04-30T23:05:10.517Z",
1517
3630
  "evaluatedVersion": "1.1.0"
3631
+ },
3632
+ "evalSummaries": {
3633
+ "quality": {
3634
+ "providerId": "quality",
3635
+ "providerVersion": "1.0.0",
3636
+ "schemaVersion": 1,
3637
+ "passed": true,
3638
+ "overallScore": 61,
3639
+ "grade": "D",
3640
+ "categories": [
3641
+ {
3642
+ "id": "structure",
3643
+ "name": "Structure & completeness",
3644
+ "score": 8,
3645
+ "max": 10
3646
+ },
3647
+ {
3648
+ "id": "description",
3649
+ "name": "Description quality",
3650
+ "score": 3,
3651
+ "max": 10
3652
+ },
3653
+ {
3654
+ "id": "prompt-engineering",
3655
+ "name": "Prompt engineering",
3656
+ "score": 6,
3657
+ "max": 10
3658
+ },
3659
+ {
3660
+ "id": "context-efficiency",
3661
+ "name": "Context efficiency",
3662
+ "score": 9,
3663
+ "max": 10
3664
+ },
3665
+ {
3666
+ "id": "safety",
3667
+ "name": "Safety & guardrails",
3668
+ "score": 4,
3669
+ "max": 10
3670
+ },
3671
+ {
3672
+ "id": "testability",
3673
+ "name": "Testability",
3674
+ "score": 3,
3675
+ "max": 10
3676
+ },
3677
+ {
3678
+ "id": "naming",
3679
+ "name": "Naming & conventions",
3680
+ "score": 10,
3681
+ "max": 10
3682
+ }
3683
+ ],
3684
+ "evaluatedAt": "2026-04-30T23:05:10.517Z",
3685
+ "evaluatedVersion": "1.1.0"
3686
+ },
3687
+ "skill-best-practice": {
3688
+ "providerId": "skill-best-practice",
3689
+ "providerVersion": "1.1.0",
3690
+ "schemaVersion": 1,
3691
+ "passed": true,
3692
+ "overallScore": 79,
3693
+ "grade": "C",
3694
+ "categories": [
3695
+ {
3696
+ "id": "validation",
3697
+ "name": "Deterministic validation",
3698
+ "score": 11,
3699
+ "max": 14
3700
+ }
3701
+ ],
3702
+ "evaluatedAt": "2026-04-30T23:05:10.517Z",
3703
+ "evaluatedVersion": "1.1.0"
3704
+ }
1518
3705
  }
1519
3706
  },
1520
3707
  {
@@ -1576,8 +3763,82 @@
1576
3763
  "max": 10
1577
3764
  }
1578
3765
  ],
1579
- "evaluatedAt": "2026-04-20T07:45:13.160Z",
3766
+ "evaluatedAt": "2026-04-30T23:05:10.519Z",
1580
3767
  "evaluatedVersion": "1.1.0"
3768
+ },
3769
+ "evalSummaries": {
3770
+ "quality": {
3771
+ "providerId": "quality",
3772
+ "providerVersion": "1.0.0",
3773
+ "schemaVersion": 1,
3774
+ "passed": true,
3775
+ "overallScore": 64,
3776
+ "grade": "D",
3777
+ "categories": [
3778
+ {
3779
+ "id": "structure",
3780
+ "name": "Structure & completeness",
3781
+ "score": 8,
3782
+ "max": 10
3783
+ },
3784
+ {
3785
+ "id": "description",
3786
+ "name": "Description quality",
3787
+ "score": 3,
3788
+ "max": 10
3789
+ },
3790
+ {
3791
+ "id": "prompt-engineering",
3792
+ "name": "Prompt engineering",
3793
+ "score": 7,
3794
+ "max": 10
3795
+ },
3796
+ {
3797
+ "id": "context-efficiency",
3798
+ "name": "Context efficiency",
3799
+ "score": 7,
3800
+ "max": 10
3801
+ },
3802
+ {
3803
+ "id": "safety",
3804
+ "name": "Safety & guardrails",
3805
+ "score": 7,
3806
+ "max": 10
3807
+ },
3808
+ {
3809
+ "id": "testability",
3810
+ "name": "Testability",
3811
+ "score": 3,
3812
+ "max": 10
3813
+ },
3814
+ {
3815
+ "id": "naming",
3816
+ "name": "Naming & conventions",
3817
+ "score": 10,
3818
+ "max": 10
3819
+ }
3820
+ ],
3821
+ "evaluatedAt": "2026-04-30T23:05:10.519Z",
3822
+ "evaluatedVersion": "1.1.0"
3823
+ },
3824
+ "skill-best-practice": {
3825
+ "providerId": "skill-best-practice",
3826
+ "providerVersion": "1.1.0",
3827
+ "schemaVersion": 1,
3828
+ "passed": true,
3829
+ "overallScore": 79,
3830
+ "grade": "C",
3831
+ "categories": [
3832
+ {
3833
+ "id": "validation",
3834
+ "name": "Deterministic validation",
3835
+ "score": 11,
3836
+ "max": 14
3837
+ }
3838
+ ],
3839
+ "evaluatedAt": "2026-04-30T23:05:10.519Z",
3840
+ "evaluatedVersion": "1.1.0"
3841
+ }
1581
3842
  }
1582
3843
  },
1583
3844
  {
@@ -1639,8 +3900,82 @@
1639
3900
  "max": 10
1640
3901
  }
1641
3902
  ],
1642
- "evaluatedAt": "2026-04-20T07:45:13.161Z",
3903
+ "evaluatedAt": "2026-04-30T23:05:10.520Z",
1643
3904
  "evaluatedVersion": "1.1.0"
3905
+ },
3906
+ "evalSummaries": {
3907
+ "quality": {
3908
+ "providerId": "quality",
3909
+ "providerVersion": "1.0.0",
3910
+ "schemaVersion": 1,
3911
+ "passed": true,
3912
+ "overallScore": 61,
3913
+ "grade": "D",
3914
+ "categories": [
3915
+ {
3916
+ "id": "structure",
3917
+ "name": "Structure & completeness",
3918
+ "score": 8,
3919
+ "max": 10
3920
+ },
3921
+ {
3922
+ "id": "description",
3923
+ "name": "Description quality",
3924
+ "score": 3,
3925
+ "max": 10
3926
+ },
3927
+ {
3928
+ "id": "prompt-engineering",
3929
+ "name": "Prompt engineering",
3930
+ "score": 7,
3931
+ "max": 10
3932
+ },
3933
+ {
3934
+ "id": "context-efficiency",
3935
+ "name": "Context efficiency",
3936
+ "score": 9,
3937
+ "max": 10
3938
+ },
3939
+ {
3940
+ "id": "safety",
3941
+ "name": "Safety & guardrails",
3942
+ "score": 3,
3943
+ "max": 10
3944
+ },
3945
+ {
3946
+ "id": "testability",
3947
+ "name": "Testability",
3948
+ "score": 3,
3949
+ "max": 10
3950
+ },
3951
+ {
3952
+ "id": "naming",
3953
+ "name": "Naming & conventions",
3954
+ "score": 10,
3955
+ "max": 10
3956
+ }
3957
+ ],
3958
+ "evaluatedAt": "2026-04-30T23:05:10.521Z",
3959
+ "evaluatedVersion": "1.1.0"
3960
+ },
3961
+ "skill-best-practice": {
3962
+ "providerId": "skill-best-practice",
3963
+ "providerVersion": "1.1.0",
3964
+ "schemaVersion": 1,
3965
+ "passed": true,
3966
+ "overallScore": 79,
3967
+ "grade": "C",
3968
+ "categories": [
3969
+ {
3970
+ "id": "validation",
3971
+ "name": "Deterministic validation",
3972
+ "score": 11,
3973
+ "max": 14
3974
+ }
3975
+ ],
3976
+ "evaluatedAt": "2026-04-30T23:05:10.521Z",
3977
+ "evaluatedVersion": "1.1.0"
3978
+ }
1644
3979
  }
1645
3980
  },
1646
3981
  {
@@ -1702,8 +4037,82 @@
1702
4037
  "max": 10
1703
4038
  }
1704
4039
  ],
1705
- "evaluatedAt": "2026-04-20T07:45:13.161Z",
4040
+ "evaluatedAt": "2026-04-30T23:05:10.522Z",
1706
4041
  "evaluatedVersion": "1.1.0"
4042
+ },
4043
+ "evalSummaries": {
4044
+ "quality": {
4045
+ "providerId": "quality",
4046
+ "providerVersion": "1.0.0",
4047
+ "schemaVersion": 1,
4048
+ "passed": true,
4049
+ "overallScore": 64,
4050
+ "grade": "D",
4051
+ "categories": [
4052
+ {
4053
+ "id": "structure",
4054
+ "name": "Structure & completeness",
4055
+ "score": 8,
4056
+ "max": 10
4057
+ },
4058
+ {
4059
+ "id": "description",
4060
+ "name": "Description quality",
4061
+ "score": 3,
4062
+ "max": 10
4063
+ },
4064
+ {
4065
+ "id": "prompt-engineering",
4066
+ "name": "Prompt engineering",
4067
+ "score": 10,
4068
+ "max": 10
4069
+ },
4070
+ {
4071
+ "id": "context-efficiency",
4072
+ "name": "Context efficiency",
4073
+ "score": 7,
4074
+ "max": 10
4075
+ },
4076
+ {
4077
+ "id": "safety",
4078
+ "name": "Safety & guardrails",
4079
+ "score": 4,
4080
+ "max": 10
4081
+ },
4082
+ {
4083
+ "id": "testability",
4084
+ "name": "Testability",
4085
+ "score": 3,
4086
+ "max": 10
4087
+ },
4088
+ {
4089
+ "id": "naming",
4090
+ "name": "Naming & conventions",
4091
+ "score": 10,
4092
+ "max": 10
4093
+ }
4094
+ ],
4095
+ "evaluatedAt": "2026-04-30T23:05:10.522Z",
4096
+ "evaluatedVersion": "1.1.0"
4097
+ },
4098
+ "skill-best-practice": {
4099
+ "providerId": "skill-best-practice",
4100
+ "providerVersion": "1.1.0",
4101
+ "schemaVersion": 1,
4102
+ "passed": true,
4103
+ "overallScore": 79,
4104
+ "grade": "C",
4105
+ "categories": [
4106
+ {
4107
+ "id": "validation",
4108
+ "name": "Deterministic validation",
4109
+ "score": 11,
4110
+ "max": 14
4111
+ }
4112
+ ],
4113
+ "evaluatedAt": "2026-04-30T23:05:10.522Z",
4114
+ "evaluatedVersion": "1.1.0"
4115
+ }
1707
4116
  }
1708
4117
  },
1709
4118
  {
@@ -1765,8 +4174,82 @@
1765
4174
  "max": 10
1766
4175
  }
1767
4176
  ],
1768
- "evaluatedAt": "2026-04-20T07:45:13.162Z",
4177
+ "evaluatedAt": "2026-04-30T23:05:10.524Z",
1769
4178
  "evaluatedVersion": "1.1.0"
4179
+ },
4180
+ "evalSummaries": {
4181
+ "quality": {
4182
+ "providerId": "quality",
4183
+ "providerVersion": "1.0.0",
4184
+ "schemaVersion": 1,
4185
+ "passed": true,
4186
+ "overallScore": 67,
4187
+ "grade": "C",
4188
+ "categories": [
4189
+ {
4190
+ "id": "structure",
4191
+ "name": "Structure & completeness",
4192
+ "score": 8,
4193
+ "max": 10
4194
+ },
4195
+ {
4196
+ "id": "description",
4197
+ "name": "Description quality",
4198
+ "score": 3,
4199
+ "max": 10
4200
+ },
4201
+ {
4202
+ "id": "prompt-engineering",
4203
+ "name": "Prompt engineering",
4204
+ "score": 7,
4205
+ "max": 10
4206
+ },
4207
+ {
4208
+ "id": "context-efficiency",
4209
+ "name": "Context efficiency",
4210
+ "score": 10,
4211
+ "max": 10
4212
+ },
4213
+ {
4214
+ "id": "safety",
4215
+ "name": "Safety & guardrails",
4216
+ "score": 9,
4217
+ "max": 10
4218
+ },
4219
+ {
4220
+ "id": "testability",
4221
+ "name": "Testability",
4222
+ "score": 0,
4223
+ "max": 10
4224
+ },
4225
+ {
4226
+ "id": "naming",
4227
+ "name": "Naming & conventions",
4228
+ "score": 10,
4229
+ "max": 10
4230
+ }
4231
+ ],
4232
+ "evaluatedAt": "2026-04-30T23:05:10.524Z",
4233
+ "evaluatedVersion": "1.1.0"
4234
+ },
4235
+ "skill-best-practice": {
4236
+ "providerId": "skill-best-practice",
4237
+ "providerVersion": "1.1.0",
4238
+ "schemaVersion": 1,
4239
+ "passed": true,
4240
+ "overallScore": 79,
4241
+ "grade": "C",
4242
+ "categories": [
4243
+ {
4244
+ "id": "validation",
4245
+ "name": "Deterministic validation",
4246
+ "score": 11,
4247
+ "max": 14
4248
+ }
4249
+ ],
4250
+ "evaluatedAt": "2026-04-30T23:05:10.524Z",
4251
+ "evaluatedVersion": "1.1.0"
4252
+ }
1770
4253
  }
1771
4254
  },
1772
4255
  {
@@ -1828,8 +4311,82 @@
1828
4311
  "max": 10
1829
4312
  }
1830
4313
  ],
1831
- "evaluatedAt": "2026-04-20T07:45:13.163Z",
4314
+ "evaluatedAt": "2026-04-30T23:05:10.525Z",
1832
4315
  "evaluatedVersion": "1.1.0"
4316
+ },
4317
+ "evalSummaries": {
4318
+ "quality": {
4319
+ "providerId": "quality",
4320
+ "providerVersion": "1.0.0",
4321
+ "schemaVersion": 1,
4322
+ "passed": true,
4323
+ "overallScore": 64,
4324
+ "grade": "D",
4325
+ "categories": [
4326
+ {
4327
+ "id": "structure",
4328
+ "name": "Structure & completeness",
4329
+ "score": 8,
4330
+ "max": 10
4331
+ },
4332
+ {
4333
+ "id": "description",
4334
+ "name": "Description quality",
4335
+ "score": 3,
4336
+ "max": 10
4337
+ },
4338
+ {
4339
+ "id": "prompt-engineering",
4340
+ "name": "Prompt engineering",
4341
+ "score": 6,
4342
+ "max": 10
4343
+ },
4344
+ {
4345
+ "id": "context-efficiency",
4346
+ "name": "Context efficiency",
4347
+ "score": 10,
4348
+ "max": 10
4349
+ },
4350
+ {
4351
+ "id": "safety",
4352
+ "name": "Safety & guardrails",
4353
+ "score": 3,
4354
+ "max": 10
4355
+ },
4356
+ {
4357
+ "id": "testability",
4358
+ "name": "Testability",
4359
+ "score": 5,
4360
+ "max": 10
4361
+ },
4362
+ {
4363
+ "id": "naming",
4364
+ "name": "Naming & conventions",
4365
+ "score": 10,
4366
+ "max": 10
4367
+ }
4368
+ ],
4369
+ "evaluatedAt": "2026-04-30T23:05:10.525Z",
4370
+ "evaluatedVersion": "1.1.0"
4371
+ },
4372
+ "skill-best-practice": {
4373
+ "providerId": "skill-best-practice",
4374
+ "providerVersion": "1.1.0",
4375
+ "schemaVersion": 1,
4376
+ "passed": true,
4377
+ "overallScore": 79,
4378
+ "grade": "C",
4379
+ "categories": [
4380
+ {
4381
+ "id": "validation",
4382
+ "name": "Deterministic validation",
4383
+ "score": 11,
4384
+ "max": 14
4385
+ }
4386
+ ],
4387
+ "evaluatedAt": "2026-04-30T23:05:10.525Z",
4388
+ "evaluatedVersion": "1.1.0"
4389
+ }
1833
4390
  }
1834
4391
  },
1835
4392
  {
@@ -1891,8 +4448,82 @@
1891
4448
  "max": 10
1892
4449
  }
1893
4450
  ],
1894
- "evaluatedAt": "2026-04-20T07:45:13.164Z",
4451
+ "evaluatedAt": "2026-04-30T23:05:10.528Z",
1895
4452
  "evaluatedVersion": "1.1.0"
4453
+ },
4454
+ "evalSummaries": {
4455
+ "quality": {
4456
+ "providerId": "quality",
4457
+ "providerVersion": "1.0.0",
4458
+ "schemaVersion": 1,
4459
+ "passed": true,
4460
+ "overallScore": 77,
4461
+ "grade": "C",
4462
+ "categories": [
4463
+ {
4464
+ "id": "structure",
4465
+ "name": "Structure & completeness",
4466
+ "score": 8,
4467
+ "max": 10
4468
+ },
4469
+ {
4470
+ "id": "description",
4471
+ "name": "Description quality",
4472
+ "score": 3,
4473
+ "max": 10
4474
+ },
4475
+ {
4476
+ "id": "prompt-engineering",
4477
+ "name": "Prompt engineering",
4478
+ "score": 9,
4479
+ "max": 10
4480
+ },
4481
+ {
4482
+ "id": "context-efficiency",
4483
+ "name": "Context efficiency",
4484
+ "score": 8,
4485
+ "max": 10
4486
+ },
4487
+ {
4488
+ "id": "safety",
4489
+ "name": "Safety & guardrails",
4490
+ "score": 9,
4491
+ "max": 10
4492
+ },
4493
+ {
4494
+ "id": "testability",
4495
+ "name": "Testability",
4496
+ "score": 7,
4497
+ "max": 10
4498
+ },
4499
+ {
4500
+ "id": "naming",
4501
+ "name": "Naming & conventions",
4502
+ "score": 10,
4503
+ "max": 10
4504
+ }
4505
+ ],
4506
+ "evaluatedAt": "2026-04-30T23:05:10.528Z",
4507
+ "evaluatedVersion": "1.1.0"
4508
+ },
4509
+ "skill-best-practice": {
4510
+ "providerId": "skill-best-practice",
4511
+ "providerVersion": "1.1.0",
4512
+ "schemaVersion": 1,
4513
+ "passed": true,
4514
+ "overallScore": 79,
4515
+ "grade": "C",
4516
+ "categories": [
4517
+ {
4518
+ "id": "validation",
4519
+ "name": "Deterministic validation",
4520
+ "score": 11,
4521
+ "max": 14
4522
+ }
4523
+ ],
4524
+ "evaluatedAt": "2026-04-30T23:05:10.528Z",
4525
+ "evaluatedVersion": "1.1.0"
4526
+ }
1896
4527
  }
1897
4528
  },
1898
4529
  {
@@ -1954,8 +4585,82 @@
1954
4585
  "max": 10
1955
4586
  }
1956
4587
  ],
1957
- "evaluatedAt": "2026-04-20T07:45:13.165Z",
4588
+ "evaluatedAt": "2026-04-30T23:05:10.530Z",
1958
4589
  "evaluatedVersion": "1.1.0"
4590
+ },
4591
+ "evalSummaries": {
4592
+ "quality": {
4593
+ "providerId": "quality",
4594
+ "providerVersion": "1.0.0",
4595
+ "schemaVersion": 1,
4596
+ "passed": true,
4597
+ "overallScore": 69,
4598
+ "grade": "C",
4599
+ "categories": [
4600
+ {
4601
+ "id": "structure",
4602
+ "name": "Structure & completeness",
4603
+ "score": 8,
4604
+ "max": 10
4605
+ },
4606
+ {
4607
+ "id": "description",
4608
+ "name": "Description quality",
4609
+ "score": 3,
4610
+ "max": 10
4611
+ },
4612
+ {
4613
+ "id": "prompt-engineering",
4614
+ "name": "Prompt engineering",
4615
+ "score": 8,
4616
+ "max": 10
4617
+ },
4618
+ {
4619
+ "id": "context-efficiency",
4620
+ "name": "Context efficiency",
4621
+ "score": 8,
4622
+ "max": 10
4623
+ },
4624
+ {
4625
+ "id": "safety",
4626
+ "name": "Safety & guardrails",
4627
+ "score": 10,
4628
+ "max": 10
4629
+ },
4630
+ {
4631
+ "id": "testability",
4632
+ "name": "Testability",
4633
+ "score": 1,
4634
+ "max": 10
4635
+ },
4636
+ {
4637
+ "id": "naming",
4638
+ "name": "Naming & conventions",
4639
+ "score": 10,
4640
+ "max": 10
4641
+ }
4642
+ ],
4643
+ "evaluatedAt": "2026-04-30T23:05:10.530Z",
4644
+ "evaluatedVersion": "1.1.0"
4645
+ },
4646
+ "skill-best-practice": {
4647
+ "providerId": "skill-best-practice",
4648
+ "providerVersion": "1.1.0",
4649
+ "schemaVersion": 1,
4650
+ "passed": true,
4651
+ "overallScore": 79,
4652
+ "grade": "C",
4653
+ "categories": [
4654
+ {
4655
+ "id": "validation",
4656
+ "name": "Deterministic validation",
4657
+ "score": 11,
4658
+ "max": 14
4659
+ }
4660
+ ],
4661
+ "evaluatedAt": "2026-04-30T23:05:10.530Z",
4662
+ "evaluatedVersion": "1.1.0"
4663
+ }
1959
4664
  }
1960
4665
  },
1961
4666
  {
@@ -2017,14 +4722,88 @@
2017
4722
  "max": 10
2018
4723
  }
2019
4724
  ],
2020
- "evaluatedAt": "2026-04-20T07:45:13.166Z",
4725
+ "evaluatedAt": "2026-04-30T23:05:10.532Z",
2021
4726
  "evaluatedVersion": "1.1.0"
4727
+ },
4728
+ "evalSummaries": {
4729
+ "quality": {
4730
+ "providerId": "quality",
4731
+ "providerVersion": "1.0.0",
4732
+ "schemaVersion": 1,
4733
+ "passed": true,
4734
+ "overallScore": 69,
4735
+ "grade": "C",
4736
+ "categories": [
4737
+ {
4738
+ "id": "structure",
4739
+ "name": "Structure & completeness",
4740
+ "score": 8,
4741
+ "max": 10
4742
+ },
4743
+ {
4744
+ "id": "description",
4745
+ "name": "Description quality",
4746
+ "score": 3,
4747
+ "max": 10
4748
+ },
4749
+ {
4750
+ "id": "prompt-engineering",
4751
+ "name": "Prompt engineering",
4752
+ "score": 6,
4753
+ "max": 10
4754
+ },
4755
+ {
4756
+ "id": "context-efficiency",
4757
+ "name": "Context efficiency",
4758
+ "score": 9,
4759
+ "max": 10
4760
+ },
4761
+ {
4762
+ "id": "safety",
4763
+ "name": "Safety & guardrails",
4764
+ "score": 9,
4765
+ "max": 10
4766
+ },
4767
+ {
4768
+ "id": "testability",
4769
+ "name": "Testability",
4770
+ "score": 3,
4771
+ "max": 10
4772
+ },
4773
+ {
4774
+ "id": "naming",
4775
+ "name": "Naming & conventions",
4776
+ "score": 10,
4777
+ "max": 10
4778
+ }
4779
+ ],
4780
+ "evaluatedAt": "2026-04-30T23:05:10.532Z",
4781
+ "evaluatedVersion": "1.1.0"
4782
+ },
4783
+ "skill-best-practice": {
4784
+ "providerId": "skill-best-practice",
4785
+ "providerVersion": "1.1.0",
4786
+ "schemaVersion": 1,
4787
+ "passed": true,
4788
+ "overallScore": 79,
4789
+ "grade": "C",
4790
+ "categories": [
4791
+ {
4792
+ "id": "validation",
4793
+ "name": "Deterministic validation",
4794
+ "score": 11,
4795
+ "max": 14
4796
+ }
4797
+ ],
4798
+ "evaluatedAt": "2026-04-30T23:05:10.532Z",
4799
+ "evaluatedVersion": "1.1.0"
4800
+ }
2022
4801
  }
2023
4802
  },
2024
4803
  {
2025
4804
  "name": "seo-audit",
2026
4805
  "description": "When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions \"SEO audit,\" \"technical SEO,\" \"why am I not ranking,\" \"SEO issues,\" \"on-page SEO,\" \"meta tags review,\" \"SEO health check,\" \"my traffic dropped,\" \"lost rankings,\" \"not showing up in Google,\" \"site isn't ranking,\" \"Google update hit me,\" \"page speed,\" \"core web vitals,\" \"crawl errors,\" or \"indexing issues.\" Use this even if the user just says something vague like \"my SEO is bad\" or \"help with SEO\" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup. For AI search optimization, see ai-seo.",
2027
- "version": "1.1.0",
4806
+ "version": "1.2.0",
2028
4807
  "license": "",
2029
4808
  "creator": "",
2030
4809
  "compatibility": "",
@@ -2032,9 +4811,9 @@
2032
4811
  "installUrl": "github:coreyhaines31/marketingskills:skills/seo-audit",
2033
4812
  "relPath": "skills/seo-audit",
2034
4813
  "verified": true,
2035
- "tokenCount": 2895,
4814
+ "tokenCount": 4419,
2036
4815
  "evalSummary": {
2037
- "overallScore": 66,
4816
+ "overallScore": 67,
2038
4817
  "grade": "C",
2039
4818
  "categories": [
2040
4819
  {
@@ -2058,13 +4837,13 @@
2058
4837
  {
2059
4838
  "id": "context-efficiency",
2060
4839
  "name": "Context efficiency",
2061
- "score": 10,
4840
+ "score": 8,
2062
4841
  "max": 10
2063
4842
  },
2064
4843
  {
2065
4844
  "id": "safety",
2066
4845
  "name": "Safety & guardrails",
2067
- "score": 4,
4846
+ "score": 7,
2068
4847
  "max": 10
2069
4848
  },
2070
4849
  {
@@ -2080,8 +4859,82 @@
2080
4859
  "max": 10
2081
4860
  }
2082
4861
  ],
2083
- "evaluatedAt": "2026-04-20T07:45:13.166Z",
2084
- "evaluatedVersion": "1.1.0"
4862
+ "evaluatedAt": "2026-04-30T23:05:10.534Z",
4863
+ "evaluatedVersion": "1.2.0"
4864
+ },
4865
+ "evalSummaries": {
4866
+ "quality": {
4867
+ "providerId": "quality",
4868
+ "providerVersion": "1.0.0",
4869
+ "schemaVersion": 1,
4870
+ "passed": true,
4871
+ "overallScore": 67,
4872
+ "grade": "C",
4873
+ "categories": [
4874
+ {
4875
+ "id": "structure",
4876
+ "name": "Structure & completeness",
4877
+ "score": 8,
4878
+ "max": 10
4879
+ },
4880
+ {
4881
+ "id": "description",
4882
+ "name": "Description quality",
4883
+ "score": 3,
4884
+ "max": 10
4885
+ },
4886
+ {
4887
+ "id": "prompt-engineering",
4888
+ "name": "Prompt engineering",
4889
+ "score": 6,
4890
+ "max": 10
4891
+ },
4892
+ {
4893
+ "id": "context-efficiency",
4894
+ "name": "Context efficiency",
4895
+ "score": 8,
4896
+ "max": 10
4897
+ },
4898
+ {
4899
+ "id": "safety",
4900
+ "name": "Safety & guardrails",
4901
+ "score": 7,
4902
+ "max": 10
4903
+ },
4904
+ {
4905
+ "id": "testability",
4906
+ "name": "Testability",
4907
+ "score": 5,
4908
+ "max": 10
4909
+ },
4910
+ {
4911
+ "id": "naming",
4912
+ "name": "Naming & conventions",
4913
+ "score": 10,
4914
+ "max": 10
4915
+ }
4916
+ ],
4917
+ "evaluatedAt": "2026-04-30T23:05:10.534Z",
4918
+ "evaluatedVersion": "1.2.0"
4919
+ },
4920
+ "skill-best-practice": {
4921
+ "providerId": "skill-best-practice",
4922
+ "providerVersion": "1.1.0",
4923
+ "schemaVersion": 1,
4924
+ "passed": true,
4925
+ "overallScore": 79,
4926
+ "grade": "C",
4927
+ "categories": [
4928
+ {
4929
+ "id": "validation",
4930
+ "name": "Deterministic validation",
4931
+ "score": 11,
4932
+ "max": 14
4933
+ }
4934
+ ],
4935
+ "evaluatedAt": "2026-04-30T23:05:10.534Z",
4936
+ "evaluatedVersion": "1.2.0"
4937
+ }
2085
4938
  }
2086
4939
  },
2087
4940
  {
@@ -2143,8 +4996,82 @@
2143
4996
  "max": 10
2144
4997
  }
2145
4998
  ],
2146
- "evaluatedAt": "2026-04-20T07:45:13.167Z",
4999
+ "evaluatedAt": "2026-04-30T23:05:10.536Z",
2147
5000
  "evaluatedVersion": "1.1.0"
5001
+ },
5002
+ "evalSummaries": {
5003
+ "quality": {
5004
+ "providerId": "quality",
5005
+ "providerVersion": "1.0.0",
5006
+ "schemaVersion": 1,
5007
+ "passed": true,
5008
+ "overallScore": 69,
5009
+ "grade": "C",
5010
+ "categories": [
5011
+ {
5012
+ "id": "structure",
5013
+ "name": "Structure & completeness",
5014
+ "score": 8,
5015
+ "max": 10
5016
+ },
5017
+ {
5018
+ "id": "description",
5019
+ "name": "Description quality",
5020
+ "score": 3,
5021
+ "max": 10
5022
+ },
5023
+ {
5024
+ "id": "prompt-engineering",
5025
+ "name": "Prompt engineering",
5026
+ "score": 8,
5027
+ "max": 10
5028
+ },
5029
+ {
5030
+ "id": "context-efficiency",
5031
+ "name": "Context efficiency",
5032
+ "score": 7,
5033
+ "max": 10
5034
+ },
5035
+ {
5036
+ "id": "safety",
5037
+ "name": "Safety & guardrails",
5038
+ "score": 7,
5039
+ "max": 10
5040
+ },
5041
+ {
5042
+ "id": "testability",
5043
+ "name": "Testability",
5044
+ "score": 5,
5045
+ "max": 10
5046
+ },
5047
+ {
5048
+ "id": "naming",
5049
+ "name": "Naming & conventions",
5050
+ "score": 10,
5051
+ "max": 10
5052
+ }
5053
+ ],
5054
+ "evaluatedAt": "2026-04-30T23:05:10.536Z",
5055
+ "evaluatedVersion": "1.1.0"
5056
+ },
5057
+ "skill-best-practice": {
5058
+ "providerId": "skill-best-practice",
5059
+ "providerVersion": "1.1.0",
5060
+ "schemaVersion": 1,
5061
+ "passed": true,
5062
+ "overallScore": 79,
5063
+ "grade": "C",
5064
+ "categories": [
5065
+ {
5066
+ "id": "validation",
5067
+ "name": "Deterministic validation",
5068
+ "score": 11,
5069
+ "max": 14
5070
+ }
5071
+ ],
5072
+ "evaluatedAt": "2026-04-30T23:05:10.536Z",
5073
+ "evaluatedVersion": "1.1.0"
5074
+ }
2148
5075
  }
2149
5076
  },
2150
5077
  {
@@ -2206,14 +5133,88 @@
2206
5133
  "max": 10
2207
5134
  }
2208
5135
  ],
2209
- "evaluatedAt": "2026-04-20T07:45:13.169Z",
5136
+ "evaluatedAt": "2026-04-30T23:05:10.539Z",
2210
5137
  "evaluatedVersion": "1.1.0"
5138
+ },
5139
+ "evalSummaries": {
5140
+ "quality": {
5141
+ "providerId": "quality",
5142
+ "providerVersion": "1.0.0",
5143
+ "schemaVersion": 1,
5144
+ "passed": true,
5145
+ "overallScore": 60,
5146
+ "grade": "D",
5147
+ "categories": [
5148
+ {
5149
+ "id": "structure",
5150
+ "name": "Structure & completeness",
5151
+ "score": 8,
5152
+ "max": 10
5153
+ },
5154
+ {
5155
+ "id": "description",
5156
+ "name": "Description quality",
5157
+ "score": 3,
5158
+ "max": 10
5159
+ },
5160
+ {
5161
+ "id": "prompt-engineering",
5162
+ "name": "Prompt engineering",
5163
+ "score": 10,
5164
+ "max": 10
5165
+ },
5166
+ {
5167
+ "id": "context-efficiency",
5168
+ "name": "Context efficiency",
5169
+ "score": 7,
5170
+ "max": 10
5171
+ },
5172
+ {
5173
+ "id": "safety",
5174
+ "name": "Safety & guardrails",
5175
+ "score": 3,
5176
+ "max": 10
5177
+ },
5178
+ {
5179
+ "id": "testability",
5180
+ "name": "Testability",
5181
+ "score": 1,
5182
+ "max": 10
5183
+ },
5184
+ {
5185
+ "id": "naming",
5186
+ "name": "Naming & conventions",
5187
+ "score": 10,
5188
+ "max": 10
5189
+ }
5190
+ ],
5191
+ "evaluatedAt": "2026-04-30T23:05:10.539Z",
5192
+ "evaluatedVersion": "1.1.0"
5193
+ },
5194
+ "skill-best-practice": {
5195
+ "providerId": "skill-best-practice",
5196
+ "providerVersion": "1.1.0",
5197
+ "schemaVersion": 1,
5198
+ "passed": true,
5199
+ "overallScore": 86,
5200
+ "grade": "B",
5201
+ "categories": [
5202
+ {
5203
+ "id": "validation",
5204
+ "name": "Deterministic validation",
5205
+ "score": 12,
5206
+ "max": 14
5207
+ }
5208
+ ],
5209
+ "evaluatedAt": "2026-04-30T23:05:10.539Z",
5210
+ "evaluatedVersion": "1.1.0"
5211
+ }
2211
5212
  }
2212
5213
  },
2213
5214
  {
2214
5215
  "name": "social-content",
2215
- "description": "When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms. Also use when the user mentions 'LinkedIn post,' 'Twitter thread,' 'social media,' 'content calendar,' 'social scheduling,' 'engagement,' 'viral content,' 'what should I post,' 'repurpose this content,' 'tweet ideas,' 'LinkedIn carousel,' 'social media strategy,' or 'grow my following.' Use this for any social media content creation, repurposing, or scheduling task. For broader content strategy, see content-strategy.",
2216
- "version": "1.2.0",
5216
+ "description": "When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms. Also use when the user mentions 'LinkedIn post,' 'Twitter thread,' 'social media,' 'content calendar,' 'social scheduling,' 'engagement,' 'viral content,' 'what should I post,' 'repurpose this content,' 'tweet ideas,' 'LinkedIn carousel,' 'social media strategy,' 'grow my following,' 'TikTok video,' 'Reels,' 'Shorts,' 'video script,' 'video hook,' 'short-form video,' or 'create a reel.' Use this for social media content creation, repurposing, scheduling, and short-form video scripting. For broader content strategy, see content-strategy. For paid video ads, see ad-creative.",
5217
+ "version": "1.3.0",
2217
5218
  "license": "",
2218
5219
  "creator": "",
2219
5220
  "compatibility": "",
@@ -2221,9 +5222,9 @@
2221
5222
  "installUrl": "github:coreyhaines31/marketingskills:skills/social-content",
2222
5223
  "relPath": "skills/social-content",
2223
5224
  "verified": true,
2224
- "tokenCount": 3234,
5225
+ "tokenCount": 3989,
2225
5226
  "evalSummary": {
2226
- "overallScore": 60,
5227
+ "overallScore": 64,
2227
5228
  "grade": "D",
2228
5229
  "categories": [
2229
5230
  {
@@ -2241,7 +5242,7 @@
2241
5242
  {
2242
5243
  "id": "prompt-engineering",
2243
5244
  "name": "Prompt engineering",
2244
- "score": 7,
5245
+ "score": 10,
2245
5246
  "max": 10
2246
5247
  },
2247
5248
  {
@@ -2269,8 +5270,219 @@
2269
5270
  "max": 10
2270
5271
  }
2271
5272
  ],
2272
- "evaluatedAt": "2026-04-20T07:45:13.170Z",
2273
- "evaluatedVersion": "1.2.0"
5273
+ "evaluatedAt": "2026-04-30T23:05:10.541Z",
5274
+ "evaluatedVersion": "1.3.0"
5275
+ },
5276
+ "evalSummaries": {
5277
+ "quality": {
5278
+ "providerId": "quality",
5279
+ "providerVersion": "1.0.0",
5280
+ "schemaVersion": 1,
5281
+ "passed": true,
5282
+ "overallScore": 64,
5283
+ "grade": "D",
5284
+ "categories": [
5285
+ {
5286
+ "id": "structure",
5287
+ "name": "Structure & completeness",
5288
+ "score": 8,
5289
+ "max": 10
5290
+ },
5291
+ {
5292
+ "id": "description",
5293
+ "name": "Description quality",
5294
+ "score": 3,
5295
+ "max": 10
5296
+ },
5297
+ {
5298
+ "id": "prompt-engineering",
5299
+ "name": "Prompt engineering",
5300
+ "score": 10,
5301
+ "max": 10
5302
+ },
5303
+ {
5304
+ "id": "context-efficiency",
5305
+ "name": "Context efficiency",
5306
+ "score": 7,
5307
+ "max": 10
5308
+ },
5309
+ {
5310
+ "id": "safety",
5311
+ "name": "Safety & guardrails",
5312
+ "score": 4,
5313
+ "max": 10
5314
+ },
5315
+ {
5316
+ "id": "testability",
5317
+ "name": "Testability",
5318
+ "score": 3,
5319
+ "max": 10
5320
+ },
5321
+ {
5322
+ "id": "naming",
5323
+ "name": "Naming & conventions",
5324
+ "score": 10,
5325
+ "max": 10
5326
+ }
5327
+ ],
5328
+ "evaluatedAt": "2026-04-30T23:05:10.541Z",
5329
+ "evaluatedVersion": "1.3.0"
5330
+ },
5331
+ "skill-best-practice": {
5332
+ "providerId": "skill-best-practice",
5333
+ "providerVersion": "1.1.0",
5334
+ "schemaVersion": 1,
5335
+ "passed": true,
5336
+ "overallScore": 79,
5337
+ "grade": "C",
5338
+ "categories": [
5339
+ {
5340
+ "id": "validation",
5341
+ "name": "Deterministic validation",
5342
+ "score": 11,
5343
+ "max": 14
5344
+ }
5345
+ ],
5346
+ "evaluatedAt": "2026-04-30T23:05:10.541Z",
5347
+ "evaluatedVersion": "1.3.0"
5348
+ }
5349
+ }
5350
+ },
5351
+ {
5352
+ "name": "video",
5353
+ "description": "When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use when the user mentions 'video production,' 'AI video,' 'Remotion,' 'Hyperframes,' 'HeyGen,' 'Synthesia,' 'Veo,' 'Runway,' 'Kling,' 'Pika,' 'video generation,' 'AI avatar,' 'talking head video,' 'programmatic video,' 'video template,' 'explainer video,' 'product demo video,' 'video pipeline,' or 'make me a video.' Use this for video creation, generation, and production workflows. For video content strategy and what to post, see social-content. For paid video ad creative, see ad-creative.",
5354
+ "version": "1.0.0",
5355
+ "license": "",
5356
+ "creator": "",
5357
+ "compatibility": "",
5358
+ "allowedTools": [],
5359
+ "installUrl": "github:coreyhaines31/marketingskills:skills/video",
5360
+ "relPath": "skills/video",
5361
+ "verified": true,
5362
+ "tokenCount": 3584,
5363
+ "evalSummary": {
5364
+ "overallScore": 66,
5365
+ "grade": "C",
5366
+ "categories": [
5367
+ {
5368
+ "id": "structure",
5369
+ "name": "Structure & completeness",
5370
+ "score": 8,
5371
+ "max": 10
5372
+ },
5373
+ {
5374
+ "id": "description",
5375
+ "name": "Description quality",
5376
+ "score": 3,
5377
+ "max": 10
5378
+ },
5379
+ {
5380
+ "id": "prompt-engineering",
5381
+ "name": "Prompt engineering",
5382
+ "score": 9,
5383
+ "max": 10
5384
+ },
5385
+ {
5386
+ "id": "context-efficiency",
5387
+ "name": "Context efficiency",
5388
+ "score": 8,
5389
+ "max": 10
5390
+ },
5391
+ {
5392
+ "id": "safety",
5393
+ "name": "Safety & guardrails",
5394
+ "score": 5,
5395
+ "max": 10
5396
+ },
5397
+ {
5398
+ "id": "testability",
5399
+ "name": "Testability",
5400
+ "score": 3,
5401
+ "max": 10
5402
+ },
5403
+ {
5404
+ "id": "naming",
5405
+ "name": "Naming & conventions",
5406
+ "score": 10,
5407
+ "max": 10
5408
+ }
5409
+ ],
5410
+ "evaluatedAt": "2026-04-30T23:05:10.543Z",
5411
+ "evaluatedVersion": "1.0.0"
5412
+ },
5413
+ "evalSummaries": {
5414
+ "quality": {
5415
+ "providerId": "quality",
5416
+ "providerVersion": "1.0.0",
5417
+ "schemaVersion": 1,
5418
+ "passed": true,
5419
+ "overallScore": 66,
5420
+ "grade": "C",
5421
+ "categories": [
5422
+ {
5423
+ "id": "structure",
5424
+ "name": "Structure & completeness",
5425
+ "score": 8,
5426
+ "max": 10
5427
+ },
5428
+ {
5429
+ "id": "description",
5430
+ "name": "Description quality",
5431
+ "score": 3,
5432
+ "max": 10
5433
+ },
5434
+ {
5435
+ "id": "prompt-engineering",
5436
+ "name": "Prompt engineering",
5437
+ "score": 9,
5438
+ "max": 10
5439
+ },
5440
+ {
5441
+ "id": "context-efficiency",
5442
+ "name": "Context efficiency",
5443
+ "score": 8,
5444
+ "max": 10
5445
+ },
5446
+ {
5447
+ "id": "safety",
5448
+ "name": "Safety & guardrails",
5449
+ "score": 5,
5450
+ "max": 10
5451
+ },
5452
+ {
5453
+ "id": "testability",
5454
+ "name": "Testability",
5455
+ "score": 3,
5456
+ "max": 10
5457
+ },
5458
+ {
5459
+ "id": "naming",
5460
+ "name": "Naming & conventions",
5461
+ "score": 10,
5462
+ "max": 10
5463
+ }
5464
+ ],
5465
+ "evaluatedAt": "2026-04-30T23:05:10.544Z",
5466
+ "evaluatedVersion": "1.0.0"
5467
+ },
5468
+ "skill-best-practice": {
5469
+ "providerId": "skill-best-practice",
5470
+ "providerVersion": "1.1.0",
5471
+ "schemaVersion": 1,
5472
+ "passed": true,
5473
+ "overallScore": 79,
5474
+ "grade": "C",
5475
+ "categories": [
5476
+ {
5477
+ "id": "validation",
5478
+ "name": "Deterministic validation",
5479
+ "score": 11,
5480
+ "max": 14
5481
+ }
5482
+ ],
5483
+ "evaluatedAt": "2026-04-30T23:05:10.544Z",
5484
+ "evaluatedVersion": "1.0.0"
5485
+ }
2274
5486
  }
2275
5487
  }
2276
5488
  ]