agent-skill-manager 2.14.0 → 2.17.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 (80) hide show
  1. package/README.md +318 -121
  2. package/data/skill-index/Affitor_affiliate-skills.json +2375 -323
  3. package/data/skill-index/AvdLee_Core-Data-Agent-Skill.json +44 -6
  4. package/data/skill-index/AvdLee_Swift-Concurrency-Agent-Skill.json +49 -11
  5. package/data/skill-index/AvdLee_Swift-Testing-Agent-Skill.json +44 -6
  6. package/data/skill-index/AvdLee_SwiftUI-Agent-Skill.json +100 -24
  7. package/data/skill-index/AvdLee_Xcode-Build-Optimization-Agent-Skill.json +262 -34
  8. package/data/skill-index/Dimillian_Skills.json +699 -91
  9. package/data/skill-index/Egonex-AI_Understand-Anything.json +578 -81
  10. package/data/skill-index/Eronred_aso-skills.json +1729 -209
  11. package/data/skill-index/GPTomics_bioSkills.json +27195 -5839
  12. package/data/skill-index/Galaxy-Dawn_claude-scholar.json +1966 -256
  13. package/data/skill-index/Imbad0202_academic-research-skills.json +256 -98
  14. package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +13755 -5388
  15. package/data/skill-index/Leonxlnx_taste-skill.json +570 -76
  16. package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +44 -6
  17. package/data/skill-index/MiniMax-AI_skills.json +1007 -133
  18. package/data/skill-index/Paramchoudhary_ResumeSkills.json +960 -124
  19. package/data/skill-index/ParthJadhav_app-store-screenshots.json +185 -0
  20. package/data/skill-index/addyosmani_agent-skills.json +1127 -209
  21. package/data/skill-index/affaan-m_everything-claude-code.json +17427 -5038
  22. package/data/skill-index/alirezarezvani_claude-skills.json +20317 -3276
  23. package/data/skill-index/anthropics_skills.json +1256 -168
  24. package/data/skill-index/antithesishq_antithesis-skills.json +2567 -0
  25. package/data/skill-index/antonbabenko_terraform-skill.json +44 -6
  26. package/data/skill-index/badlogic_pi-skills.json +349 -45
  27. package/data/skill-index/briiirussell_cybersecurity-skills.json +1261 -159
  28. package/data/skill-index/bytedance_deer-flow.json +1572 -224
  29. package/data/skill-index/cloudai-x_threejs-skills.json +2007 -0
  30. package/data/skill-index/coreyhaines31_marketingskills.json +2846 -638
  31. package/data/skill-index/davidondrej_skills.json +6213 -783
  32. package/data/skill-index/emilkowalski_skills.json +2302 -0
  33. package/data/skill-index/entireio_skills.json +561 -63
  34. package/data/skill-index/garrytan_gstack.json +3023 -419
  35. package/data/skill-index/github_awesome-copilot.json +30442 -8371
  36. package/data/skill-index/google_skills.json +12472 -1527
  37. package/data/skill-index/heygen-com_hyperframes.json +2420 -454
  38. package/data/skill-index/himself65_finance-skills.json +1614 -254
  39. package/data/skill-index/ivan-magda_uikit-expert-skill.json +44 -6
  40. package/data/skill-index/kemiljk_fluid-design.json +44 -6
  41. package/data/skill-index/kepano_obsidian-skills.json +217 -27
  42. package/data/skill-index/luongnv89_asm.json +1887 -34
  43. package/data/skill-index/luongnv89_idd.json +369 -103
  44. package/data/skill-index/luongnv89_skills.json +2051 -900
  45. package/data/skill-index/mattpocock_skills.json +1910 -1027
  46. package/data/skill-index/mvanhorn_last30days-skill.json +50 -12
  47. package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +324 -64
  48. package/data/skill-index/obra_superpowers.json +651 -125
  49. package/data/skill-index/oliver-zehentleitner_keep-the-why.json +185 -0
  50. package/data/skill-index/romainsimon_paperasse.json +273 -45
  51. package/data/skill-index/rudrankriyam_app-store-connect-cli-skills.json +1539 -243
  52. package/data/skill-index/santifer_career-ops.json +44 -657
  53. package/data/skill-index/sickn33_antigravity-awesome-skills.json +123142 -36221
  54. package/data/skill-index/slavingia_skills.json +436 -56
  55. package/data/skill-index/twostraws_Swift-Concurrency-Agent-Skill.json +44 -6
  56. package/data/skill-index/twostraws_Swift-Testing-Agent-Skill.json +44 -6
  57. package/data/skill-index/twostraws_SwiftData-Agent-Skill.json +44 -6
  58. package/data/skill-index/twostraws_SwiftUI-Agent-Skill.json +44 -6
  59. package/data/skill-index/warpdotdev_oz-skills.json +651 -81
  60. package/data/skill-index/zarazhangrui_follow-builders.json +44 -6
  61. package/data/skill-index-resources.json +47 -2
  62. package/dist/agent-skill-manager.js +683 -603
  63. package/dist/chunk-BQ4RW237.js +20 -0
  64. package/dist/chunk-LH2C3PE7.js +3 -0
  65. package/dist/chunk-LS24FFOX.js +3 -0
  66. package/dist/chunk-RSVWCEZR.js +2 -0
  67. package/dist/config-AZYQEQOQ.js +2 -0
  68. package/dist/devtools-2L45W5A2.js +11 -0
  69. package/dist/lock-NN2MADX7.js +2 -0
  70. package/dist/src-BD3KFE5H.js +119 -0
  71. package/package.json +48 -22
  72. package/README.backup.md +0 -1237
  73. package/dist/chunk-7BMOBFGJ.js +0 -2
  74. package/dist/chunk-EOTW3XHQ.js +0 -3
  75. package/dist/chunk-P5N3FU3P.js +0 -3
  76. package/dist/chunk-UZ62MVXU.js +0 -19
  77. package/dist/config-KPT63KLE.js +0 -2
  78. package/dist/devtools-6JCLZ364.js +0 -8
  79. package/dist/lock-NOXBNSZW.js +0 -2
  80. package/dist/src-IHHUE6TP.js +0 -108
