@kitman-sh/software-engineering 0.0.0-stage → 0.10.54

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.
@@ -0,0 +1,813 @@
1
+ import { defineKit } from '@kitman-sh/sdk/loop'
2
+ import {
3
+ build,
4
+ errand,
5
+ fileTasks,
6
+ hillclimb,
7
+ firewatch,
8
+ plan,
9
+ projectUpdate,
10
+ release,
11
+ research,
12
+ hindsight,
13
+ review,
14
+ shepherd,
15
+ sweep,
16
+ tidy
17
+ } from './src/index'
18
+
19
+ /** Its Loops by id, for a fork to spread the one it replaces. */
20
+ export { loops } from './src/index'
21
+
22
+ /** Where an Agent's Step goes when the Runner's default Harness cannot run, such as Claude Code out of quota. */
23
+ const fallbacks = [{ harness: 'pi' }]
24
+
25
+ /**
26
+ * Reviews run on Pi, off the Claude subscription, with another model family checking Opus's work; pi's `--model` is a
27
+ * fuzzy pattern with no alias for the latest Sol, so it is pinned and bumped here.
28
+ */
29
+ const reviewer = { harness: 'pi', model: 'openai-codex/gpt-6.1-sol', fallbacks: [{ harness: 'claude' }] }
30
+
31
+ /** Kitman's Kit for building software: its Loops, the Agents they run, and the skills those use. */
32
+ export default defineKit({
33
+ loops: [
34
+ build,
35
+ errand,
36
+ fileTasks,
37
+ hillclimb,
38
+ firewatch,
39
+ plan,
40
+ projectUpdate,
41
+ release,
42
+ research,
43
+ hindsight,
44
+ review,
45
+ shepherd,
46
+ sweep,
47
+ tidy
48
+ ],
49
+ // Each Agent lists the skills its role uses and opts into the tools it needs; the Run's other Kit skills it loads by
50
+ // name. A Step whose Kits lack a listed skill is told so, and the shipped prompts keep their fallbacks.
51
+ agents: {
52
+ implementer: {
53
+ effort: 'medium',
54
+ fallbacks,
55
+ skills: ['tdd', 'diagnosing-bugs'],
56
+ instructions: { file: 'agents/implementer.md' }
57
+ },
58
+ reviewer: { ...reviewer, effort: 'high', instructions: { file: 'agents/reviewer.md' } },
59
+ 'code-reviewer': { extends: 'reviewer', skills: ['code-review'] },
60
+ 'quality-reviewer': {
61
+ extends: 'reviewer',
62
+ skills: ['code-review-and-quality', 'security-and-hardening']
63
+ },
64
+ planner: {
65
+ effort: 'high',
66
+ fallbacks,
67
+ skills: ['grilling', 'domain-modeling'],
68
+ instructions: { file: 'agents/planner.md' }
69
+ },
70
+ releaser: {
71
+ effort: 'medium',
72
+ fallbacks,
73
+ skills: ['git-workflow-and-versioning', 'shipping-and-launch'],
74
+ instructions: { file: 'agents/releaser.md' }
75
+ },
76
+ investigator: {
77
+ effort: 'high',
78
+ fallbacks,
79
+ tools: ['web'],
80
+ skills: ['diagnosing-bugs'],
81
+ instructions: { file: 'agents/investigator.md' }
82
+ },
83
+ climber: { extends: 'investigator', skills: ['performance-optimization'] },
84
+ surveyor: { extends: 'investigator', tools: ['subagents'], skills: ['codebase-design'] },
85
+ researcher: {
86
+ effort: 'high',
87
+ fallbacks,
88
+ tools: ['web'],
89
+ skills: ['research'],
90
+ instructions: { file: 'agents/researcher.md' }
91
+ },
92
+ writer: { effort: 'medium', fallbacks, instructions: { file: 'agents/writer.md' } }
93
+ },
94
+ setup: {
95
+ instructions: 'INSTRUCTIONS.md',
96
+ // Matt Pocock's skills, then Addy Osmani's where Matt's have no counterpart, then the stack skills, which load by name
97
+ // and are named in a Step's brief when the checkout fits their appliesTo.
98
+ skills: [
99
+ {
100
+ name: 'wayfinder',
101
+ policy: 'recommended',
102
+ source: {
103
+ kind: 'git',
104
+ url: 'https://github.com/mattpocock/skills.git',
105
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
106
+ path: 'skills/engineering/wayfinder'
107
+ }
108
+ },
109
+ {
110
+ name: 'ask-matt',
111
+ policy: 'recommended',
112
+ source: {
113
+ kind: 'git',
114
+ url: 'https://github.com/mattpocock/skills.git',
115
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
116
+ path: 'skills/engineering/ask-matt'
117
+ }
118
+ },
119
+ {
120
+ name: 'code-review',
121
+ policy: 'recommended',
122
+ source: {
123
+ kind: 'git',
124
+ url: 'https://github.com/mattpocock/skills.git',
125
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
126
+ path: 'skills/engineering/code-review'
127
+ }
128
+ },
129
+ {
130
+ name: 'codebase-design',
131
+ policy: 'recommended',
132
+ source: {
133
+ kind: 'git',
134
+ url: 'https://github.com/mattpocock/skills.git',
135
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
136
+ path: 'skills/engineering/codebase-design'
137
+ }
138
+ },
139
+ {
140
+ name: 'diagnosing-bugs',
141
+ policy: 'recommended',
142
+ source: {
143
+ kind: 'git',
144
+ url: 'https://github.com/mattpocock/skills.git',
145
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
146
+ path: 'skills/engineering/diagnosing-bugs'
147
+ }
148
+ },
149
+ {
150
+ name: 'domain-modeling',
151
+ policy: 'recommended',
152
+ source: {
153
+ kind: 'git',
154
+ url: 'https://github.com/mattpocock/skills.git',
155
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
156
+ path: 'skills/engineering/domain-modeling'
157
+ }
158
+ },
159
+ {
160
+ name: 'grill-with-docs',
161
+ policy: 'recommended',
162
+ source: {
163
+ kind: 'git',
164
+ url: 'https://github.com/mattpocock/skills.git',
165
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
166
+ path: 'skills/engineering/grill-with-docs'
167
+ }
168
+ },
169
+ {
170
+ name: 'implement',
171
+ policy: 'recommended',
172
+ source: {
173
+ kind: 'git',
174
+ url: 'https://github.com/mattpocock/skills.git',
175
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
176
+ path: 'skills/engineering/implement'
177
+ }
178
+ },
179
+ {
180
+ name: 'implement-spec',
181
+ policy: 'recommended',
182
+ source: {
183
+ kind: 'git',
184
+ url: 'https://github.com/mattpocock/skills.git',
185
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
186
+ path: 'skills/engineering/implement-spec'
187
+ }
188
+ },
189
+ {
190
+ name: 'improve-codebase-architecture',
191
+ policy: 'recommended',
192
+ source: {
193
+ kind: 'git',
194
+ url: 'https://github.com/mattpocock/skills.git',
195
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
196
+ path: 'skills/engineering/improve-codebase-architecture'
197
+ }
198
+ },
199
+ {
200
+ name: 'pr',
201
+ policy: 'recommended',
202
+ source: {
203
+ kind: 'git',
204
+ url: 'https://github.com/mattpocock/skills.git',
205
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
206
+ path: 'skills/engineering/pr'
207
+ }
208
+ },
209
+ {
210
+ name: 'prototype',
211
+ policy: 'recommended',
212
+ source: {
213
+ kind: 'git',
214
+ url: 'https://github.com/mattpocock/skills.git',
215
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
216
+ path: 'skills/engineering/prototype'
217
+ }
218
+ },
219
+ {
220
+ name: 'research',
221
+ policy: 'recommended',
222
+ source: {
223
+ kind: 'git',
224
+ url: 'https://github.com/mattpocock/skills.git',
225
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
226
+ path: 'skills/engineering/research'
227
+ }
228
+ },
229
+ {
230
+ name: 'retro',
231
+ policy: 'recommended',
232
+ source: {
233
+ kind: 'git',
234
+ url: 'https://github.com/mattpocock/skills.git',
235
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
236
+ path: 'skills/engineering/retro'
237
+ }
238
+ },
239
+ {
240
+ name: 'setup-matt-pocock-skills',
241
+ policy: 'recommended',
242
+ source: {
243
+ kind: 'git',
244
+ url: 'https://github.com/mattpocock/skills.git',
245
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
246
+ path: 'skills/engineering/setup-matt-pocock-skills'
247
+ }
248
+ },
249
+ {
250
+ name: 'tdd',
251
+ policy: 'recommended',
252
+ source: {
253
+ kind: 'git',
254
+ url: 'https://github.com/mattpocock/skills.git',
255
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
256
+ path: 'skills/engineering/tdd'
257
+ }
258
+ },
259
+ {
260
+ name: 'to-spec',
261
+ policy: 'recommended',
262
+ source: {
263
+ kind: 'git',
264
+ url: 'https://github.com/mattpocock/skills.git',
265
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
266
+ path: 'skills/engineering/to-spec'
267
+ }
268
+ },
269
+ {
270
+ name: 'to-tickets',
271
+ policy: 'recommended',
272
+ source: {
273
+ kind: 'git',
274
+ url: 'https://github.com/mattpocock/skills.git',
275
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
276
+ path: 'skills/engineering/to-tickets'
277
+ }
278
+ },
279
+ {
280
+ name: 'triage',
281
+ policy: 'recommended',
282
+ source: {
283
+ kind: 'git',
284
+ url: 'https://github.com/mattpocock/skills.git',
285
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
286
+ path: 'skills/engineering/triage'
287
+ }
288
+ },
289
+ {
290
+ name: 'wizard',
291
+ policy: 'recommended',
292
+ source: {
293
+ kind: 'git',
294
+ url: 'https://github.com/mattpocock/skills.git',
295
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
296
+ path: 'skills/engineering/wizard'
297
+ }
298
+ },
299
+ {
300
+ name: 'grill-me',
301
+ policy: 'recommended',
302
+ source: {
303
+ kind: 'git',
304
+ url: 'https://github.com/mattpocock/skills.git',
305
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
306
+ path: 'skills/productivity/grill-me'
307
+ }
308
+ },
309
+ {
310
+ name: 'grilling',
311
+ policy: 'recommended',
312
+ source: {
313
+ kind: 'git',
314
+ url: 'https://github.com/mattpocock/skills.git',
315
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
316
+ path: 'skills/productivity/grilling'
317
+ }
318
+ },
319
+ {
320
+ name: 'handoff',
321
+ policy: 'recommended',
322
+ source: {
323
+ kind: 'git',
324
+ url: 'https://github.com/mattpocock/skills.git',
325
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
326
+ path: 'skills/productivity/handoff'
327
+ }
328
+ },
329
+ {
330
+ name: 'teach',
331
+ policy: 'recommended',
332
+ source: {
333
+ kind: 'git',
334
+ url: 'https://github.com/mattpocock/skills.git',
335
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
336
+ path: 'skills/productivity/teach'
337
+ }
338
+ },
339
+ {
340
+ name: 'to-questionnaire',
341
+ policy: 'recommended',
342
+ source: {
343
+ kind: 'git',
344
+ url: 'https://github.com/mattpocock/skills.git',
345
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
346
+ path: 'skills/productivity/to-questionnaire'
347
+ }
348
+ },
349
+ {
350
+ name: 'wait-what',
351
+ policy: 'recommended',
352
+ source: {
353
+ kind: 'git',
354
+ url: 'https://github.com/mattpocock/skills.git',
355
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
356
+ path: 'skills/productivity/wait-what'
357
+ }
358
+ },
359
+ {
360
+ name: 'writing-for-agents',
361
+ policy: 'recommended',
362
+ source: {
363
+ kind: 'git',
364
+ url: 'https://github.com/mattpocock/skills.git',
365
+ ref: 'a496f5513d4a4cf889bc48e189e579f4b0bdf6aa',
366
+ path: 'skills/productivity/writing-for-agents'
367
+ }
368
+ },
369
+ {
370
+ name: 'api-and-interface-design',
371
+ policy: 'recommended',
372
+ source: {
373
+ kind: 'git',
374
+ url: 'https://github.com/addyosmani/agent-skills.git',
375
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
376
+ path: 'skills/api-and-interface-design'
377
+ }
378
+ },
379
+ {
380
+ name: 'browser-testing-with-devtools',
381
+ policy: 'recommended',
382
+ source: {
383
+ kind: 'git',
384
+ url: 'https://github.com/addyosmani/agent-skills.git',
385
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
386
+ path: 'skills/browser-testing-with-devtools'
387
+ }
388
+ },
389
+ {
390
+ name: 'ci-cd-and-automation',
391
+ policy: 'recommended',
392
+ source: {
393
+ kind: 'git',
394
+ url: 'https://github.com/addyosmani/agent-skills.git',
395
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
396
+ path: 'skills/ci-cd-and-automation'
397
+ }
398
+ },
399
+ {
400
+ name: 'code-review-and-quality',
401
+ policy: 'recommended',
402
+ source: {
403
+ kind: 'git',
404
+ url: 'https://github.com/addyosmani/agent-skills.git',
405
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
406
+ path: 'skills/code-review-and-quality'
407
+ }
408
+ },
409
+ {
410
+ name: 'code-simplification',
411
+ policy: 'recommended',
412
+ source: {
413
+ kind: 'git',
414
+ url: 'https://github.com/addyosmani/agent-skills.git',
415
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
416
+ path: 'skills/code-simplification'
417
+ }
418
+ },
419
+ {
420
+ name: 'constraint-driven-development',
421
+ policy: 'recommended',
422
+ source: {
423
+ kind: 'git',
424
+ url: 'https://github.com/addyosmani/agent-skills.git',
425
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
426
+ path: 'skills/constraint-driven-development'
427
+ }
428
+ },
429
+ {
430
+ name: 'context-engineering',
431
+ policy: 'recommended',
432
+ source: {
433
+ kind: 'git',
434
+ url: 'https://github.com/addyosmani/agent-skills.git',
435
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
436
+ path: 'skills/context-engineering'
437
+ }
438
+ },
439
+ {
440
+ name: 'deprecation-and-migration',
441
+ policy: 'recommended',
442
+ source: {
443
+ kind: 'git',
444
+ url: 'https://github.com/addyosmani/agent-skills.git',
445
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
446
+ path: 'skills/deprecation-and-migration'
447
+ }
448
+ },
449
+ {
450
+ name: 'doubt-driven-development',
451
+ policy: 'recommended',
452
+ source: {
453
+ kind: 'git',
454
+ url: 'https://github.com/addyosmani/agent-skills.git',
455
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
456
+ path: 'skills/doubt-driven-development'
457
+ }
458
+ },
459
+ {
460
+ name: 'frontend-ui-engineering',
461
+ policy: 'recommended',
462
+ source: {
463
+ kind: 'git',
464
+ url: 'https://github.com/addyosmani/agent-skills.git',
465
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
466
+ path: 'skills/frontend-ui-engineering'
467
+ }
468
+ },
469
+ {
470
+ name: 'git-workflow-and-versioning',
471
+ policy: 'recommended',
472
+ source: {
473
+ kind: 'git',
474
+ url: 'https://github.com/addyosmani/agent-skills.git',
475
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
476
+ path: 'skills/git-workflow-and-versioning'
477
+ }
478
+ },
479
+ {
480
+ name: 'idea-refine',
481
+ policy: 'recommended',
482
+ source: {
483
+ kind: 'git',
484
+ url: 'https://github.com/addyosmani/agent-skills.git',
485
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
486
+ path: 'skills/idea-refine'
487
+ }
488
+ },
489
+ {
490
+ name: 'incremental-implementation',
491
+ policy: 'recommended',
492
+ source: {
493
+ kind: 'git',
494
+ url: 'https://github.com/addyosmani/agent-skills.git',
495
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
496
+ path: 'skills/incremental-implementation'
497
+ }
498
+ },
499
+ {
500
+ name: 'observability-and-instrumentation',
501
+ policy: 'recommended',
502
+ source: {
503
+ kind: 'git',
504
+ url: 'https://github.com/addyosmani/agent-skills.git',
505
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
506
+ path: 'skills/observability-and-instrumentation'
507
+ }
508
+ },
509
+ {
510
+ name: 'performance-optimization',
511
+ policy: 'recommended',
512
+ source: {
513
+ kind: 'git',
514
+ url: 'https://github.com/addyosmani/agent-skills.git',
515
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
516
+ path: 'skills/performance-optimization'
517
+ }
518
+ },
519
+ {
520
+ name: 'security-and-hardening',
521
+ policy: 'recommended',
522
+ source: {
523
+ kind: 'git',
524
+ url: 'https://github.com/addyosmani/agent-skills.git',
525
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
526
+ path: 'skills/security-and-hardening'
527
+ }
528
+ },
529
+ {
530
+ name: 'shipping-and-launch',
531
+ policy: 'recommended',
532
+ source: {
533
+ kind: 'git',
534
+ url: 'https://github.com/addyosmani/agent-skills.git',
535
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
536
+ path: 'skills/shipping-and-launch'
537
+ }
538
+ },
539
+ {
540
+ name: 'source-driven-development',
541
+ policy: 'recommended',
542
+ source: {
543
+ kind: 'git',
544
+ url: 'https://github.com/addyosmani/agent-skills.git',
545
+ ref: 'eb07f19f52c2669f2364897aaa293e2aaddd7b1c',
546
+ path: 'skills/source-driven-development'
547
+ }
548
+ },
549
+ {
550
+ name: 'improve',
551
+ policy: 'recommended',
552
+ source: {
553
+ kind: 'git',
554
+ url: 'https://github.com/shadcn/improve.git',
555
+ ref: 'cac56e1ebd3c279aa9153616cfeac7b174ab90f9',
556
+ path: 'skills/improve'
557
+ }
558
+ },
559
+ {
560
+ name: 'docster',
561
+ policy: 'recommended',
562
+ source: {
563
+ kind: 'git',
564
+ url: 'https://github.com/atinux/docster.git',
565
+ ref: '9a59d9905e051dbb14943cb8dad07d4617aa678b'
566
+ }
567
+ },
568
+ {
569
+ name: 'effect-ts',
570
+ policy: 'recommended',
571
+ source: {
572
+ kind: 'git',
573
+ url: 'https://github.com/Effect-TS/skills.git',
574
+ ref: '155c50c911f9c99c294ef8a4461981c5bbe6453e',
575
+ path: 'skills/effect-ts'
576
+ },
577
+ appliesTo: {
578
+ dependencies: ['effect', '@effect/*']
579
+ }
580
+ },
581
+ {
582
+ name: 'postgres-drizzle',
583
+ policy: 'recommended',
584
+ source: {
585
+ kind: 'git',
586
+ url: 'https://github.com/ccheney/robust-skills.git',
587
+ ref: '0eea7b060d12e3520556a73b15fbfa79480987d1',
588
+ path: 'skills/postgres-drizzle'
589
+ },
590
+ appliesTo: {
591
+ dependencies: ['drizzle-orm']
592
+ }
593
+ },
594
+ {
595
+ name: 'building-restate-services',
596
+ policy: 'recommended',
597
+ source: {
598
+ kind: 'git',
599
+ url: 'https://github.com/restatedev/skills.git',
600
+ ref: '97488c982132f08bcb286b9d54f7d15afa00d5a9',
601
+ path: 'plugins/restatedev/skills/building-restate-services'
602
+ },
603
+ appliesTo: {
604
+ dependencies: ['@restatedev/*']
605
+ }
606
+ },
607
+ {
608
+ name: 'nuxt',
609
+ policy: 'recommended',
610
+ source: {
611
+ kind: 'git',
612
+ url: 'https://github.com/antfu/skills.git',
613
+ ref: '8886fe2d385d3644cbb47e46ae9cb1cf09307d3b',
614
+ path: 'skills/nuxt'
615
+ },
616
+ appliesTo: {
617
+ dependencies: ['nuxt']
618
+ }
619
+ },
620
+ {
621
+ name: 'vue',
622
+ policy: 'recommended',
623
+ source: {
624
+ kind: 'git',
625
+ url: 'https://github.com/antfu/skills.git',
626
+ ref: '8886fe2d385d3644cbb47e46ae9cb1cf09307d3b',
627
+ path: 'skills/vue'
628
+ },
629
+ appliesTo: {
630
+ dependencies: ['vue']
631
+ }
632
+ },
633
+ {
634
+ name: 'nuxt-ui',
635
+ policy: 'recommended',
636
+ source: {
637
+ kind: 'git',
638
+ url: 'https://github.com/nuxt/ui.git',
639
+ ref: '200b0bfb7a5666c870742f3f43c83cf09234aed9',
640
+ path: 'skills/nuxt-ui'
641
+ },
642
+ appliesTo: {
643
+ dependencies: ['@nuxt/ui']
644
+ }
645
+ },
646
+ {
647
+ name: 'frontend-design',
648
+ policy: 'recommended',
649
+ source: {
650
+ kind: 'git',
651
+ url: 'https://github.com/anthropics/skills.git',
652
+ ref: 'ca45fc496a3436251f191354091d557da31c15b5',
653
+ path: 'skills/frontend-design'
654
+ }
655
+ },
656
+ {
657
+ name: 'kubernetes-specialist',
658
+ policy: 'recommended',
659
+ source: {
660
+ kind: 'git',
661
+ url: 'https://github.com/jeffallan/claude-skills.git',
662
+ ref: '143243cb2da0e52b02a766fa69c1ff77a71cc73c',
663
+ path: 'skills/kubernetes-specialist'
664
+ },
665
+ appliesTo: {
666
+ files: ['**/Chart.yaml', '**/kustomization.yaml', 'k8s/**/*.yaml']
667
+ }
668
+ },
669
+ {
670
+ name: 'gitlab-ci-patterns',
671
+ policy: 'recommended',
672
+ source: {
673
+ kind: 'git',
674
+ url: 'https://github.com/wshobson/agents.git',
675
+ ref: '0874a27b17a22e2b7c2e2bcd725768e0803cad06',
676
+ path: 'plugins/cicd-automation/skills/gitlab-ci-patterns'
677
+ },
678
+ appliesTo: {
679
+ files: ['.gitlab-ci.yml']
680
+ }
681
+ },
682
+ {
683
+ name: 'gitops-workflow',
684
+ policy: 'recommended',
685
+ source: {
686
+ kind: 'git',
687
+ url: 'https://github.com/wshobson/agents.git',
688
+ ref: '0874a27b17a22e2b7c2e2bcd725768e0803cad06',
689
+ path: 'plugins/kubernetes-operations/skills/gitops-workflow'
690
+ },
691
+ appliesTo: {
692
+ files: ['**/flux-system/**', '**/argocd/**/*.yaml']
693
+ }
694
+ },
695
+ {
696
+ name: 'terraform-style-guide',
697
+ policy: 'recommended',
698
+ source: {
699
+ kind: 'git',
700
+ url: 'https://github.com/hashicorp/agent-skills.git',
701
+ ref: 'bc6b14b77481c3cbfbb06a0166be7245ed45798c',
702
+ path: 'plugins/terraform/skills/terraform-style-guide'
703
+ },
704
+ appliesTo: {
705
+ files: ['**/*.tf']
706
+ }
707
+ },
708
+ {
709
+ name: 'connect-recommend',
710
+ policy: 'recommended',
711
+ source: {
712
+ kind: 'git',
713
+ url: 'https://github.com/stripe/ai.git',
714
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
715
+ path: 'providers/agent-plugins/plugin/skills/connect-recommend'
716
+ }
717
+ },
718
+ {
719
+ name: 'connect-required-verification-information',
720
+ policy: 'recommended',
721
+ source: {
722
+ kind: 'git',
723
+ url: 'https://github.com/stripe/ai.git',
724
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
725
+ path: 'providers/agent-plugins/plugin/skills/connect-required-verification-information'
726
+ }
727
+ },
728
+ {
729
+ name: 'metronome',
730
+ policy: 'recommended',
731
+ source: {
732
+ kind: 'git',
733
+ url: 'https://github.com/stripe/ai.git',
734
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
735
+ path: 'providers/agent-plugins/plugin/skills/metronome'
736
+ }
737
+ },
738
+ {
739
+ name: 'stripe-apps',
740
+ policy: 'recommended',
741
+ source: {
742
+ kind: 'git',
743
+ url: 'https://github.com/stripe/ai.git',
744
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
745
+ path: 'providers/agent-plugins/plugin/skills/stripe-apps'
746
+ }
747
+ },
748
+ {
749
+ name: 'stripe-best-practices',
750
+ policy: 'recommended',
751
+ source: {
752
+ kind: 'git',
753
+ url: 'https://github.com/stripe/ai.git',
754
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
755
+ path: 'providers/agent-plugins/plugin/skills/stripe-best-practices'
756
+ },
757
+ appliesTo: {
758
+ dependencies: ['stripe', '@stripe/*']
759
+ }
760
+ },
761
+ {
762
+ name: 'stripe-directory',
763
+ policy: 'recommended',
764
+ source: {
765
+ kind: 'git',
766
+ url: 'https://github.com/stripe/ai.git',
767
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
768
+ path: 'providers/agent-plugins/plugin/skills/stripe-directory'
769
+ }
770
+ },
771
+ {
772
+ name: 'stripe-docs',
773
+ policy: 'recommended',
774
+ source: {
775
+ kind: 'git',
776
+ url: 'https://github.com/stripe/ai.git',
777
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
778
+ path: 'providers/agent-plugins/plugin/skills/stripe-docs'
779
+ }
780
+ },
781
+ {
782
+ name: 'stripe-pay',
783
+ policy: 'recommended',
784
+ source: {
785
+ kind: 'git',
786
+ url: 'https://github.com/stripe/ai.git',
787
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
788
+ path: 'providers/agent-plugins/plugin/skills/stripe-pay'
789
+ }
790
+ },
791
+ {
792
+ name: 'stripe-projects',
793
+ policy: 'recommended',
794
+ source: {
795
+ kind: 'git',
796
+ url: 'https://github.com/stripe/ai.git',
797
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
798
+ path: 'providers/agent-plugins/plugin/skills/stripe-projects'
799
+ }
800
+ },
801
+ {
802
+ name: 'upgrade-stripe',
803
+ policy: 'recommended',
804
+ source: {
805
+ kind: 'git',
806
+ url: 'https://github.com/stripe/ai.git',
807
+ ref: 'a00f53b41970d2926d2b072fb54d2222501651f7',
808
+ path: 'providers/agent-plugins/plugin/skills/upgrade-stripe'
809
+ }
810
+ }
811
+ ]
812
+ }
813
+ })