-
Notifications
You must be signed in to change notification settings - Fork 307
Expand file tree
/
Copy pathdata.json
More file actions
1758 lines (1758 loc) · 77.5 KB
/
Copy pathdata.json
File metadata and controls
1758 lines (1758 loc) · 77.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"name": "ai-helpers",
"owner": "openshift-eng",
"plugins": [
{
"commands": [
{
"argument_hint": "<commit> <branch1> [branch2...] [--new-branch]",
"description": "Backport commits to multiple branches",
"name": "backport",
"synopsis": "/git:backport <commit> <branch1> [branch2...] [--new-branch|-b]"
},
{
"argument_hint": "[good-commit] [bad-commit]",
"description": "Interactive git bisect assistant with pattern detection and automation",
"name": "bisect",
"synopsis": "/git:bisect # Fully interactive - will ask for all inputs"
},
{
"argument_hint": "[--dry-run] [--merged-only] [--remote]",
"description": "Clean up old and defunct branches that are no longer needed",
"name": "branch-cleanup",
"synopsis": "/git:branch-cleanup [--dry-run] [--merged-only] [--remote]"
},
{
"argument_hint": "<commit_hash>",
"description": "Cherry-pick git commit into current branch by \"patch\" command",
"name": "cherry-pick-by-patch",
"synopsis": "/git:cherry-pick-by-patch commit_hash"
},
{
"argument_hint": "[N]",
"description": "Generate Conventional Commits style commit messages or summarize existing commits",
"name": "commit-suggest",
"synopsis": "/git:commit-suggest # Analyze staged changes"
},
{
"argument_hint": "",
"description": "Analyze technical debt indicators in the repository",
"name": "debt-scan",
"synopsis": "/git:debt-scan"
},
{
"argument_hint": "<pr-url> [error-messages]",
"description": "Fix a cherrypick-robot PR that needs manual intervention",
"name": "fix-cherrypick-robot-pr",
"synopsis": "/git:fix-cherrypick-robot-pr <pr-url> [error-messages]"
},
{
"argument_hint": "[pr-url]",
"description": "Adapt and correct a PR description to match its code diffs and commit messages",
"name": "redescribe",
"synopsis": "/git:redescribe # Redescribe the PR for the current branch"
},
{
"argument_hint": "[base-branch]",
"description": "Suggest appropriate reviewers for a PR based on git blame and OWNERS files",
"name": "suggest-reviewers",
"synopsis": "/git:suggest-reviewers [base-branch]"
},
{
"argument_hint": "",
"description": "Show current branch, git status, and recent commits for quick context",
"name": "summary",
"synopsis": "/git:summary"
}
],
"description": "Git Plugin",
"has_readme": true,
"hooks": [],
"name": "git",
"skills": [
{
"description": "Git blame analysis helper for the suggest-reviewers command",
"id": "suggest-reviewers",
"name": "Suggest Reviewers Helper"
}
],
"version": "0.0.5"
},
{
"commands": [
{
"argument_hint": "[name]",
"description": "Hello world plugin implementation",
"name": "echo",
"synopsis": "/hello-world:echo [name]"
}
],
"description": "Hello World Plugin",
"has_readme": true,
"hooks": [],
"name": "hello-world",
"skills": [],
"version": "1.0.1"
},
{
"commands": [
{
"argument_hint": "[project-key] [--assignee username] [--days-inactive N]",
"description": "Find suitable JIRA tickets from the backlog to work on based on priority and activity",
"name": "backlog",
"synopsis": "/jira:backlog [project-key] [--assignee username] [--days-inactive N]"
},
{
"argument_hint": "<issue-key> [--auto-apply]",
"description": "Categorize JIRA tickets into activity types using AI",
"name": "categorize-activity-type",
"synopsis": "/jira:categorize-activity-type <issue-key> [--auto-apply]"
},
{
"argument_hint": "<issue-number> [issue-number...] [--github-project <org/repo>] [--jira-project <key>] [--dryrun]",
"description": "Clone GitHub issues to Jira with proper formatting and linking",
"name": "clone-from-github",
"synopsis": "/jira:clone-from-github <issue-number> [issue-number...] [options]"
},
{
"argument_hint": "<issue-key>",
"description": "Generate bug fix release notes from Jira tickets and linked GitHub PRs",
"name": "create-release-note",
"synopsis": "/jira:create-release-note <issue-key>"
},
{
"argument_hint": "<type> [project-key] <summary> [--component <name>] [--version <version>] [--parent <key>]",
"description": "Create Jira issues (story, epic, feature, task, bug, feature-request) with proper formatting",
"name": "create",
"synopsis": "/jira:create <type> [project-key] <summary> [options]"
},
{
"argument_hint": "<issue-key>",
"description": "Generate OpenShift enhancement proposal markdown from a Jira epic or feature",
"name": "generate-enhancement",
"synopsis": "/jira:generate-enhancement <issue-key>"
},
{
"argument_hint": "<feature-key>",
"description": "Generate comprehensive feature documentation from Jira feature and all related issues and PRs",
"name": "generate-feature-doc",
"synopsis": "/jira:generate-feature-doc <feature-key>"
},
{
"argument_hint": "[JIRA issue key] [GitHub PR URLs]",
"description": "Generate test steps for a JIRA issue",
"name": "generate-test-plan",
"synopsis": ""
},
{
"argument_hint": "[project-filter] [time-period] [--component component-name] [--label label-name] [--type issue-type] [--status status] [--story-points]",
"description": "Analyze new bugs and cards added over a time period and generate grooming meeting agenda",
"name": "grooming",
"synopsis": "/jira:grooming [project-filter] [time-period] [--component component-name] [--label label-name] [--type issue-type] [--status status] [--story-points]"
},
{
"argument_hint": "<project-key> [time-period] [--component name] [--assignee username] [--reporter username] [--status status] [--search term] [--search-description]",
"description": "List and analyze JIRA issues organized by component with flexible filtering",
"name": "issues-by-component",
"synopsis": "/jira:issues-by-component <project-key> [time-period] [--component component-name] [--assignee username] [--reporter username] [--status status] [--search search-term] [--search-description]"
},
{
"argument_hint": "[--github-project <org/repo>] [--jira-project <key>] [--profile <name>] [--porcelain] [--output json|yaml]",
"description": "Reconcile state mismatches between GitHub and Jira issues",
"name": "reconcile-github",
"synopsis": "/jira:reconcile-github [options]"
},
{
"argument_hint": "",
"description": "Install and configure the gh2jira utility with all required tools and credentials",
"name": "setup-gh2jira",
"synopsis": "/jira:setup-gh2jira"
},
{
"argument_hint": "",
"description": "Analyze a JIRA issue and create a pull request to solve it.",
"name": "solve",
"synopsis": "/jira:solve <jira-issue-id> [remote] [--ci]"
},
{
"argument_hint": "issue-id [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD]",
"description": "Generate a status rollup comment for any JIRA issue based on all child issues and a given date range",
"name": "status-rollup",
"synopsis": "/jira:status-rollup issue-id [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD]"
},
{
"argument_hint": "[project-key] [--component name] [--label label-name] [user-filters...]",
"description": "Update weekly status summaries for Jira issues with component and user filtering",
"name": "update-weekly-status",
"synopsis": "/jira:update-weekly-status [project-key] [--component <component-name>] [--label <label-name>] [user-filters...]"
},
{
"argument_hint": "[target-version] [component-filter] [--bug issue-key]",
"description": "Validate proposed release blockers using Red Hat OpenShift release blocker criteria",
"name": "validate-blockers",
"synopsis": "/jira:validate-blockers [target-version] [component-filter] [--bug issue-key]"
}
],
"description": "A plugin to automate tasks with Jira",
"has_readme": true,
"hooks": [],
"name": "jira",
"skills": [
{
"description": "Detailed categorization logic for assigning JIRA tickets to activity type categories",
"id": "categorize-activity-type",
"name": "JIRA Activity Type Categorizer"
},
{
"description": "Jira conventions for the CNTRLPLANE project used by OpenShift teams",
"id": "cntrlplane",
"name": "CNTRLPLANE Jira Conventions"
},
{
"description": "Implementation guide for creating well-formed Jira bug reports",
"id": "create-bug",
"name": "Create Jira Bug"
},
{
"description": "Implementation guide for creating Jira epics with proper scope and parent linking",
"id": "create-epic",
"name": "Create Jira Epic"
},
{
"description": "Implementation guide for creating Jira features representing strategic objectives and market problems",
"id": "create-feature",
"name": "Create Jira Feature"
},
{
"description": "Implementation guide for creating Feature Requests in the RFE project",
"id": "create-feature-request",
"name": "Create Jira Feature Request"
},
{
"description": "Detailed implementation guide for generating bug fix release notes from Jira and GitHub PRs",
"id": "create-release-note",
"name": "Create Release Note"
},
{
"description": "Implementation guide for creating well-formed Jira user stories with acceptance criteria",
"id": "create-story",
"name": "Create Jira Story"
},
{
"description": "Implementation guide for creating Jira tasks for technical and operational work",
"id": "create-task",
"name": "Create Jira Task"
},
{
"description": "Recursively extract GitHub Pull Request links from Jira issues",
"id": "extract-prs",
"name": "Jira Pull Request Extractor"
},
{
"description": "GCP HCP team-specific Jira requirements for creating issues in the GCP project (Hypershift on GKE)",
"id": "gcp-hcp",
"name": "GCP HCP Jira Conventions"
},
{
"description": "Generate OpenShift enhancement proposal markdown from Jira epic or feature content",
"id": "generate-enhancement",
"name": "Generate Enhancement from Jira Epic or Feature"
},
{
"description": "HyperShift team-specific Jira requirements for component selection and conventions",
"id": "hypershift",
"name": "HyperShift Jira Conventions"
},
{
"description": "Detailed implementation guide for recursively analyzing Jira features and generating comprehensive documentation",
"id": "jira-doc-generator",
"name": "Jira Feature Documentation Generator"
},
{
"description": "Provides secure curl wrapper for the jira:issues-by-component command to prevent token exposure",
"id": "jira-issues-by-component",
"name": "JIRA Issues by Component - Helper Skill"
},
{
"description": "Detailed implementation guide for validating proposed release blockers",
"id": "jira-validate-blockers",
"name": "JIRA Release Blocker Validator"
},
{
"description": "Jira conventions and bug templates for the OCPBUGS project",
"id": "ocpbugs",
"name": "OCPBUGS Jira Conventions"
},
{
"description": "Shared engine for analyzing Jira issue activity and generating status summaries",
"id": "status-analysis",
"name": "Jira Status Analysis Engine"
}
],
"version": "0.3.9"
},
{
"commands": [
{
"argument_hint": "<workflow-or-job-name> [timeout]",
"description": "Add a wait step to a CI workflow for debugging test failures",
"name": "add-debug-wait",
"synopsis": "/ci:add-debug-wait <workflow-or-job-name> [timeout]"
},
{
"argument_hint": "<prowjob-url-1> [prowjob-url-2 ...] [--backends backend1,backend2,...]",
"description": "Analyze and compare disruption across one or more Prow CI job runs",
"name": "analyze-disruption",
"synopsis": ""
},
{
"argument_hint": "<payload-tag> [--lookback N]",
"description": "Analyze a payload (rejected, accepted, or in-progress) with historical lookback to identify root causes of blocking job failures",
"name": "analyze-payload",
"synopsis": "/ci:analyze-payload <payload-tag> [--lookback N]"
},
{
"argument_hint": "[limit]",
"description": "Analyze recent PR reverts to identify patterns and recommend preventive measures",
"name": "analyze-pr-reverts",
"synopsis": "/ci:analyze-pr-reverts [limit]"
},
{
"argument_hint": "<prowjob-url>",
"description": "Analyze OpenShift installation failures in Prow CI jobs",
"name": "analyze-prow-job-install-failure",
"synopsis": "/ci:analyze-prow-job-install-failure <prowjob-url>"
},
{
"argument_hint": "prowjob-url resource-name",
"description": "Analyze Kubernetes resource lifecycle in Prow job artifacts",
"name": "analyze-prow-job-resource",
"synopsis": ""
},
{
"argument_hint": "prowjob-url [test-name] [--fast]",
"description": "Analyzes test errors from console logs and Prow CI job artifacts",
"name": "analyze-prow-job-test-failure",
"synopsis": ""
},
{
"argument_hint": "<regression id>",
"description": "Analyze details about a Component Readiness regression and suggest next steps",
"name": "analyze-regression",
"synopsis": "/ci:analyze-regression <regression id>"
},
{
"argument_hint": "[question]",
"description": "Ask the Sippy AI agent questions about OpenShift CI payloads, jobs, and test results",
"name": "ask-sippy",
"synopsis": "/ask-sippy [question]"
},
{
"argument_hint": "<jira-key-or-url>",
"description": "Check if the regression described in a Jira bug is still ongoing or has resolved",
"name": "check-if-jira-regression-is-ongoing",
"synopsis": "/ci:check-if-jira-regression-is-ongoing <jira-key-or-url>"
},
{
"argument_hint": "<prowjob-url>",
"description": "Download and continue a Claude session from a Prow CI job's artifacts",
"name": "continue-session",
"synopsis": "/ci:continue-session <prowjob-url>"
},
{
"argument_hint": "[--current-release <version>] [--lookback N] [--days N]",
"description": "Detect regressions that have cascaded from newer releases to older releases due to problematic backports",
"name": "detect-backport-regressions",
"synopsis": "/ci:detect-backport-regressions [--current-release <version>] [--lookback N] [--days N] [--exclude-install] [--exclude-monitor] [--component <name>] [--min-cascade N] [--include-resolved]"
},
{
"argument_hint": "<pr-url>",
"description": "Extract kubeconfig from a running CI job in a PR",
"name": "extract-kubeconfig",
"synopsis": "/ci:extract-kubeconfig <pr-url>"
},
{
"argument_hint": "prowjob-url",
"description": "Extract and decompress must-gather archives from Prow job artifacts",
"name": "extract-prow-job-must-gather",
"synopsis": "/ci:extract-prow-job-must-gather <prowjob-url>"
},
{
"argument_hint": "[architecture] [version] [stream]",
"description": "Fetch recent release payloads from the OpenShift release controller",
"name": "fetch-payloads",
"synopsis": "/ci:fetch-payloads [architecture] [version] [stream]"
},
{
"argument_hint": "<test-name> [release]",
"description": "Fetch a test report from Sippy showing pass rates, test ID, and Jira component",
"name": "fetch-test-report",
"synopsis": "/ci:fetch-test-report <test-name> [release]"
},
{
"argument_hint": "<workflow-or-chain-name>",
"description": "List the step for the given workflow or chain name",
"name": "list-step",
"synopsis": ""
},
{
"argument_hint": "<version> <keywords> [sippy-url]",
"description": "List unstable tests with pass rate below 95%",
"name": "list-unstable-tests",
"synopsis": "/ci:list-unstable-tests <version> <keywords> [sippy-url]"
},
{
"argument_hint": "<payload-tag>",
"description": "Open draft revert PRs for medium-confidence payload candidates and trigger payload jobs to experimentally determine which PR is causing failures",
"name": "payload-experiment",
"synopsis": "/ci:payload-experiment <payload-tag>"
},
{
"argument_hint": "<payload-tag>",
"description": "Stage reverts for high-confidence payload candidates identified by analyze-payload",
"name": "payload-revert",
"synopsis": "/ci:payload-revert <payload-tag>"
},
{
"argument_hint": "<execution-id>",
"description": "Query the status of a gangway job execution by ID",
"name": "query-job-status",
"synopsis": "/query-job-status <execution-id>"
},
{
"argument_hint": "<version> <keywords> [sippy-url]",
"description": "Query test results from Sippy by version and test keywords",
"name": "query-test-result",
"synopsis": "/ci:query-test-result <version> <keywords> [sippy-url]"
},
{
"argument_hint": "<pr-url> <jira-ticket>",
"description": "Revert a merged PR that is breaking CI or nightly payloads",
"name": "revert-pr",
"synopsis": "/ci:revert-pr <pr-url> <jira-ticket>"
},
{
"argument_hint": "<job-name> [ENV_VAR=value ...]",
"description": "Trigger a periodic gangway job with optional environment variable overrides",
"name": "trigger-periodic",
"synopsis": "/trigger-periodic <job-name> [ENV_VAR=value ...]"
},
{
"argument_hint": "<job-name> <org> <repo> <base-ref> <base-sha> [ENV_VAR=value ...]",
"description": "Trigger a postsubmit gangway job with repository refs",
"name": "trigger-postsubmit",
"synopsis": "/trigger-postsubmit <job-name> <org> <repo> <base-ref> <base-sha> [ENV_VAR=value ...]"
},
{
"argument_hint": "<job-name> <org> <repo> <base-ref> <base-sha> <pr-number> <pr-sha> [ENV_VAR=value ...]",
"description": "Trigger a presubmit gangway job (typically use GitHub Prow commands instead)",
"name": "trigger-presubmit",
"synopsis": "/trigger-presubmit <job-name> <org> <repo> <base-ref> <base-sha> <pr-number> <pr-sha> [ENV_VAR=value ...]"
}
],
"description": "A plugin to work with OpenShift CI and analyze Prow job results",
"has_readme": true,
"hooks": [],
"name": "ci",
"skills": [
{
"description": "Perform deep root cause analysis on potential cascades to confirm they are real backport cascades with the same underlying issue",
"id": "analyze-cascade-similarity",
"name": "Analyze Cascade Similarity"
},
{
"description": "Analyze and compare disruption across one or more Prow CI job runs by examining interval data, audit logs, pod logs, and CPU metrics",
"id": "analyze-disruption",
"name": "Analyze Disruption"
},
{
"description": "Analyze a payload (rejected, accepted, or in-progress) with historical lookback to identify root causes of blocking job failures and produce an HTML report",
"id": "analyze-payload",
"name": "Analyze Payload"
},
{
"description": "Detect regressions that have cascaded from newer releases to older releases due to problematic backports",
"id": "detect-backport-regressions",
"name": "Detect Backport Regressions"
},
{
"description": "Identify regressions that appear across multiple releases by matching test names and checking temporal ordering",
"id": "detect-potential-cascades",
"name": "Detect Potential Cascades"
},
{
"description": "Fetch JIRA issue details including status, assignee, comments, and progress classification",
"id": "fetch-jira-issue",
"name": "Fetch JIRA Issue"
},
{
"description": "Fetch a Prow job run summary from Sippy showing all failed tests grouped by SIG with error messages",
"id": "fetch-job-run-summary",
"name": "Fetch Job Run Summary"
},
{
"description": "Fetch pull requests that are new in a given OpenShift payload compared to the previous payload",
"id": "fetch-new-prs-in-payload",
"name": "Fetch New PRs in Payload"
},
{
"description": "Fetch recent release payloads from the OpenShift release controller",
"id": "fetch-payloads",
"name": "Fetch Payloads"
},
{
"description": "Fetch and return key data from a Prow job's prowjob.json artifact given a Prow job URL",
"id": "fetch-prowjob-json",
"name": "Fetch ProwJob JSON"
},
{
"description": "Fetch detailed information about a Component Readiness regression from the Sippy API",
"id": "fetch-regression-details",
"name": "Fetch Regression Details"
},
{
"description": "Fetch existing triages and untriaged regressions related to a given regression",
"id": "fetch-related-triages",
"name": "Fetch Related Triages"
},
{
"description": "Fetch available OpenShift releases from the Sippy API",
"id": "fetch-releases",
"name": "Fetch Releases"
},
{
"description": "Fetch an OpenShift CI test report by name to get pass rates, test ID, and Jira component from Sippy",
"id": "fetch-test-report",
"name": "Fetch Test Report"
},
{
"description": "Fetch test runs from Sippy API including outputs for AI-based similarity analysis",
"id": "fetch-test-runs",
"name": "Fetch Test Runs"
},
{
"description": "Generate interactive HTML, Markdown, or JSON reports from confirmed cascade data with similarity analysis results",
"id": "generate-cascade-report",
"name": "Generate Cascade Report"
},
{
"description": "Helper skill to retrieve OAuth tokens from the correct OpenShift cluster context when multiple clusters are configured",
"id": "oc-auth",
"name": "OC Authentication Helper"
},
{
"description": "Schema for the autodl JSON data file produced by analyze-payload for database ingestion \u2014 you must use this skill whenever generating the autodl JSON file",
"id": "payload-autodl-json",
"name": "Payload Autodl JSON"
},
{
"description": "Experimentally test medium-confidence payload candidates by opening draft revert PRs and triggering payload jobs",
"id": "payload-experimental-reverts",
"name": "Payload Experimental Reverts"
},
{
"description": "State management for agentic payload triage actions \u2014 you must use this skill whenever reading or writing the payload results YAML file",
"id": "payload-results-yaml",
"name": "Payload Results YAML"
},
{
"description": "Analyze OpenShift installation failures in Prow CI jobs by examining installer logs, log bundles, and sosreports. Use when CI job fails \"install should succeed\" tests at bootstrap, cluster creation or other stages.",
"id": "prow-job-analyze-install-failure",
"name": "Prow Job Analyze Install Failure"
},
{
"description": "Analyze OpenShift bare metal installation failures in Prow CI jobs using dev-scripts artifacts. Use for jobs with \"metal\" in name, for debugging Metal3/Ironic provisioning, installation, or dev-scripts setup failures. You may also use the prow-job-analyze-install-failure skill with this one.",
"id": "prow-job-analyze-metal-install-failure",
"name": "Prow Job Analyze Metal Install Failure"
},
{
"description": "Analyze Kubernetes resource lifecycle in Prow CI job artifacts by parsing audit logs and pod logs from GCS, generating interactive HTML reports with timelines",
"id": "prow-job-analyze-resource",
"name": "Prow Job Analyze Resource"
},
{
"description": "Analyze failed Prow CI tests by inspecting test code, downloading artifacts, and optionally integrating must-gather cluster diagnostics for root cause analysis",
"id": "prow-job-analyze-test-failure",
"name": "Prow Job Analyze Test Failure"
},
{
"description": "Search, list, and fetch artifacts from Prow CI job runs stored in GCS using the gcloud CLI",
"id": "prow-job-artifact-search",
"name": "Prow Job Artifact Search"
},
{
"description": "Extract and decompress must-gather archives from Prow CI job artifacts, generating an interactive HTML file browser with filters",
"id": "prow-job-extract-must-gather",
"name": "Prow Job Extract Must-Gather"
},
{
"description": "Git revert workflow and Revertomatic PR template for reverting merged PRs",
"id": "revert-pr",
"name": "Revert PR"
},
{
"description": "Set the Release Blocker field on a JIRA issue",
"id": "set-release-blocker",
"name": "Set Release Blocker"
},
{
"description": "Create TRT JIRA bugs, open revert PRs, and trigger payload jobs for high-confidence revert candidates",
"id": "stage-payload-reverts",
"name": "Stage Payload Reverts"
},
{
"description": "Create or update a Component Readiness triage record linking regressions to a JIRA bug",
"id": "triage-regression",
"name": "Triage Regression"
},
{
"description": "MUST be used whenever triggering payload testing on a PR. Do not post payload commands without following this skill \u2014 the command syntax is specific and other formats will be silently ignored by the bot.",
"id": "trigger-payload-job",
"name": "Trigger Payload Job"
}
],
"version": "0.0.38"
},
{
"commands": [
{
"argument_hint": "[--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD]",
"description": "Report on CodeRabbit adoption across OCP payload repos",
"name": "coderabbit-adoption-report",
"synopsis": "/teams:coderabbit-adoption-report"
},
{
"argument_hint": "[--dry-run]",
"description": "Scan openshift org repos for .coderabbit.yaml/.coderabbit.yml files missing inheritance",
"name": "coderabbit-inheritance-scanner",
"synopsis": "/teams:coderabbit-inheritance-scanner"
},
{
"argument_hint": "<repo> [--count N]",
"description": "Analyze PR review comments to propose CodeRabbit rules for a repository",
"name": "coderabbit-rules-from-pr-reviews",
"synopsis": "/teams:coderabbit-rules-from-pr-reviews openshift/origin"
},
{
"argument_hint": "--project <project> [--component comp1 comp2 ...] [--team <team-name>] [--status status1 status2 ...] [--include-closed] [--limit N]",
"description": "Query and summarize JIRA bugs for a specific project with counts by component",
"name": "health-check-jiras",
"synopsis": "/teams:health-check-jiras --project <project> [--component comp1 comp2 ...] [--status status1 status2 ...] [--include-closed] [--limit N]"
},
{
"argument_hint": "<release> [--components comp1 comp2 ...] [--team <team-name>] [--start YYYY-MM-DD] [--end YYYY-MM-DD]",
"description": "Query and summarize regression data for OpenShift releases with counts and metrics",
"name": "health-check-regressions",
"synopsis": "/teams:health-check-regressions <release> [--components comp1 comp2 ...] [--start YYYY-MM-DD] [--end YYYY-MM-DD]"
},
{
"argument_hint": "<release> [--components comp1 comp2 ...] [--team <team-name>] [--project JIRAPROJECT]",
"description": "Analyze and grade component health based on regression and JIRA bug metrics",
"name": "health-check",
"synopsis": "/teams:health-check <release> [--components comp1 comp2 ...] [--project JIRAPROJECT]"
},
{
"argument_hint": "[--team <team-name>]",
"description": "List all OCPBUGS components, optionally filtered by team",
"name": "list-components",
"synopsis": "/teams:list-components [--team <team-name>]"
},
{
"argument_hint": "<project> [--component comp1 comp2 ...] [--status status1 status2 ...] [--include-closed] [--limit N]",
"description": "Query and list raw JIRA bug data for a specific project",
"name": "list-jiras",
"synopsis": "/teams:list-jiras <project> [--component comp1 comp2 ...] [--status status1 status2 ...] [--include-closed] [--limit N]"
},
{
"argument_hint": "<release> [--components comp1 comp2 ...] [--start YYYY-MM-DD] [--end YYYY-MM-DD]",
"description": "Fetch and list raw regression data for OpenShift releases",
"name": "list-regressions",
"synopsis": "/teams:list-regressions <release> [--components comp1 comp2 ...] [--start YYYY-MM-DD] [--end YYYY-MM-DD]"
},
{
"argument_hint": "",
"description": "List all teams from the team component mapping",
"name": "list-teams",
"synopsis": "/teams:list-teams"
}
],
"description": "Team structure knowledge and health analysis commands for OpenShift teams",
"has_readme": true,
"hooks": [],
"name": "teams",
"skills": [
{
"description": "Grade component health based on regression triage metrics for OpenShift releases",
"id": "analyze-regressions",
"name": "Analyze Regressions"
},
{
"description": "Report on CodeRabbit adoption across OpenShift org PRs",
"id": "coderabbit-adoption",
"name": "CodeRabbit Adoption Report"
},
{
"description": "Check a repo's .coderabbit.yaml for inheritance: true",
"id": "coderabbit-inheritance-scanner-check",
"name": "CodeRabbit Inheritance Scanner - Check"
},
{
"description": "Search for an existing fix PR on a repo before opening a new one",
"id": "coderabbit-inheritance-scanner-existing-pr",
"name": "CodeRabbit Inheritance Scanner - Existing PR Check"
},
{
"description": "Fork, sync, and open a fix PR to add inheritance: true to a repo's .coderabbit.yaml",
"id": "coderabbit-inheritance-scanner-open-pr",
"name": "CodeRabbit Inheritance Scanner - Open PR"
},
{
"description": "Search for repos with .coderabbit.yaml files in the openshift GitHub org",
"id": "coderabbit-inheritance-scanner-search",
"name": "CodeRabbit Inheritance Scanner - Search"
},
{
"description": "Fetch and filter human review comments from recent merged PRs in a GitHub repository",
"id": "coderabbit-rules-from-pr-reviews",
"name": "CodeRabbit Rules from PR Reviews - Fetch Comments"
},
{
"description": "Fetch OpenShift release dates and metadata from Sippy API",
"id": "get-release-dates",
"name": "Get Release Dates"
},
{
"description": "List all OCPBUGS components, optionally filtered by team",
"id": "list-components",
"name": "List Components"
},
{
"description": "Query and return raw JIRA bug data for a specific project",
"id": "list-jiras",
"name": "List JIRAs"
},
{
"description": "Fetch and analyze component health regressions for OpenShift releases",
"id": "list-regressions",
"name": "List Regressions"
},
{
"description": "List all teams from the team component mapping",
"id": "list-teams",
"name": "List Teams"
},
{
"description": "Query and summarize JIRA bugs for a specific project with counts by component",
"id": "summarize-jiras",
"name": "Summarize JIRAs"
}
],
"version": "0.0.13"
},
{
"commands": [
{
"argument_hint": "[task description]",
"description": "Generate professional engineering notes and append them to a log file",
"name": "note",
"synopsis": "/doc:note [task description]"
}
],
"description": "A plugin for engineering documentation and notes",
"has_readme": true,
"hooks": [],
"name": "doc",
"skills": [],
"version": "0.0.2"
},
{
"commands": [
{
"argument_hint": "[optional-description]",
"description": "Save current conversation session to markdown file for future continuation",
"name": "save-session",
"synopsis": "/save-session"
}
],
"description": "A plugin for Claude session management and persistence",
"has_readme": true,
"hooks": [],
"name": "session",
"skills": [],
"version": "0.0.2"
},
{
"commands": [
{
"argument_hint": "<projects> [months] [--sample [N]] [--todo | --all] [--uncategorized]",
"description": "Classify Jira issues into activity types using AI and generate an interactive sankey report",
"name": "activity-type-report",
"synopsis": "/snowflake:activity-type-report <projects> [months]"
}
],
"description": "Snowflake data analysis commands for engineering metrics and reports",
"has_readme": true,
"hooks": [],
"name": "snowflake",
"skills": [
{
"description": "This skill should be used before any Snowflake command to verify MCP connectivity, guide users through access provisioning, and set the session context. Invoke this skill proactively whenever a command needs Snowflake data access.",
"id": "setup-snowflake",
"name": "Setup Snowflake"
}
],
"version": "0.4.0"
},
{
"commands": [
{
"argument_hint": "<path-to-sosreport> [--only <areas>] [--skip <areas>]",
"description": "Analyze sosreport archive for system diagnostics and issues",
"name": "analyze",
"synopsis": "/sosreport:analyze <path-to-sosreport> [--only <areas>] [--skip <areas>]"
},
{
"argument_hint": "[sosreport-path] [--db] [--flows-only] [--query <json>]",
"description": "Analyze OVS data from sosreport (text files or database)",
"name": "ovs-db",
"synopsis": "/sosreport:ovs-db [sosreport-path] [--db] [--flows-only] [--query <json>]"
}
],
"description": "Analyze sosreport archives for system diagnostics and troubleshooting",
"has_readme": true,
"hooks": [],
"name": "sosreport",
"skills": [
{
"description": "Analyze system and application log data from sosreport archives, extracting error patterns, kernel panics, OOM events, service failures, and application crashes from journald logs and traditional log files within the sosreport directory structure to identify root causes of system failures and issues",
"id": "logs-analysis",
"name": "Logs Analysis"
},
{
"description": "Analyze network configuration data from sosreport archives, extracting interface configurations, routing tables, active connections, firewall rules (firewalld/iptables), and DNS settings from the sosreport directory structure to diagnose network connectivity and configuration issues",
"id": "network-analysis",
"name": "Network Analysis"
},
{
"description": "Analyze Open vSwitch data from sosreport",
"id": "ovs-db-analysis",
"name": "OVS Database and Flow Analysis"
},
{
"description": "Analyze system resource usage data from sosreport archives, extracting memory statistics, CPU load averages, disk space utilization, and process information from the sosreport directory structure to diagnose resource exhaustion, performance bottlenecks, and capacity issues",
"id": "resource-analysis",
"name": "Resource Analysis"
},
{
"description": "Analyze system configuration data from sosreport archives, extracting OS details, installed packages, systemd service status, SELinux/AppArmor policies, and kernel parameters from the sosreport directory structure to diagnose configuration-related system issues",
"id": "system-config-analysis",
"name": "System Configuration Analysis"
}
],
"version": "0.0.2"
},
{
"commands": [
{
"argument_hint": "[PR number (optional - uses current branch if omitted)] [--preview]",
"description": "Fetch and address all PR review comments",
"name": "address-reviews",
"synopsis": ""
},
{
"argument_hint": "<target-repository>",
"description": "Automate approving Konflux bot PRs for the given repository by adding /lgtm and /approve",
"name": "auto-approve-konflux-prs",
"synopsis": ""
},
{
"argument_hint": "<PR-URL>",
"description": "Find and verify Konflux-built container images from a GitHub PR",
"name": "find-konflux-images",
"synopsis": ""
},
{
"argument_hint": "[GitHub PR URLs]",
"description": "Generate test steps for one or more related PRs",
"name": "generate-test-plan",
"synopsis": ""
},
{
"argument_hint": "[--repo <org/repo>]",
"description": "List PRs and issues requiring your attention",
"name": "gh-attention",
"synopsis": "/utils:gh-attention [--repo <org/repo>]"
},
{
"argument_hint": "",
"description": "Placeholder command for the utils plugin",
"name": "placeholder",
"synopsis": "/utils:placeholder"
},
{
"argument_hint": "<PR_NUMBER|open> [JIRA_PROJECT] [COMPONENT]",
"description": "Process Renovate dependency PR(s) to meet repository contribution standards",
"name": "process-renovate-pr",
"synopsis": "/utils:process-renovate-pr <PR_NUMBER|open> [JIRA_PROJECT] [COMPONENT]"
},
{
"argument_hint": "[--idea TEXT] [--pr NUMBER] [--verbose]",
"description": "Review potential overlaps with existing ai-helpers (Claude Code Plugins, Commands, Skills, Sub-agents, or Hooks) and open PRs",
"name": "review-ai-helpers-overlap",
"synopsis": "/utils:review-ai-helpers-overlap [--idea \"description\"] [--pr NUMBER] [--verbose]"
},
{
"argument_hint": "[file-paths-or-patterns]",
"description": "Orchestrate security scanners and provide contextual triage of findings",
"name": "review-security",
"synopsis": "/utils:review-security [file-paths-or-patterns]"
}
],
"description": "A generic utilities plugin serving as a catch-all for various helper commands",
"has_readme": true,
"hooks": [],
"name": "utils",
"skills": [],
"version": "0.0.9"
},
{
"commands": [
{
"argument_hint": "<operator-name> [namespace] [--all]",
"description": "Approve pending InstallPlans for operator installations and upgrades",
"name": "approve",
"synopsis": "/olm:approve <operator-name> [namespace] [--all]"
},
{
"argument_hint": "<list|add|remove|refresh|status> [arguments]",
"description": "Manage catalog sources for discovering and installing operators",
"name": "catalog",
"synopsis": "/olm:catalog list"
},
{
"argument_hint": "<issue-description> <must-gather-path> [olm-version]",
"description": "Debug OLM issues using must-gather logs and source code analysis",
"name": "debug",
"synopsis": "/olm:debug <issue-description> <must-gather-path> [olm-version]"
},
{
"argument_hint": "[operator-name] [namespace] [--fix] [--cluster]",
"description": "Diagnose and optionally fix common OLM and operator issues",
"name": "diagnose",
"synopsis": "/olm:diagnose [operator-name] [namespace] [--fix] [--cluster]"
},
{
"argument_hint": "<operator-name> [namespace] [channel] [source] [--approval=Automatic|Manual]",
"description": "Install a day-2 operator using Operator Lifecycle Manager",
"name": "install",
"synopsis": "/olm:install <operator-name> [namespace] [channel] [source] [--approval=Automatic|Manual]"
},
{
"argument_hint": "[namespace] [--all-namespaces]",
"description": "List installed operators in the cluster",
"name": "list",
"synopsis": "/olm:list [namespace] [--all-namespaces]"
},
{
"argument_hint": "<action> [arguments...]",
"description": "Execute opm (Operator Package Manager) commands for building and managing operator catalogs",
"name": "opm",
"synopsis": "/olm:opm build-index-image <catalog-path> <index-image-tag> [--cacheless] [--arch=<arch>] [--base-image=<image>] [--builder-image=<image>]"
},
{
"argument_hint": "[query] [--catalog <catalog-name>]",
"description": "Search for available operators in catalog sources",
"name": "search",
"synopsis": "/olm:search [query] [--catalog <catalog-name>]"
},
{
"argument_hint": "<operator-name> [namespace]",
"description": "Get detailed status and health information for an operator",
"name": "status",
"synopsis": "/olm:status <operator-name> [namespace]"
},
{
"argument_hint": "<operator-name> [namespace] [--remove-crds] [--remove-namespace]",
"description": "Uninstall a day-2 operator and optionally remove its resources",
"name": "uninstall",
"synopsis": "/olm:uninstall <operator-name> [namespace] [--remove-crds] [--remove-namespace]"
},
{
"argument_hint": "<operator-name> [namespace] [--channel=<channel>] [--approve]",
"description": "Update an operator to the latest version or switch channels",
"name": "upgrade",
"synopsis": "/olm:upgrade <operator-name> [namespace] [--channel=<channel>] [--approve]"
}
],
"description": "OLM (Operator Lifecycle Manager) plugin for operator management and debugging",
"has_readme": true,
"hooks": [],
"name": "olm",
"skills": [],
"version": "0.1.1"
},
{
"commands": [
{
"argument_hint": "",
"description": "Configure the k8s-ocp-olm-expert agent with local repository paths",
"name": "configure-agent",
"synopsis": "/olm-team:configure-agent"