@@ -2,23 +2,25 @@
2
2
  "repoUrl": "https://github.com/santifer/career-ops.git",
3
3
  "owner": "santifer",
4
4
  "repo": "career-ops",
5
- "updatedAt": "2026-07-07T08:54:19.922Z",
6
- "skillCount": 5,
5
+ "updatedAt": "2026-08-21T09:20:04.764Z",
6
+ "skillCount": 1,
7
7
  "skills": [
8
8
  {
9
9
  "name": "career-ops",
10
- "description": "AI job search command center -- evaluate offers, generate CVs, scan portals, track applications",
10
+ "description": "AI job search command center -- evaluate offers, generate CVs, scan portals, track applications. Use when the user pastes a job URL or JD, asks to scan portals, generate a CV/PDF, track applications, prepare for interviews, draft outreach/emails, or run any career-ops mode.",
11
11
  "version": "0.0.0",
12
12
  "license": "MIT",
13
13
  "creator": "",
14
14
  "compatibility": "",
15
15
  "allowedTools": [],
16
+ "modelInvocable": true,
17
+ "userInvocable": true,
16
18
  "installUrl": "github:santifer/career-ops:.claude/skills/career-ops",
17
19
  "relPath": ".claude/skills/career-ops",
18
20
  "verified": true,
19
- "tokenCount": 2087,
21
+ "tokenCount": 2888,
20
22
  "evalSummary": {
21
- "overallScore": 69,
23
+ "overallScore": 76,
22
24
  "grade": "C",
23
25
  "categories": [
24
26
  {
@@ -30,7 +32,7 @@
30
32
  {
31
33
  "id": "description",
32
34
  "name": "Description quality",
33
- "score": 4,
35
+ "score": 5,
34
36
  "max": 10
35
37
  },
36
38
  {
@@ -42,440 +44,47 @@
42
44
  {
43
45
  "id": "context-efficiency",
44
46
  "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
47
  "score": 10,
64
48
  "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
49
  },
185
50
  {
186
51
  "id": "safety",
187
52
  "name": "Safety & guardrails",
188
- "score": 2,
53
+ "score": 8,
189
54
  "max": 10
190
55
  },
191
56
  {
192
57
  "id": "testability",
193
58
  "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,
59
+ "score": 1,
308
60
  "max": 10
309
61
  },
310
62
  {
311
- "id": "prompt-engineering",
312
- "name": "Prompt engineering",
63
+ "id": "license",
64
+ "name": "License verification",
313
65
  "score": 5,
314
66
  "max": 10
315
67
  },
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
68
  {
335
69
  "id": "naming",
336
70
  "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,
71
+ "score": 10,
463
72
  "max": 10
464
73
  },
465
74
  {
466
- "id": "testability",
467
- "name": "Testability",
468
- "score": 1,
75
+ "id": "pii",
76
+ "name": "PII detection",
77
+ "score": 10,
469
78
  "max": 10
470
79
  },
471
80
  {
472
- "id": "naming",
473
- "name": "Naming & conventions",
474
- "score": 9,
81
+ "id": "script-lint",
82
+ "name": "Script linting",
83
+ "score": 10,
475
84
  "max": 10
476
85
  }
477
86
  ],
478
- "evaluatedAt": "2026-07-07T08:54:19.922Z",
87
+ "evaluatedAt": "2026-08-21T09:20:04.762Z",
479
88
  "evaluatedVersion": "0.0.0"
480
89
  },
481
90
  "evalSummaries": {
@@ -484,8 +93,8 @@
484
93
  "providerVersion": "1.0.0",
485
94
  "schemaVersion": 1,
486
95
  "passed": true,
487
- "overallScore": 50,
488
- "grade": "D",
96
+ "overallScore": 76,
97
+ "grade": "C",
489
98
  "categories": [
490
99
  {
491
100
  "id": "structure",
@@ -496,25 +105,25 @@
496
105
  {
497
106
  "id": "description",
498
107
  "name": "Description quality",
499
- "score": 4,
108
+ "score": 5,
500
109
  "max": 10
501
110
  },
502
111
  {
503
112
  "id": "prompt-engineering",
504
113
  "name": "Prompt engineering",
505
- "score": 4,
114
+ "score": 9,
506
115
  "max": 10
507
116
  },
508
117
  {
509
118
  "id": "context-efficiency",
510
119
  "name": "Context efficiency",
511
- "score": 7,
120
+ "score": 10,
512
121
  "max": 10
513
122
  },
514
123
  {
515
124
  "id": "safety",
516
125
  "name": "Safety & guardrails",
517
- "score": 2,
126
+ "score": 8,
518
127
  "max": 10
519
128
  },
520
129
  {
@@ -524,150 +133,31 @@
524
133
  "max": 10
525
134
  },
526
135
  {
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,
136
+ "id": "license",
137
+ "name": "License verification",
138
+ "score": 5,
649
139
  "max": 10
650
140
  },
651
141
  {
652
- "id": "safety",
653
- "name": "Safety & guardrails",
654
- "score": 3,
142
+ "id": "naming",
143
+ "name": "Naming & conventions",
144
+ "score": 10,
655
145
  "max": 10
656
146
  },
657
147
  {
658
- "id": "testability",
659
- "name": "Testability",
660
- "score": 0,
148
+ "id": "pii",
149
+ "name": "PII detection",
150
+ "score": 10,
661
151
  "max": 10
662
152
  },
663
153
  {
664
- "id": "naming",
665
- "name": "Naming & conventions",
666
- "score": 9,
154
+ "id": "script-lint",
155
+ "name": "Script linting",
156
+ "score": 10,
667
157
  "max": 10
668
158
  }
669
159
  ],
670
- "evaluatedAt": "2026-07-07T08:54:19.922Z",
160
+ "evaluatedAt": "2026-08-21T09:20:04.762Z",
671
161
  "evaluatedVersion": "0.0.0"
672
162
  },
673
163
  "skill-best-practice": {
@@ -675,124 +165,21 @@
675
165
  "providerVersion": "1.1.0",
676
166
  "schemaVersion": 1,
677
167
  "passed": false,
678
- "overallScore": 69,
679
- "grade": "C",
168
+ "overallScore": 62,
169
+ "grade": "D",
680
170
  "categories": [
681
171
  {
682
172
  "id": "validation",
683
173
  "name": "Deterministic validation",
684
- "score": 9,
174
+ "score": 8,
685
175
  "max": 13
686
176
  }
687
177
  ],
688
- "evaluatedAt": "2026-07-07T08:54:19.922Z",
178
+ "evaluatedAt": "2026-08-21T09:20:04.762Z",
689
179
  "evaluatedVersion": "0.0.0"
690
180
  }
691
181
  }
692
182
  }
693
183
  ],
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
- ]
184
+ "bundles": []
798
185
  }