agent-skill-manager 2.12.0 → 2.14.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 (68) hide show
  1. package/README.backup.md +1237 -0
  2. package/README.md +367 -681
  3. package/data/bundles/ios-release.json +45 -10
  4. package/data/skill-index/Affitor_affiliate-skills.json +171 -171
  5. package/data/skill-index/AvdLee_Core-Data-Agent-Skill.json +147 -0
  6. package/data/skill-index/AvdLee_Swift-Concurrency-Agent-Skill.json +147 -0
  7. package/data/skill-index/AvdLee_Swift-Testing-Agent-Skill.json +147 -0
  8. package/data/skill-index/AvdLee_SwiftUI-Agent-Skill.json +429 -0
  9. package/data/skill-index/AvdLee_Xcode-Build-Optimization-Agent-Skill.json +1121 -0
  10. package/data/skill-index/Dimillian_Skills.json +2605 -0
  11. package/data/skill-index/Egonex-AI_Understand-Anything.json +1317 -0
  12. package/data/skill-index/Eronred_aso-skills.json +129 -129
  13. package/data/skill-index/GPTomics_bioSkills.json +8673 -6081
  14. package/data/skill-index/Galaxy-Dawn_claude-scholar.json +144 -144
  15. package/data/skill-index/Imbad0202_academic-research-skills.json +41 -41
  16. package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +1239 -633
  17. package/data/skill-index/Leonxlnx_taste-skill.json +47 -47
  18. package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +4 -4
  19. package/data/skill-index/MiniMax-AI_skills.json +78 -78
  20. package/data/skill-index/Paramchoudhary_ResumeSkills.json +408 -68
  21. package/data/skill-index/addyosmani_agent-skills.json +3971 -0
  22. package/data/skill-index/affaan-m_everything-claude-code.json +1983 -1120
  23. package/data/skill-index/alirezarezvani_claude-skills.json +3214 -1707
  24. package/data/skill-index/anthropics_skills.json +67 -67
  25. package/data/skill-index/antonbabenko_terraform-skill.json +4 -4
  26. package/data/skill-index/badlogic_pi-skills.json +29 -29
  27. package/data/skill-index/briiirussell_cybersecurity-skills.json +314 -125
  28. package/data/skill-index/bytedance_deer-flow.json +86 -86
  29. package/data/skill-index/coreyhaines31_marketingskills.json +549 -191
  30. package/data/skill-index/davidondrej_skills.json +5050 -0
  31. package/data/skill-index/entireio_skills.json +196 -41
  32. package/data/skill-index/garrytan_gstack.json +8814 -0
  33. package/data/skill-index/github_awesome-copilot.json +2480 -1177
  34. package/data/skill-index/google_skills.json +6380 -522
  35. package/data/skill-index/heygen-com_hyperframes.json +958 -374
  36. package/data/skill-index/himself65_finance-skills.json +84 -84
  37. package/data/skill-index/ivan-magda_uikit-expert-skill.json +147 -0
  38. package/data/skill-index/kemiljk_fluid-design.json +4 -4
  39. package/data/skill-index/kepano_obsidian-skills.json +19 -19
  40. package/data/skill-index/luongnv89_asm.json +135 -9
  41. package/data/skill-index/luongnv89_idd.json +1186 -0
  42. package/data/skill-index/luongnv89_skills.json +1496 -667
  43. package/data/skill-index/mattpocock_skills.json +1900 -655
  44. package/data/skill-index/mvanhorn_last30days-skill.json +153 -0
  45. package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +124 -124
  46. package/data/skill-index/obra_superpowers.json +57 -57
  47. package/data/skill-index/romainsimon_paperasse.json +26 -26
  48. package/data/skill-index/rudrankriyam_app-store-connect-cli-skills.json +3726 -0
  49. package/data/skill-index/santifer_career-ops.json +798 -0
  50. package/data/skill-index/sickn33_antigravity-awesome-skills.json +75987 -36692
  51. package/data/skill-index/slavingia_skills.json +38 -38
  52. package/data/skill-index/twostraws_Swift-Concurrency-Agent-Skill.json +147 -0
  53. package/data/skill-index/twostraws_Swift-Testing-Agent-Skill.json +147 -0
  54. package/data/skill-index/twostraws_SwiftData-Agent-Skill.json +147 -0
  55. package/data/skill-index/twostraws_SwiftUI-Agent-Skill.json +147 -0
  56. package/data/skill-index/warpdotdev_oz-skills.json +52 -52
  57. package/data/skill-index/zarazhangrui_follow-builders.json +4 -4
  58. package/data/skill-index-resources.json +173 -2
  59. package/dist/agent-skill-manager.js +512 -402
  60. package/dist/{chunk-APSM2WG3.js → chunk-EOTW3XHQ.js} +1 -1
  61. package/dist/chunk-P5N3FU3P.js +3 -0
  62. package/dist/{chunk-5MMJGI6J.js → chunk-UZ62MVXU.js} +2 -2
  63. package/dist/config-KPT63KLE.js +2 -0
  64. package/dist/{lock-6S53S4SC.js → lock-NOXBNSZW.js} +1 -1
  65. package/dist/{src-NB45CVD2.js → src-IHHUE6TP.js} +1 -1
  66. package/package.json +1 -1
  67. package/dist/chunk-GHPE6SB3.js +0 -3
  68. package/dist/config-FRM3YOMA.js +0 -2
@@ -0,0 +1,798 @@
1
+ {
2
+ "repoUrl": "https://github.com/santifer/career-ops.git",
3
+ "owner": "santifer",
4
+ "repo": "career-ops",
5
+ "updatedAt": "2026-07-07T08:54:19.922Z",
6
+ "skillCount": 5,
7
+ "skills": [
8
+ {
9
+ "name": "career-ops",
10
+ "description": "AI job search command center -- evaluate offers, generate CVs, scan portals, track applications",
11
+ "version": "0.0.0",
12
+ "license": "MIT",
13
+ "creator": "",
14
+ "compatibility": "",
15
+ "allowedTools": [],
16
+ "installUrl": "github:santifer/career-ops:.claude/skills/career-ops",
17
+ "relPath": ".claude/skills/career-ops",
18
+ "verified": true,
19
+ "tokenCount": 2087,
20
+ "evalSummary": {
21
+ "overallScore": 69,
22
+ "grade": "C",
23
+ "categories": [
24
+ {
25
+ "id": "structure",
26
+ "name": "Structure & completeness",
27
+ "score": 8,
28
+ "max": 10
29
+ },
30
+ {
31
+ "id": "description",
32
+ "name": "Description quality",
33
+ "score": 4,
34
+ "max": 10
35
+ },
36
+ {
37
+ "id": "prompt-engineering",
38
+ "name": "Prompt engineering",
39
+ "score": 9,
40
+ "max": 10
41
+ },
42
+ {
43
+ "id": "context-efficiency",
44
+ "name": "Context efficiency",
45
+ "score": 9,
46
+ "max": 10
47
+ },
48
+ {
49
+ "id": "safety",
50
+ "name": "Safety & guardrails",
51
+ "score": 7,
52
+ "max": 10
53
+ },
54
+ {
55
+ "id": "testability",
56
+ "name": "Testability",
57
+ "score": 1,
58
+ "max": 10
59
+ },
60
+ {
61
+ "id": "naming",
62
+ "name": "Naming & conventions",
63
+ "score": 10,
64
+ "max": 10
65
+ }
66
+ ],
67
+ "evaluatedAt": "2026-07-07T08:54:19.919Z",
68
+ "evaluatedVersion": "0.0.0"
69
+ },
70
+ "evalSummaries": {
71
+ "quality": {
72
+ "providerId": "quality",
73
+ "providerVersion": "1.0.0",
74
+ "schemaVersion": 1,
75
+ "passed": true,
76
+ "overallScore": 69,
77
+ "grade": "C",
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": 4,
89
+ "max": 10
90
+ },
91
+ {
92
+ "id": "prompt-engineering",
93
+ "name": "Prompt engineering",
94
+ "score": 9,
95
+ "max": 10
96
+ },
97
+ {
98
+ "id": "context-efficiency",
99
+ "name": "Context efficiency",
100
+ "score": 9,
101
+ "max": 10
102
+ },
103
+ {
104
+ "id": "safety",
105
+ "name": "Safety & guardrails",
106
+ "score": 7,
107
+ "max": 10
108
+ },
109
+ {
110
+ "id": "testability",
111
+ "name": "Testability",
112
+ "score": 1,
113
+ "max": 10
114
+ },
115
+ {
116
+ "id": "naming",
117
+ "name": "Naming & conventions",
118
+ "score": 10,
119
+ "max": 10
120
+ }
121
+ ],
122
+ "evaluatedAt": "2026-07-07T08:54:19.919Z",
123
+ "evaluatedVersion": "0.0.0"
124
+ },
125
+ "skill-best-practice": {
126
+ "providerId": "skill-best-practice",
127
+ "providerVersion": "1.1.0",
128
+ "schemaVersion": 1,
129
+ "passed": false,
130
+ "overallScore": 69,
131
+ "grade": "C",
132
+ "categories": [
133
+ {
134
+ "id": "validation",
135
+ "name": "Deterministic validation",
136
+ "score": 9,
137
+ "max": 13
138
+ }
139
+ ],
140
+ "evaluatedAt": "2026-07-07T08:54:19.919Z",
141
+ "evaluatedVersion": "0.0.0"
142
+ }
143
+ }
144
+ },
145
+ {
146
+ "name": "career-ops-plugin-{{NAME}}",
147
+ "description": "How to use the {{NAME}} plugin and the data it produces.",
148
+ "version": "0.0.0",
149
+ "license": "MIT",
150
+ "creator": "",
151
+ "compatibility": "",
152
+ "allowedTools": [],
153
+ "installUrl": "github:santifer/career-ops:plugins/_template",
154
+ "relPath": "plugins/_template",
155
+ "verified": true,
156
+ "tokenCount": 233,
157
+ "evalSummary": {
158
+ "overallScore": 39,
159
+ "grade": "F",
160
+ "categories": [
161
+ {
162
+ "id": "structure",
163
+ "name": "Structure & completeness",
164
+ "score": 8,
165
+ "max": 10
166
+ },
167
+ {
168
+ "id": "description",
169
+ "name": "Description quality",
170
+ "score": 4,
171
+ "max": 10
172
+ },
173
+ {
174
+ "id": "prompt-engineering",
175
+ "name": "Prompt engineering",
176
+ "score": 4,
177
+ "max": 10
178
+ },
179
+ {
180
+ "id": "context-efficiency",
181
+ "name": "Context efficiency",
182
+ "score": 4,
183
+ "max": 10
184
+ },
185
+ {
186
+ "id": "safety",
187
+ "name": "Safety & guardrails",
188
+ "score": 2,
189
+ "max": 10
190
+ },
191
+ {
192
+ "id": "testability",
193
+ "name": "Testability",
194
+ "score": 0,
195
+ "max": 10
196
+ },
197
+ {
198
+ "id": "naming",
199
+ "name": "Naming & conventions",
200
+ "score": 5,
201
+ "max": 10
202
+ }
203
+ ],
204
+ "evaluatedAt": "2026-07-07T08:54:19.921Z",
205
+ "evaluatedVersion": "0.0.0"
206
+ },
207
+ "evalSummaries": {
208
+ "quality": {
209
+ "providerId": "quality",
210
+ "providerVersion": "1.0.0",
211
+ "schemaVersion": 1,
212
+ "passed": false,
213
+ "overallScore": 39,
214
+ "grade": "F",
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": 4,
226
+ "max": 10
227
+ },
228
+ {
229
+ "id": "prompt-engineering",
230
+ "name": "Prompt engineering",
231
+ "score": 4,
232
+ "max": 10
233
+ },
234
+ {
235
+ "id": "context-efficiency",
236
+ "name": "Context efficiency",
237
+ "score": 4,
238
+ "max": 10
239
+ },
240
+ {
241
+ "id": "safety",
242
+ "name": "Safety & guardrails",
243
+ "score": 2,
244
+ "max": 10
245
+ },
246
+ {
247
+ "id": "testability",
248
+ "name": "Testability",
249
+ "score": 0,
250
+ "max": 10
251
+ },
252
+ {
253
+ "id": "naming",
254
+ "name": "Naming & conventions",
255
+ "score": 5,
256
+ "max": 10
257
+ }
258
+ ],
259
+ "evaluatedAt": "2026-07-07T08:54:19.921Z",
260
+ "evaluatedVersion": "0.0.0"
261
+ },
262
+ "skill-best-practice": {
263
+ "providerId": "skill-best-practice",
264
+ "providerVersion": "1.1.0",
265
+ "schemaVersion": 1,
266
+ "passed": false,
267
+ "overallScore": 62,
268
+ "grade": "D",
269
+ "categories": [
270
+ {
271
+ "id": "validation",
272
+ "name": "Deterministic validation",
273
+ "score": 8,
274
+ "max": 13
275
+ }
276
+ ],
277
+ "evaluatedAt": "2026-07-07T08:54:19.921Z",
278
+ "evaluatedVersion": "0.0.0"
279
+ }
280
+ }
281
+ },
282
+ {
283
+ "name": "career-ops-plugin-apify",
284
+ "description": "How to scan a job source through an Apify actor as a keyed provider.",
285
+ "version": "0.0.0",
286
+ "license": "MIT",
287
+ "creator": "",
288
+ "compatibility": "",
289
+ "allowedTools": [],
290
+ "installUrl": "github:santifer/career-ops:plugins/apify",
291
+ "relPath": "plugins/apify",
292
+ "verified": true,
293
+ "tokenCount": 298,
294
+ "evalSummary": {
295
+ "overallScore": 46,
296
+ "grade": "F",
297
+ "categories": [
298
+ {
299
+ "id": "structure",
300
+ "name": "Structure & completeness",
301
+ "score": 8,
302
+ "max": 10
303
+ },
304
+ {
305
+ "id": "description",
306
+ "name": "Description quality",
307
+ "score": 4,
308
+ "max": 10
309
+ },
310
+ {
311
+ "id": "prompt-engineering",
312
+ "name": "Prompt engineering",
313
+ "score": 5,
314
+ "max": 10
315
+ },
316
+ {
317
+ "id": "context-efficiency",
318
+ "name": "Context efficiency",
319
+ "score": 5,
320
+ "max": 10
321
+ },
322
+ {
323
+ "id": "safety",
324
+ "name": "Safety & guardrails",
325
+ "score": 2,
326
+ "max": 10
327
+ },
328
+ {
329
+ "id": "testability",
330
+ "name": "Testability",
331
+ "score": 1,
332
+ "max": 10
333
+ },
334
+ {
335
+ "id": "naming",
336
+ "name": "Naming & conventions",
337
+ "score": 7,
338
+ "max": 10
339
+ }
340
+ ],
341
+ "evaluatedAt": "2026-07-07T08:54:19.921Z",
342
+ "evaluatedVersion": "0.0.0"
343
+ },
344
+ "evalSummaries": {
345
+ "quality": {
346
+ "providerId": "quality",
347
+ "providerVersion": "1.0.0",
348
+ "schemaVersion": 1,
349
+ "passed": false,
350
+ "overallScore": 46,
351
+ "grade": "F",
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": 4,
363
+ "max": 10
364
+ },
365
+ {
366
+ "id": "prompt-engineering",
367
+ "name": "Prompt engineering",
368
+ "score": 5,
369
+ "max": 10
370
+ },
371
+ {
372
+ "id": "context-efficiency",
373
+ "name": "Context efficiency",
374
+ "score": 5,
375
+ "max": 10
376
+ },
377
+ {
378
+ "id": "safety",
379
+ "name": "Safety & guardrails",
380
+ "score": 2,
381
+ "max": 10
382
+ },
383
+ {
384
+ "id": "testability",
385
+ "name": "Testability",
386
+ "score": 1,
387
+ "max": 10
388
+ },
389
+ {
390
+ "id": "naming",
391
+ "name": "Naming & conventions",
392
+ "score": 7,
393
+ "max": 10
394
+ }
395
+ ],
396
+ "evaluatedAt": "2026-07-07T08:54:19.921Z",
397
+ "evaluatedVersion": "0.0.0"
398
+ },
399
+ "skill-best-practice": {
400
+ "providerId": "skill-best-practice",
401
+ "providerVersion": "1.1.0",
402
+ "schemaVersion": 1,
403
+ "passed": false,
404
+ "overallScore": 69,
405
+ "grade": "C",
406
+ "categories": [
407
+ {
408
+ "id": "validation",
409
+ "name": "Deterministic validation",
410
+ "score": 9,
411
+ "max": 13
412
+ }
413
+ ],
414
+ "evaluatedAt": "2026-07-07T08:54:19.921Z",
415
+ "evaluatedVersion": "0.0.0"
416
+ }
417
+ }
418
+ },
419
+ {
420
+ "name": "career-ops-plugin-gmail",
421
+ "description": "How to pull job leads from a Gmail label into the career-ops pipeline.",
422
+ "version": "0.0.0",
423
+ "license": "MIT",
424
+ "creator": "",
425
+ "compatibility": "",
426
+ "allowedTools": [],
427
+ "installUrl": "github:santifer/career-ops:plugins/gmail",
428
+ "relPath": "plugins/gmail",
429
+ "verified": true,
430
+ "tokenCount": 260,
431
+ "evalSummary": {
432
+ "overallScore": 50,
433
+ "grade": "D",
434
+ "categories": [
435
+ {
436
+ "id": "structure",
437
+ "name": "Structure & completeness",
438
+ "score": 8,
439
+ "max": 10
440
+ },
441
+ {
442
+ "id": "description",
443
+ "name": "Description quality",
444
+ "score": 4,
445
+ "max": 10
446
+ },
447
+ {
448
+ "id": "prompt-engineering",
449
+ "name": "Prompt engineering",
450
+ "score": 4,
451
+ "max": 10
452
+ },
453
+ {
454
+ "id": "context-efficiency",
455
+ "name": "Context efficiency",
456
+ "score": 7,
457
+ "max": 10
458
+ },
459
+ {
460
+ "id": "safety",
461
+ "name": "Safety & guardrails",
462
+ "score": 2,
463
+ "max": 10
464
+ },
465
+ {
466
+ "id": "testability",
467
+ "name": "Testability",
468
+ "score": 1,
469
+ "max": 10
470
+ },
471
+ {
472
+ "id": "naming",
473
+ "name": "Naming & conventions",
474
+ "score": 9,
475
+ "max": 10
476
+ }
477
+ ],
478
+ "evaluatedAt": "2026-07-07T08:54:19.922Z",
479
+ "evaluatedVersion": "0.0.0"
480
+ },
481
+ "evalSummaries": {
482
+ "quality": {
483
+ "providerId": "quality",
484
+ "providerVersion": "1.0.0",
485
+ "schemaVersion": 1,
486
+ "passed": true,
487
+ "overallScore": 50,
488
+ "grade": "D",
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": 4,
500
+ "max": 10
501
+ },
502
+ {
503
+ "id": "prompt-engineering",
504
+ "name": "Prompt engineering",
505
+ "score": 4,
506
+ "max": 10
507
+ },
508
+ {
509
+ "id": "context-efficiency",
510
+ "name": "Context efficiency",
511
+ "score": 7,
512
+ "max": 10
513
+ },
514
+ {
515
+ "id": "safety",
516
+ "name": "Safety & guardrails",
517
+ "score": 2,
518
+ "max": 10
519
+ },
520
+ {
521
+ "id": "testability",
522
+ "name": "Testability",
523
+ "score": 1,
524
+ "max": 10
525
+ },
526
+ {
527
+ "id": "naming",
528
+ "name": "Naming & conventions",
529
+ "score": 9,
530
+ "max": 10
531
+ }
532
+ ],
533
+ "evaluatedAt": "2026-07-07T08:54:19.922Z",
534
+ "evaluatedVersion": "0.0.0"
535
+ },
536
+ "skill-best-practice": {
537
+ "providerId": "skill-best-practice",
538
+ "providerVersion": "1.1.0",
539
+ "schemaVersion": 1,
540
+ "passed": false,
541
+ "overallScore": 69,
542
+ "grade": "C",
543
+ "categories": [
544
+ {
545
+ "id": "validation",
546
+ "name": "Deterministic validation",
547
+ "score": 9,
548
+ "max": 13
549
+ }
550
+ ],
551
+ "evaluatedAt": "2026-07-07T08:54:19.922Z",
552
+ "evaluatedVersion": "0.0.0"
553
+ }
554
+ }
555
+ },
556
+ {
557
+ "name": "career-ops-plugin-notion",
558
+ "description": "How to mirror the career-ops tracker to a Notion database and read records back as job leads.",
559
+ "version": "0.0.0",
560
+ "license": "MIT",
561
+ "creator": "",
562
+ "compatibility": "",
563
+ "allowedTools": [],
564
+ "installUrl": "github:santifer/career-ops:plugins/notion",
565
+ "relPath": "plugins/notion",
566
+ "verified": true,
567
+ "tokenCount": 363,
568
+ "evalSummary": {
569
+ "overallScore": 47,
570
+ "grade": "F",
571
+ "categories": [
572
+ {
573
+ "id": "structure",
574
+ "name": "Structure & completeness",
575
+ "score": 8,
576
+ "max": 10
577
+ },
578
+ {
579
+ "id": "description",
580
+ "name": "Description quality",
581
+ "score": 4,
582
+ "max": 10
583
+ },
584
+ {
585
+ "id": "prompt-engineering",
586
+ "name": "Prompt engineering",
587
+ "score": 3,
588
+ "max": 10
589
+ },
590
+ {
591
+ "id": "context-efficiency",
592
+ "name": "Context efficiency",
593
+ "score": 6,
594
+ "max": 10
595
+ },
596
+ {
597
+ "id": "safety",
598
+ "name": "Safety & guardrails",
599
+ "score": 3,
600
+ "max": 10
601
+ },
602
+ {
603
+ "id": "testability",
604
+ "name": "Testability",
605
+ "score": 0,
606
+ "max": 10
607
+ },
608
+ {
609
+ "id": "naming",
610
+ "name": "Naming & conventions",
611
+ "score": 9,
612
+ "max": 10
613
+ }
614
+ ],
615
+ "evaluatedAt": "2026-07-07T08:54:19.922Z",
616
+ "evaluatedVersion": "0.0.0"
617
+ },
618
+ "evalSummaries": {
619
+ "quality": {
620
+ "providerId": "quality",
621
+ "providerVersion": "1.0.0",
622
+ "schemaVersion": 1,
623
+ "passed": false,
624
+ "overallScore": 47,
625
+ "grade": "F",
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": 4,
637
+ "max": 10
638
+ },
639
+ {
640
+ "id": "prompt-engineering",
641
+ "name": "Prompt engineering",
642
+ "score": 3,
643
+ "max": 10
644
+ },
645
+ {
646
+ "id": "context-efficiency",
647
+ "name": "Context efficiency",
648
+ "score": 6,
649
+ "max": 10
650
+ },
651
+ {
652
+ "id": "safety",
653
+ "name": "Safety & guardrails",
654
+ "score": 3,
655
+ "max": 10
656
+ },
657
+ {
658
+ "id": "testability",
659
+ "name": "Testability",
660
+ "score": 0,
661
+ "max": 10
662
+ },
663
+ {
664
+ "id": "naming",
665
+ "name": "Naming & conventions",
666
+ "score": 9,
667
+ "max": 10
668
+ }
669
+ ],
670
+ "evaluatedAt": "2026-07-07T08:54:19.922Z",
671
+ "evaluatedVersion": "0.0.0"
672
+ },
673
+ "skill-best-practice": {
674
+ "providerId": "skill-best-practice",
675
+ "providerVersion": "1.1.0",
676
+ "schemaVersion": 1,
677
+ "passed": false,
678
+ "overallScore": 69,
679
+ "grade": "C",
680
+ "categories": [
681
+ {
682
+ "id": "validation",
683
+ "name": "Deterministic validation",
684
+ "score": 9,
685
+ "max": 13
686
+ }
687
+ ],
688
+ "evaluatedAt": "2026-07-07T08:54:19.922Z",
689
+ "evaluatedVersion": "0.0.0"
690
+ }
691
+ }
692
+ }
693
+ ],
694
+ "bundles": [
695
+ {
696
+ "version": 1,
697
+ "name": "santifer-career-ops-data-ai",
698
+ "description": "Data, analytics, AI, model, prompt, agent, and automation skills. Derived from santifer/career-ops.",
699
+ "author": "ASM (santifer/career-ops)",
700
+ "createdAt": "2026-07-07T08:54:19.922Z",
701
+ "tags": [
702
+ "repo-derived",
703
+ "inferred",
704
+ "data",
705
+ "ai",
706
+ "agents",
707
+ "santifer",
708
+ "career-ops"
709
+ ],
710
+ "skills": [
711
+ {
712
+ "name": "career-ops",
713
+ "installUrl": "github:santifer/career-ops:.claude/skills/career-ops",
714
+ "description": "AI job search command center -- evaluate offers, generate CVs, scan portals, track applications",
715
+ "version": "0.0.0"
716
+ },
717
+ {
718
+ "name": "career-ops-plugin-{{NAME}}",
719
+ "installUrl": "github:santifer/career-ops:plugins/_template",
720
+ "description": "How to use the {{NAME}} plugin and the data it produces.",
721
+ "version": "0.0.0"
722
+ },
723
+ {
724
+ "name": "career-ops-plugin-gmail",
725
+ "installUrl": "github:santifer/career-ops:plugins/gmail",
726
+ "description": "How to pull job leads from a Gmail label into the career-ops pipeline.",
727
+ "version": "0.0.0"
728
+ },
729
+ {
730
+ "name": "career-ops-plugin-notion",
731
+ "installUrl": "github:santifer/career-ops:plugins/notion",
732
+ "description": "How to mirror the career-ops tracker to a Notion database and read records back as job leads.",
733
+ "version": "0.0.0"
734
+ }
735
+ ],
736
+ "sourceRepo": {
737
+ "owner": "santifer",
738
+ "repo": "career-ops",
739
+ "repoUrl": "https://github.com/santifer/career-ops.git"
740
+ },
741
+ "inferred": true
742
+ },
743
+ {
744
+ "version": 1,
745
+ "name": "santifer-career-ops-product-business",
746
+ "description": "Product, strategy, PRD, planning, finance, resume, and business workflow skills. Derived from santifer/career-ops.",
747
+ "author": "ASM (santifer/career-ops)",
748
+ "createdAt": "2026-07-07T08:54:19.922Z",
749
+ "tags": [
750
+ "repo-derived",
751
+ "inferred",
752
+ "product",
753
+ "business",
754
+ "planning",
755
+ "santifer",
756
+ "career-ops"
757
+ ],
758
+ "skills": [
759
+ {
760
+ "name": "career-ops",
761
+ "installUrl": "github:santifer/career-ops:.claude/skills/career-ops",
762
+ "description": "AI job search command center -- evaluate offers, generate CVs, scan portals, track applications",
763
+ "version": "0.0.0"
764
+ },
765
+ {
766
+ "name": "career-ops-plugin-{{NAME}}",
767
+ "installUrl": "github:santifer/career-ops:plugins/_template",
768
+ "description": "How to use the {{NAME}} plugin and the data it produces.",
769
+ "version": "0.0.0"
770
+ },
771
+ {
772
+ "name": "career-ops-plugin-apify",
773
+ "installUrl": "github:santifer/career-ops:plugins/apify",
774
+ "description": "How to scan a job source through an Apify actor as a keyed provider.",
775
+ "version": "0.0.0"
776
+ },
777
+ {
778
+ "name": "career-ops-plugin-gmail",
779
+ "installUrl": "github:santifer/career-ops:plugins/gmail",
780
+ "description": "How to pull job leads from a Gmail label into the career-ops pipeline.",
781
+ "version": "0.0.0"
782
+ },
783
+ {
784
+ "name": "career-ops-plugin-notion",
785
+ "installUrl": "github:santifer/career-ops:plugins/notion",
786
+ "description": "How to mirror the career-ops tracker to a Notion database and read records back as job leads.",
787
+ "version": "0.0.0"
788
+ }
789
+ ],
790
+ "sourceRepo": {
791
+ "owner": "santifer",
792
+ "repo": "career-ops",
793
+ "repoUrl": "https://github.com/santifer/career-ops.git"
794
+ },
795
+ "inferred": true
796
+ }
797
+ ]
798
+ }