@haus-tech/haus-workflow 4.7.0 → 4.8.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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "6.2.2",
2
+ "version": "6.3.0",
3
3
  "manifestFormat": 2,
4
4
  "globalPlugins": [
5
5
  {
@@ -13,7 +13,7 @@
13
13
  "items": [
14
14
  {
15
15
  "id": "haus.agentic-workflow-standard",
16
- "version": "1.4.1",
16
+ "version": "1.5.0",
17
17
  "source": "haus",
18
18
  "type": "template",
19
19
  "path": "templates/agentic-workflow-standard.md",
@@ -24,8 +24,8 @@
24
24
  "tags": ["workflow", "baseline", "project-instructions"],
25
25
  "repoRoles": [],
26
26
  "installMode": "copy-selected",
27
- "tokenEstimate": 3760,
28
- "tokenBudget": 4790,
27
+ "tokenEstimate": 3947,
28
+ "tokenBudget": 5131,
29
29
  "default": true,
30
30
  "reviewStatus": "approved",
31
31
  "riskLevel": "low"
@@ -36,13 +36,14 @@
36
36
  "source": "curated",
37
37
  "type": "skill",
38
38
  "path": "sources/apollo/skills/apollo-client",
39
- "title": "Apollo Apollo Client",
39
+ "title": "Apollo Client",
40
40
  "purpose": "Guide for building React applications with Apollo Client 4.x. Use this skill when: (1) setting up Apollo Client in a React project, (2) writing GraphQL queries or mutations with hooks, (3) configuring caching or cache policies, (4) managing local state with reactive variables, (5) troubleshooting Apollo Client errors or performance issues.",
41
41
  "whenToUse": "Guide for building React applications with Apollo Client 4.x. Use this skill when: (1) setting up Apollo Client in a React project, (2) writing GraphQL queries or mutations with hooks, (3) configuring caching or cache policies, (4) managing local state with reactive variables, (5) troubleshooting Apollo Client errors or performance issues.",
42
42
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
43
43
  "tags": ["workflow", "graphql", "react", "nextjs"],
44
44
  "repoRoles": [],
45
45
  "tokenEstimate": 1856,
46
+ "tokenBudget": 2413,
46
47
  "installMode": "copy-selected",
47
48
  "default": false,
48
49
  "reviewStatus": "approved",
@@ -69,13 +70,14 @@
69
70
  "source": "curated",
70
71
  "type": "skill",
71
72
  "path": "sources/apollo/skills/apollo-federation",
72
- "title": "Apollo Apollo Federation",
73
+ "title": "Apollo Federation",
73
74
  "purpose": "Guide for authoring Apollo Federation subgraph schemas. Use this skill when: (1) creating new subgraph schemas for a federated supergraph, (2) defining or modifying entities with @key, (3) sharing types/fields across subgraphs with @shareable, (4) working with federation directives (@external, @requires, @provides, @override, @inaccessible), (5) troubleshooting composition errors, (6) any task involving federation schema design patterns.",
74
75
  "whenToUse": "Guide for authoring Apollo Federation subgraph schemas. Use this skill when: (1) creating new subgraph schemas for a federated supergraph, (2) defining or modifying entities with @key, (3) sharing types/fields across subgraphs with @shareable, (4) working with federation directives (@external, @requires, @provides, @override, @inaccessible), (5) troubleshooting composition errors, (6) any task involving federation schema design patterns.",
75
76
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
76
77
  "tags": ["workflow", "graphql"],
77
78
  "repoRoles": [],
78
79
  "tokenEstimate": 1010,
80
+ "tokenBudget": 1313,
79
81
  "installMode": "copy-selected",
80
82
  "default": false,
81
83
  "reviewStatus": "approved",
@@ -102,13 +104,14 @@
102
104
  "source": "curated",
103
105
  "type": "skill",
104
106
  "path": "sources/apollo/skills/apollo-server",
105
- "title": "Apollo Apollo Server",
107
+ "title": "Apollo Server",
106
108
  "purpose": "Guide for building GraphQL servers with Apollo Server 5.x. Use this skill when: (1) setting up a new Apollo Server project, (2) writing resolvers or defining GraphQL schemas, (3) implementing authentication or authorization, (4) creating plugins or custom data sources, (5) troubleshooting Apollo Server errors or performance issues.",
107
109
  "whenToUse": "Guide for building GraphQL servers with Apollo Server 5.x. Use this skill when: (1) setting up a new Apollo Server project, (2) writing resolvers or defining GraphQL schemas, (3) implementing authentication or authorization, (4) creating plugins or custom data sources, (5) troubleshooting Apollo Server errors or performance issues.",
108
110
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
109
111
  "tags": ["workflow", "graphql"],
110
112
  "repoRoles": [],
111
113
  "tokenEstimate": 1803,
114
+ "tokenBudget": 2344,
112
115
  "installMode": "copy-selected",
113
116
  "default": false,
114
117
  "reviewStatus": "approved",
@@ -139,6 +142,7 @@
139
142
  "tags": ["workflow", "graphql"],
140
143
  "repoRoles": [],
141
144
  "tokenEstimate": 1128,
145
+ "tokenBudget": 1467,
142
146
  "installMode": "copy-selected",
143
147
  "default": false,
144
148
  "reviewStatus": "approved",
@@ -178,6 +182,7 @@
178
182
  "tags": ["workflow", "graphql"],
179
183
  "repoRoles": [],
180
184
  "tokenEstimate": 1106,
185
+ "tokenBudget": 1438,
181
186
  "installMode": "copy-selected",
182
187
  "default": false,
183
188
  "reviewStatus": "approved",
@@ -200,7 +205,7 @@
200
205
  },
201
206
  {
202
207
  "id": "haus.auth-oidc-azure-bankid-patterns",
203
- "version": "1.1.0",
208
+ "version": "1.1.1",
204
209
  "source": "haus",
205
210
  "type": "skill",
206
211
  "path": "skills/haus-owned/stack-patterns/auth-oidc-azure-bankid-patterns",
@@ -239,7 +244,7 @@
239
244
  "stack": "saml2"
240
245
  }
241
246
  ],
242
- "tokenEstimate": 427,
247
+ "tokenEstimate": 434,
243
248
  "installMode": "copy-selected",
244
249
  "ecosystem": "auth",
245
250
  "reviewStatus": "approved",
@@ -247,7 +252,7 @@
247
252
  },
248
253
  {
249
254
  "id": "haus.bullmq-patterns",
250
- "version": "1.0.1",
255
+ "version": "1.0.3",
251
256
  "source": "haus",
252
257
  "type": "skill",
253
258
  "path": "skills/haus-owned/stack-patterns/bullmq-patterns",
@@ -255,7 +260,7 @@
255
260
  "purpose": "Guide BullMQ queue, worker, scheduler, and Redis-connection lifecycle changes.",
256
261
  "whenToUse": "Use for BullMQ queue definitions, processors, schedulers, and graceful shutdown.",
257
262
  "whenNotToUse": "Do not use for non-BullMQ job systems or in-process scheduling without Redis.",
258
- "references": ["https://docs.bullmq.io/llms.txt"],
263
+ "references": ["https://docs.bullmq.io/"],
259
264
  "tokenBudget": 790,
260
265
  "tags": ["bullmq", "queue", "backend"],
261
266
  "repoRoles": ["vendure-app", "nestjs-api"],
@@ -268,13 +273,13 @@
268
273
  }
269
274
  ],
270
275
  "ecosystem": "tooling",
271
- "tokenEstimate": 601,
276
+ "tokenEstimate": 602,
272
277
  "installMode": "copy-selected",
273
278
  "reviewStatus": "approved",
274
279
  "riskLevel": "low"
275
280
  },
276
281
  {
277
- "version": "1.0.3",
282
+ "version": "1.0.5",
278
283
  "source": "curated",
279
284
  "type": "agent",
280
285
  "repoRoles": [],
@@ -296,6 +301,7 @@
296
301
  "whenToUse": "Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI components, establishing design systems, or auditing code for inclusive user experiences.",
297
302
  "tags": ["agent", "review", "a11y"],
298
303
  "tokenEstimate": 1835,
304
+ "tokenBudget": 2386,
299
305
  "ecosystem": "react",
300
306
  "originUrl": "https://github.com/affaan-m/ECC/blob/0c1d7be9a750627fb2a6534c78a998cc46d03f9c/agents/a11y-architect.md",
301
307
  "requiresAny": [
@@ -305,14 +311,17 @@
305
311
  {
306
312
  "role": "next-app"
307
313
  },
308
- {
309
- "role": "vue-app"
310
- },
311
314
  {
312
315
  "role": "vite-app"
313
316
  },
314
317
  {
315
318
  "role": "expo-app"
319
+ },
320
+ {
321
+ "stack": "vue"
322
+ },
323
+ {
324
+ "dependency": "vue"
316
325
  }
317
326
  ],
318
327
  "whenNotToUse": "Do not use when a more specific skill or command applies."
@@ -330,6 +339,7 @@
330
339
  "tags": ["agent", "review", "csharp", "dotnet"],
331
340
  "repoRoles": [],
332
341
  "tokenEstimate": 1423,
342
+ "tokenBudget": 1850,
333
343
  "installMode": "copy-selected",
334
344
  "reviewStatus": "approved",
335
345
  "riskLevel": "low",
@@ -359,6 +369,7 @@
359
369
  "tags": ["workflow", "testing"],
360
370
  "repoRoles": [],
361
371
  "tokenEstimate": 2182,
372
+ "tokenBudget": 2837,
362
373
  "installMode": "copy-selected",
363
374
  "default": false,
364
375
  "reviewStatus": "approved",
@@ -392,6 +403,7 @@
392
403
  "tags": ["agent", "review", "database"],
393
404
  "repoRoles": [],
394
405
  "tokenEstimate": 1329,
406
+ "tokenBudget": 1728,
395
407
  "installMode": "copy-selected",
396
408
  "reviewStatus": "approved",
397
409
  "riskLevel": "low",
@@ -430,6 +442,7 @@
430
442
  "tags": ["workflow", "docker"],
431
443
  "repoRoles": [],
432
444
  "tokenEstimate": 3735,
445
+ "tokenBudget": 4856,
433
446
  "installMode": "copy-selected",
434
447
  "default": false,
435
448
  "reviewStatus": "approved",
@@ -460,6 +473,7 @@
460
473
  "tags": ["workflow", "backend", "dotnet", "csharp"],
461
474
  "repoRoles": ["dotnet-service"],
462
475
  "tokenEstimate": 2329,
476
+ "tokenBudget": 3028,
463
477
  "installMode": "copy-selected",
464
478
  "default": false,
465
479
  "reviewStatus": "approved",
@@ -493,6 +507,7 @@
493
507
  "tags": ["agent", "testing"],
494
508
  "repoRoles": [],
495
509
  "tokenEstimate": 1270,
510
+ "tokenBudget": 1651,
496
511
  "installMode": "copy-selected",
497
512
  "reviewStatus": "approved",
498
513
  "riskLevel": "low",
@@ -514,7 +529,7 @@
514
529
  },
515
530
  {
516
531
  "id": "haus.ecc-e2e-testing",
517
- "version": "1.0.4",
532
+ "version": "1.0.5",
518
533
  "source": "curated",
519
534
  "type": "skill",
520
535
  "path": "sources/ecc/skills/e2e-testing",
@@ -523,8 +538,9 @@
523
538
  "whenToUse": "Playwright E2E testing patterns, Page Object Model, configuration, CI/CD integration, artifact management, and flaky test strategies. Use when writing Playwright tests, structuring page objects, or fixing flaky E2E runs in CI.",
524
539
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
525
540
  "tags": ["workflow", "testing", "playwright"],
526
- "repoRoles": ["next-app", "react-app", "vue-app", "test-suite"],
541
+ "repoRoles": ["next-app", "react-app"],
527
542
  "tokenEstimate": 2043,
543
+ "tokenBudget": 2656,
528
544
  "installMode": "copy-selected",
529
545
  "default": false,
530
546
  "reviewStatus": "approved",
@@ -559,6 +575,7 @@
559
575
  "tags": ["workflow", "frontend"],
560
576
  "repoRoles": [],
561
577
  "tokenEstimate": 3858,
578
+ "tokenBudget": 5016,
562
579
  "installMode": "copy-selected",
563
580
  "default": false,
564
581
  "reviewStatus": "approved",
@@ -595,6 +612,7 @@
595
612
  "tags": ["workflow", "laravel"],
596
613
  "repoRoles": [],
597
614
  "tokenEstimate": 2666,
615
+ "tokenBudget": 3466,
598
616
  "installMode": "copy-selected",
599
617
  "default": false,
600
618
  "reviewStatus": "approved",
@@ -628,6 +646,7 @@
628
646
  "tags": ["workflow", "laravel"],
629
647
  "repoRoles": [],
630
648
  "tokenEstimate": 2087,
649
+ "tokenBudget": 2714,
631
650
  "installMode": "copy-selected",
632
651
  "default": true,
633
652
  "reviewStatus": "approved",
@@ -661,6 +680,7 @@
661
680
  "tags": ["workflow", "php"],
662
681
  "repoRoles": [],
663
682
  "tokenEstimate": 1519,
683
+ "tokenBudget": 1975,
664
684
  "installMode": "copy-selected",
665
685
  "default": true,
666
686
  "reviewStatus": "approved",
@@ -697,6 +717,7 @@
697
717
  "tags": ["workflow", "laravel"],
698
718
  "repoRoles": [],
699
719
  "tokenEstimate": 1599,
720
+ "tokenBudget": 2079,
700
721
  "installMode": "copy-selected",
701
722
  "default": false,
702
723
  "reviewStatus": "approved",
@@ -729,6 +750,7 @@
729
750
  "tags": ["workflow", "laravel", "phpunit", "testing"],
730
751
  "repoRoles": ["laravel-app", "laravel-nova-app"],
731
752
  "tokenEstimate": 4466,
753
+ "tokenBudget": 5806,
732
754
  "installMode": "copy-selected",
733
755
  "default": false,
734
756
  "reviewStatus": "approved",
@@ -768,6 +790,7 @@
768
790
  "tags": ["workflow", "laravel"],
769
791
  "repoRoles": [],
770
792
  "tokenEstimate": 1094,
793
+ "tokenBudget": 1423,
771
794
  "installMode": "copy-selected",
772
795
  "default": false,
773
796
  "reviewStatus": "approved",
@@ -801,6 +824,7 @@
801
824
  "tags": ["workflow", "backend"],
802
825
  "repoRoles": [],
803
826
  "tokenEstimate": 1634,
827
+ "tokenBudget": 2125,
804
828
  "installMode": "copy-selected",
805
829
  "default": false,
806
830
  "reviewStatus": "approved",
@@ -823,7 +847,7 @@
823
847
  },
824
848
  {
825
849
  "id": "haus.ecc-performance-optimizer",
826
- "version": "1.0.4",
850
+ "version": "1.0.5",
827
851
  "source": "curated",
828
852
  "type": "agent",
829
853
  "path": "sources/ecc/agents/performance-optimizer.md",
@@ -834,6 +858,7 @@
834
858
  "tags": ["agent", "quality"],
835
859
  "repoRoles": [],
836
860
  "tokenEstimate": 3364,
861
+ "tokenBudget": 4374,
837
862
  "installMode": "copy-selected",
838
863
  "reviewStatus": "approved",
839
864
  "riskLevel": "low",
@@ -843,7 +868,7 @@
843
868
  "originSourceId": "ecc-affaanm",
844
869
  "originUrl": "https://github.com/affaan-m/ECC/blob/0c1d7be9a750627fb2a6534c78a998cc46d03f9c/agents/performance-optimizer.md",
845
870
  "pinnedRef": "0c1d7be9a750627fb2a6534c78a998cc46d03f9c",
846
- "ecosystem": "ecc",
871
+ "ecosystem": "quality",
847
872
  "optInTier": "review",
848
873
  "optInGroup": "Performance review",
849
874
  "default": false,
@@ -866,6 +891,7 @@
866
891
  "tags": ["agent", "review", "php"],
867
892
  "repoRoles": [],
868
893
  "tokenEstimate": 1428,
894
+ "tokenBudget": 1857,
869
895
  "installMode": "copy-selected",
870
896
  "reviewStatus": "approved",
871
897
  "riskLevel": "low",
@@ -895,6 +921,7 @@
895
921
  "tags": ["workflow", "prisma", "backend", "database"],
896
922
  "repoRoles": ["next-app", "nestjs-api"],
897
923
  "tokenEstimate": 3821,
924
+ "tokenBudget": 4968,
898
925
  "installMode": "copy-selected",
899
926
  "default": false,
900
927
  "reviewStatus": "approved",
@@ -921,7 +948,7 @@
921
948
  },
922
949
  {
923
950
  "id": "haus.ecc-react-build-resolver",
924
- "version": "1.0.2",
951
+ "version": "1.0.3",
925
952
  "source": "curated",
926
953
  "type": "agent",
927
954
  "path": "sources/ecc/agents/react-build-resolver.md",
@@ -932,6 +959,7 @@
932
959
  "tags": ["agent", "react"],
933
960
  "repoRoles": [],
934
961
  "tokenEstimate": 2797,
962
+ "tokenBudget": 3637,
935
963
  "installMode": "copy-selected",
936
964
  "reviewStatus": "approved",
937
965
  "riskLevel": "low",
@@ -943,9 +971,6 @@
943
971
  "pinnedRef": "0c1d7be9a750627fb2a6534c78a998cc46d03f9c",
944
972
  "ecosystem": "react",
945
973
  "requiresAny": [
946
- {
947
- "stack": "react"
948
- },
949
974
  {
950
975
  "dependency": "react"
951
976
  }
@@ -953,7 +978,7 @@
953
978
  },
954
979
  {
955
980
  "id": "haus.ecc-react-reviewer",
956
- "version": "1.0.2",
981
+ "version": "1.0.3",
957
982
  "source": "curated",
958
983
  "type": "agent",
959
984
  "path": "sources/ecc/agents/react-reviewer.md",
@@ -964,6 +989,7 @@
964
989
  "tags": ["agent", "review", "react"],
965
990
  "repoRoles": [],
966
991
  "tokenEstimate": 2853,
992
+ "tokenBudget": 3709,
967
993
  "installMode": "copy-selected",
968
994
  "reviewStatus": "approved",
969
995
  "riskLevel": "low",
@@ -975,9 +1001,6 @@
975
1001
  "pinnedRef": "0c1d7be9a750627fb2a6534c78a998cc46d03f9c",
976
1002
  "ecosystem": "react",
977
1003
  "requiresAny": [
978
- {
979
- "stack": "react"
980
- },
981
1004
  {
982
1005
  "dependency": "react"
983
1006
  }
@@ -996,6 +1019,7 @@
996
1019
  "tags": ["workflow", "testing-library", "testing"],
997
1020
  "repoRoles": [],
998
1021
  "tokenEstimate": 3292,
1022
+ "tokenBudget": 4280,
999
1023
  "installMode": "copy-selected",
1000
1024
  "default": false,
1001
1025
  "reviewStatus": "approved",
@@ -1033,6 +1057,7 @@
1033
1057
  "tags": ["workflow", "redis", "backend", "database"],
1034
1058
  "repoRoles": ["vendure-app", "nestjs-api"],
1035
1059
  "tokenEstimate": 2995,
1060
+ "tokenBudget": 3894,
1036
1061
  "installMode": "copy-selected",
1037
1062
  "default": false,
1038
1063
  "reviewStatus": "approved",
@@ -1058,7 +1083,7 @@
1058
1083
  },
1059
1084
  {
1060
1085
  "id": "haus.ecc-refactor-cleaner",
1061
- "version": "1.0.3",
1086
+ "version": "1.0.4",
1062
1087
  "source": "curated",
1063
1088
  "type": "agent",
1064
1089
  "path": "sources/ecc/.kiro/agents/refactor-cleaner.md",
@@ -1069,6 +1094,7 @@
1069
1094
  "tags": ["agent", "quality"],
1070
1095
  "repoRoles": [],
1071
1096
  "tokenEstimate": 670,
1097
+ "tokenBudget": 871,
1072
1098
  "installMode": "copy-selected",
1073
1099
  "reviewStatus": "approved",
1074
1100
  "riskLevel": "low",
@@ -1078,7 +1104,7 @@
1078
1104
  "originSourceId": "ecc-affaanm",
1079
1105
  "originUrl": "https://github.com/affaan-m/ECC/blob/5b173d2e6c11b976a0f13b2f59125e08956c1d47/.kiro/agents/refactor-cleaner.md",
1080
1106
  "pinnedRef": "5b173d2e6c11b976a0f13b2f59125e08956c1d47",
1081
- "ecosystem": "ecc",
1107
+ "ecosystem": "quality",
1082
1108
  "optInTier": "review",
1083
1109
  "optInGroup": "Refactor cleanup",
1084
1110
  "default": false,
@@ -1109,6 +1135,7 @@
1109
1135
  "whenToUse": "Security vulnerability detection and remediation specialist. Use PROACTIVELY after writing code that handles user input, authentication, API endpoints, or sensitive data. Flags secrets, SSRF, injection, unsafe crypto, and OWASP Top 10 vulnerabilities.",
1110
1136
  "tags": ["agent", "review", "security"],
1111
1137
  "tokenEstimate": 1362,
1138
+ "tokenBudget": 1771,
1112
1139
  "ecosystem": "security",
1113
1140
  "optInTier": "review",
1114
1141
  "optInGroup": "Security review",
@@ -1141,6 +1168,7 @@
1141
1168
  "whenToUse": "Expert TypeScript/JavaScript code reviewer specializing in type safety, async correctness, Node/web security, and idiomatic patterns. Use for all TypeScript and JavaScript code changes. MUST BE USED for TypeScript/JavaScript projects.",
1142
1169
  "tags": ["agent", "review", "typescript"],
1143
1170
  "tokenEstimate": 2267,
1171
+ "tokenBudget": 2948,
1144
1172
  "ecosystem": "typescript",
1145
1173
  "originUrl": "https://github.com/affaan-m/ECC/blob/0c1d7be9a750627fb2a6534c78a998cc46d03f9c/agents/typescript-reviewer.md",
1146
1174
  "requiresAny": [
@@ -1162,10 +1190,11 @@
1162
1190
  "title": "Ecc Vite Patterns",
1163
1191
  "purpose": "Vite build tool patterns including config, plugins, HMR, env variables, proxy setup, SSR, library mode, dependency pre-bundling, and build optimization. Activate when working with vite.config.ts, Vite plugins, or Vite-based projects.",
1164
1192
  "whenToUse": "Vite build tool patterns including config, plugins, HMR, env variables, proxy setup, SSR, library mode, dependency pre-bundling, and build optimization. Activate when working with vite.config.ts, Vite plugins, or Vite-based projects.",
1165
- "whenNotToUse": "Do not use when a more specific skill or command applies.",
1193
+ "whenNotToUse": "Overlaps with haus.antfu-vite (identical install gate), which installs by default and is the primary pick for Vite config, plugin API, SSR, and Rolldown migration. Use this skill for HMR debugging, env/proxy setup, library mode, dependency pre-bundling, and build-optimization checklists.",
1166
1194
  "tags": ["workflow", "frontend"],
1167
1195
  "repoRoles": [],
1168
1196
  "tokenEstimate": 4279,
1197
+ "tokenBudget": 5563,
1169
1198
  "installMode": "copy-selected",
1170
1199
  "default": false,
1171
1200
  "reviewStatus": "approved",
@@ -1188,7 +1217,7 @@
1188
1217
  },
1189
1218
  {
1190
1219
  "id": "haus.ecc-vue-patterns",
1191
- "version": "1.0.3",
1220
+ "version": "1.0.4",
1192
1221
  "source": "curated",
1193
1222
  "type": "skill",
1194
1223
  "path": "sources/ecc/skills/vue-patterns",
@@ -1197,8 +1226,9 @@
1197
1226
  "whenToUse": "Vue.js 3 Composition API patterns, component architecture, reactivity best practices, Pinia state management, Vue Router navigation, and Nuxt SSR patterns. Activates for Vue, Nuxt, Vite, or Pinia projects. Use when building or reviewing Vue 3, Nuxt, or Pinia code — Composition API, reactivity, or router navigation.",
1198
1227
  "whenNotToUse": "Use haus.antfu-vue for the authoritative, doc-generated core Composition API/reactivity reference.",
1199
1228
  "tags": ["workflow", "vue"],
1200
- "repoRoles": ["vue-app"],
1229
+ "repoRoles": [],
1201
1230
  "tokenEstimate": 3296,
1231
+ "tokenBudget": 4285,
1202
1232
  "installMode": "copy-selected",
1203
1233
  "default": false,
1204
1234
  "reviewStatus": "approved",
@@ -1241,6 +1271,7 @@
1241
1271
  "whenToUse": "Expert Vue.js code reviewer specializing in Composition API correctness, reactivity pitfalls, component architecture, template security, and Vue-specific performance. Use for any change touching .vue, .ts/.js files with Vue imports, or Vue ecosystem code (Pinia, Vue Router, Nuxt). MUST BE USED for Vue projects.",
1242
1272
  "tags": ["agent", "review", "vue"],
1243
1273
  "tokenEstimate": 3830,
1274
+ "tokenBudget": 4979,
1244
1275
  "ecosystem": "vue",
1245
1276
  "originUrl": "https://github.com/affaan-m/ECC/blob/0c1d7be9a750627fb2a6534c78a998cc46d03f9c/agents/vue-reviewer.md",
1246
1277
  "requiresAny": [
@@ -1278,7 +1309,7 @@
1278
1309
  },
1279
1310
  {
1280
1311
  "id": "haus.i18next-patterns",
1281
- "version": "1.0.1",
1312
+ "version": "1.0.2",
1282
1313
  "source": "haus",
1283
1314
  "type": "skill",
1284
1315
  "path": "skills/haus-owned/stack-patterns/i18next-patterns",
@@ -1289,7 +1320,7 @@
1289
1320
  "references": ["https://www.i18next.com/llms.txt"],
1290
1321
  "tokenBudget": 740,
1291
1322
  "tags": ["i18next", "i18n", "frontend"],
1292
- "repoRoles": ["next-app", "react-app", "vue-app", "vite-app"],
1323
+ "repoRoles": ["next-app", "react-app", "vite-app"],
1293
1324
  "requiresAny": [
1294
1325
  {
1295
1326
  "stack": "i18next"
@@ -1309,7 +1340,7 @@
1309
1340
  },
1310
1341
  {
1311
1342
  "id": "haus.laravel-nova-patterns",
1312
- "version": "1.0.1",
1343
+ "version": "1.0.2",
1313
1344
  "source": "haus",
1314
1345
  "type": "skill",
1315
1346
  "path": "skills/haus-owned/stack-patterns/laravel-nova-patterns",
@@ -1327,31 +1358,71 @@
1327
1358
  }
1328
1359
  ],
1329
1360
  "ecosystem": "laravel",
1330
- "tokenEstimate": 370,
1361
+ "tokenEstimate": 377,
1331
1362
  "installMode": "copy-selected",
1332
1363
  "reviewStatus": "approved",
1333
1364
  "riskLevel": "low"
1334
1365
  },
1335
1366
  {
1336
1367
  "id": "haus.lefthook-security",
1337
- "version": "1.0.1",
1368
+ "version": "1.1.0",
1338
1369
  "source": "haus",
1339
1370
  "type": "template",
1340
1371
  "path": "templates/lefthook-security.yml",
1341
1372
  "title": "Lefthook security pre-commit",
1342
1373
  "purpose": "Commit-time secret scanning (gitleaks + grep fallback) wired via Lefthook, complementing haus's runtime guards and settings.json deny rules.",
1343
- "whenToUse": "Projects that want a commit-time secret-detection net alongside haus's real-time PreToolUse guards.",
1344
- "whenNotToUse": "Repos that already run a secret-scanning pre-commit hook, or that cannot install gitleaks.",
1374
+ "whenToUse": "Installed by default so every project gets a commit-time secret-detection net backing the standard's NEVER-commit-secrets rule (ADR-0057). gitleaks is optional; the grep baseline always runs.",
1375
+ "whenNotToUse": "Deselect only in repos that already run their own secret-scanning pre-commit hook.",
1345
1376
  "tags": ["security", "workflow"],
1346
1377
  "repoRoles": [],
1347
1378
  "ecosystem": "security",
1348
1379
  "installMode": "copy-selected",
1349
1380
  "tokenEstimate": 387,
1350
1381
  "tokenBudget": 510,
1382
+ "default": true,
1383
+ "reviewStatus": "approved",
1384
+ "riskLevel": "low"
1385
+ },
1386
+ {
1387
+ "id": "haus.lefthook-quality",
1388
+ "version": "1.0.0",
1389
+ "source": "haus",
1390
+ "type": "template",
1391
+ "path": "templates/lefthook-quality.yml",
1392
+ "title": "Lefthook quality pre-commit",
1393
+ "purpose": "Lint + typecheck + format pre-commit gates and a pre-push unit-test gate wired via Lefthook — the installable counterpart of the workflow standard's Pre-commit hooks section.",
1394
+ "whenToUse": "Projects adopting the workflow standard's commit gates. The run commands are Node-flavoured defaults; replace them with the project's real lint/typecheck/format commands after install.",
1395
+ "whenNotToUse": "Repos whose hooks are already authored, or where the gates cannot be backed by real commands yet — a wrong command blocks every commit or passes vacuously.",
1396
+ "tags": ["workflow", "quality"],
1397
+ "repoRoles": [],
1398
+ "ecosystem": "quality",
1399
+ "installMode": "copy-selected",
1400
+ "tokenEstimate": 382,
1401
+ "tokenBudget": 500,
1351
1402
  "default": false,
1352
1403
  "reviewStatus": "approved",
1353
1404
  "riskLevel": "low"
1354
1405
  },
1406
+ {
1407
+ "id": "haus.lefthook-branch-guard",
1408
+ "version": "1.0.0",
1409
+ "source": "haus",
1410
+ "type": "template",
1411
+ "path": "templates/lefthook-branch-guard.yml",
1412
+ "title": "Lefthook branch guard",
1413
+ "purpose": "Pre-commit hook that fails any commit made directly on a protected branch (main/master by default) — deterministic backing for the workflow standard's NEVER-work-on-main rule, which settings.json deny patterns cannot express.",
1414
+ "whenToUse": "Installed by default so the NEVER-work-on-main rule has a mechanical gate, not just prose (ADR-0057). Detached HEAD is always allowed; the branch list is configurable.",
1415
+ "whenNotToUse": "Solo or trunk-based repos that intentionally commit to main — opt out per repo with `git config haus.allowProtectedCommits true` instead of deselecting, so the guard stays for everyone else.",
1416
+ "tags": ["workflow", "baseline"],
1417
+ "repoRoles": [],
1418
+ "ecosystem": "workflow",
1419
+ "installMode": "copy-selected",
1420
+ "tokenEstimate": 395,
1421
+ "tokenBudget": 515,
1422
+ "default": true,
1423
+ "reviewStatus": "approved",
1424
+ "riskLevel": "low"
1425
+ },
1355
1426
  {
1356
1427
  "id": "haus.decision-template",
1357
1428
  "version": "1.0.0",
@@ -1367,6 +1438,7 @@
1367
1438
  "ecosystem": "general",
1368
1439
  "installMode": "copy-selected",
1369
1440
  "tokenEstimate": 179,
1441
+ "tokenBudget": 233,
1370
1442
  "default": false,
1371
1443
  "reviewStatus": "approved",
1372
1444
  "riskLevel": "low"
@@ -1386,6 +1458,27 @@
1386
1458
  "ecosystem": "general",
1387
1459
  "installMode": "copy-selected",
1388
1460
  "tokenEstimate": 301,
1461
+ "tokenBudget": 392,
1462
+ "default": true,
1463
+ "reviewStatus": "approved",
1464
+ "riskLevel": "low"
1465
+ },
1466
+ {
1467
+ "id": "haus.start-here",
1468
+ "version": "1.0.0",
1469
+ "source": "haus",
1470
+ "type": "template",
1471
+ "path": "templates/start-here.md",
1472
+ "title": "Start here (non-technical onboarding)",
1473
+ "purpose": "Plain-language onboarding page for non-developers: what haus set up, what to ask the assistant, and a glossary of the words around it.",
1474
+ "whenToUse": "Install in every project using haus-workflow — it is the entry point for the non-technical half of a mixed-skill team.",
1475
+ "whenNotToUse": "Never skip this template.",
1476
+ "tags": ["workflow", "baseline", "project-instructions"],
1477
+ "repoRoles": [],
1478
+ "ecosystem": "general",
1479
+ "installMode": "copy-selected",
1480
+ "tokenEstimate": 1233,
1481
+ "tokenBudget": 1603,
1389
1482
  "default": true,
1390
1483
  "reviewStatus": "approved",
1391
1484
  "riskLevel": "low"
@@ -1412,7 +1505,7 @@
1412
1505
  },
1413
1506
  {
1414
1507
  "id": "haus.issue-authoring",
1415
- "version": "1.2.0",
1508
+ "version": "1.3.0",
1416
1509
  "source": "haus",
1417
1510
  "type": "skill",
1418
1511
  "path": "skills/haus-owned/general/issue-authoring",
@@ -1424,15 +1517,44 @@
1424
1517
  "repoRoles": [],
1425
1518
  "ecosystem": "general",
1426
1519
  "installMode": "copy-selected",
1427
- "tokenEstimate": 1817,
1428
- "tokenBudget": 2370,
1520
+ "tokenEstimate": 2284,
1521
+ "tokenBudget": 2970,
1522
+ "default": true,
1523
+ "reviewStatus": "approved",
1524
+ "riskLevel": "low"
1525
+ },
1526
+ {
1527
+ "id": "haus.whats-installed",
1528
+ "version": "1.0.1",
1529
+ "source": "haus",
1530
+ "type": "skill",
1531
+ "path": "skills/haus-owned/general/whats-installed",
1532
+ "title": "What's installed",
1533
+ "purpose": "Answer \"what's installed / what can I ask for\" with a plain-language menu built from the project's haus inventory, tuned to the reader's technical level.",
1534
+ "whenToUse": "Someone asks what is installed, what they can ask for, what haus set up, or where to start — especially a non-technical colleague.",
1535
+ "whenNotToUse": "Installing, removing, or updating items — that is the haus CLI's job, not a conversation.",
1536
+ "tags": ["workflow", "haus", "baseline"],
1537
+ "repoRoles": [],
1538
+ "requiresAny": [],
1539
+ "intents": [
1540
+ "what is installed in this project",
1541
+ "what can I ask for help with",
1542
+ "show me a menu of what haus set up",
1543
+ "where do I start in this project",
1544
+ "vad är installerat i projektet",
1545
+ "vad kan jag be om hjälp med"
1546
+ ],
1547
+ "ecosystem": "general",
1548
+ "installMode": "copy-selected",
1549
+ "tokenEstimate": 677,
1550
+ "tokenBudget": 884,
1429
1551
  "default": true,
1430
1552
  "reviewStatus": "approved",
1431
1553
  "riskLevel": "low"
1432
1554
  },
1433
1555
  {
1434
1556
  "id": "haus.issue-creator",
1435
- "version": "1.1.1",
1557
+ "version": "1.2.0",
1436
1558
  "source": "haus",
1437
1559
  "type": "agent",
1438
1560
  "path": "agents/haus-owned/issue-creator.md",
@@ -1444,8 +1566,8 @@
1444
1566
  "repoRoles": [],
1445
1567
  "ecosystem": "general",
1446
1568
  "installMode": "copy-selected",
1447
- "tokenEstimate": 643,
1448
- "tokenBudget": 840,
1569
+ "tokenEstimate": 749,
1570
+ "tokenBudget": 974,
1449
1571
  "default": true,
1450
1572
  "reviewStatus": "approved",
1451
1573
  "riskLevel": "low"
@@ -1461,6 +1583,21 @@
1461
1583
  "whenToUse": "Use for `next-auth` / `@auth/core` provider setup, session strategy, callbacks, JWT, and route protection in Next.js.",
1462
1584
  "whenNotToUse": "Do not use for Laravel/PHP auth, OIDC outside Next.js, or session-less API tokens.",
1463
1585
  "references": ["https://authjs.dev/"],
1586
+ "intents": [
1587
+ "set up NextAuth login",
1588
+ "add an OAuth provider to a Next.js app",
1589
+ "configure Auth.js session strategy",
1590
+ "protect Next.js routes with auth middleware",
1591
+ "handle NextAuth callbacks and JWT claims",
1592
+ "add a credentials provider"
1593
+ ],
1594
+ "safetyNotes": [
1595
+ "Never expose OAuth client secrets or AUTH_SECRET/NEXTAUTH_SECRET via NEXT_PUBLIC_* env vars or client-side code, and never commit them to the repo.",
1596
+ "Do not import the adapter-bearing auth config inside middleware.ts — Node-only modules break the edge runtime and can silently disable route protection.",
1597
+ "Route protection must fail closed: an unauthenticated session in middleware/auth() denies by default; never default-allow on callback errors.",
1598
+ "Do not mix v4 and v5 APIs in one change — callback shapes differ and a mismatched callback can grant sessions with unvalidated claims.",
1599
+ "Never trust redirect targets from query params; validate callback/redirect URLs against the configured allowlist."
1600
+ ],
1464
1601
  "tokenBudget": 710,
1465
1602
  "tags": ["next-auth", "auth", "nextjs"],
1466
1603
  "repoRoles": ["next-app"],
@@ -1483,7 +1620,7 @@
1483
1620
  },
1484
1621
  {
1485
1622
  "id": "haus.oh-my-claudecode-designer",
1486
- "version": "1.0.3",
1623
+ "version": "1.0.4",
1487
1624
  "source": "curated",
1488
1625
  "type": "agent",
1489
1626
  "path": "sources/oh-my-claudecode/agents/designer.md",
@@ -1494,6 +1631,7 @@
1494
1631
  "tags": ["agent", "frontend"],
1495
1632
  "repoRoles": [],
1496
1633
  "tokenEstimate": 2407,
1634
+ "tokenBudget": 3130,
1497
1635
  "installMode": "copy-selected",
1498
1636
  "reviewStatus": "approved",
1499
1637
  "riskLevel": "low",
@@ -1503,7 +1641,7 @@
1503
1641
  "originSourceId": "omcc-yeachanheo",
1504
1642
  "originUrl": "https://github.com/yeachan-heo/oh-my-claudecode/blob/50f6ff05eb5d9ebed66f05d8c4580c0b119f37af/agents/designer.md",
1505
1643
  "pinnedRef": "50f6ff05eb5d9ebed66f05d8c4580c0b119f37af",
1506
- "ecosystem": "oh-my-claudecode",
1644
+ "ecosystem": "design",
1507
1645
  "optInTier": "design",
1508
1646
  "optInGroup": "UI design",
1509
1647
  "default": false,
@@ -1515,7 +1653,7 @@
1515
1653
  },
1516
1654
  {
1517
1655
  "id": "haus.oh-my-claudecode-test-engineer",
1518
- "version": "1.0.3",
1656
+ "version": "1.0.4",
1519
1657
  "source": "curated",
1520
1658
  "type": "agent",
1521
1659
  "path": "sources/oh-my-claudecode/agents/test-engineer.md",
@@ -1526,6 +1664,7 @@
1526
1664
  "tags": ["agent", "testing"],
1527
1665
  "repoRoles": [],
1528
1666
  "tokenEstimate": 1656,
1667
+ "tokenBudget": 2153,
1529
1668
  "installMode": "copy-selected",
1530
1669
  "reviewStatus": "approved",
1531
1670
  "riskLevel": "low",
@@ -1535,20 +1674,35 @@
1535
1674
  "originSourceId": "omcc-yeachanheo",
1536
1675
  "originUrl": "https://github.com/yeachan-heo/oh-my-claudecode/blob/50f6ff05eb5d9ebed66f05d8c4580c0b119f37af/agents/test-engineer.md",
1537
1676
  "pinnedRef": "50f6ff05eb5d9ebed66f05d8c4580c0b119f37af",
1538
- "ecosystem": "oh-my-claudecode",
1677
+ "ecosystem": "testing",
1539
1678
  "default": false,
1540
1679
  "requiresAny": [
1680
+ {
1681
+ "stack": "vitest"
1682
+ },
1683
+ {
1684
+ "stack": "jest"
1685
+ },
1686
+ {
1687
+ "stack": "testing-library"
1688
+ },
1689
+ {
1690
+ "stack": "phpunit"
1691
+ },
1541
1692
  {
1542
1693
  "stack": "playwright"
1543
1694
  },
1544
1695
  {
1545
- "dependency": "@playwright/test"
1696
+ "role": "tdd-workflow"
1697
+ },
1698
+ {
1699
+ "role": "e2e-authoring"
1546
1700
  }
1547
1701
  ]
1548
1702
  },
1549
1703
  {
1550
1704
  "id": "haus.oh-my-claudecode-tracer",
1551
- "version": "1.0.3",
1705
+ "version": "1.0.4",
1552
1706
  "source": "curated",
1553
1707
  "type": "agent",
1554
1708
  "path": "sources/oh-my-claudecode/agents/tracer.md",
@@ -1559,6 +1713,7 @@
1559
1713
  "tags": ["agent", "quality"],
1560
1714
  "repoRoles": [],
1561
1715
  "tokenEstimate": 3004,
1716
+ "tokenBudget": 3906,
1562
1717
  "installMode": "copy-selected",
1563
1718
  "reviewStatus": "approved",
1564
1719
  "riskLevel": "low",
@@ -1568,7 +1723,7 @@
1568
1723
  "originSourceId": "omcc-yeachanheo",
1569
1724
  "originUrl": "https://github.com/yeachan-heo/oh-my-claudecode/blob/50f6ff05eb5d9ebed66f05d8c4580c0b119f37af/agents/tracer.md",
1570
1725
  "pinnedRef": "50f6ff05eb5d9ebed66f05d8c4580c0b119f37af",
1571
- "ecosystem": "oh-my-claudecode",
1726
+ "ecosystem": "quality",
1572
1727
  "optInTier": "review",
1573
1728
  "optInGroup": "Incident tracing",
1574
1729
  "default": false,
@@ -1580,7 +1735,7 @@
1580
1735
  },
1581
1736
  {
1582
1737
  "id": "haus.package-manager-yarn4-pnpm89",
1583
- "version": "1.0.2",
1738
+ "version": "1.0.3",
1584
1739
  "source": "haus",
1585
1740
  "type": "skill",
1586
1741
  "path": "skills/haus-owned/package-managers/package-manager-yarn4-pnpm89",
@@ -1670,7 +1825,7 @@
1670
1825
  },
1671
1826
  {
1672
1827
  "id": "haus.react-router-v7-patterns",
1673
- "version": "1.0.0",
1828
+ "version": "1.0.1",
1674
1829
  "source": "haus",
1675
1830
  "type": "skill",
1676
1831
  "path": "skills/haus-owned/stack-patterns/react-router-v7-patterns",
@@ -1694,7 +1849,7 @@
1694
1849
  }
1695
1850
  ],
1696
1851
  "ecosystem": "react",
1697
- "tokenEstimate": 456,
1852
+ "tokenEstimate": 465,
1698
1853
  "installMode": "copy-selected",
1699
1854
  "reviewStatus": "approved",
1700
1855
  "riskLevel": "low"
@@ -1705,13 +1860,14 @@
1705
1860
  "source": "curated",
1706
1861
  "type": "skill",
1707
1862
  "path": "sources/redis/skills/redis-connections",
1708
- "title": "Redis Redis Connections",
1863
+ "title": "Redis Connections",
1709
1864
  "purpose": "Redis client and connection guidance covering connection pooling, multiplexing, pipelining, client-side caching with RESP3, avoiding slow commands (KEYS, SMEMBERS, HGETALL), and tuning socket timeouts. Use when configuring a Redis client (redis-py, Jedis, Lettuce, NRedisStack), batching commands for throughput, eliminating per-request connection creation, iterating large keyspaces with SCAN, enabling client-side caching for read-heavy workloads, or setting connect and read timeouts.",
1710
1865
  "whenToUse": "Redis client and connection guidance covering connection pooling, multiplexing, pipelining, client-side caching with RESP3, avoiding slow commands (KEYS, SMEMBERS, HGETALL), and tuning socket timeouts. Use when configuring a Redis client (redis-py, Jedis, Lettuce, NRedisStack), batching commands for throughput, eliminating per-request connection creation, iterating large keyspaces with SCAN, enabling client-side caching for read-heavy workloads, or setting connect and read timeouts.",
1711
1866
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
1712
1867
  "tags": ["workflow", "redis", "database"],
1713
1868
  "repoRoles": [],
1714
1869
  "tokenEstimate": 1282,
1870
+ "tokenBudget": 1667,
1715
1871
  "installMode": "copy-selected",
1716
1872
  "default": false,
1717
1873
  "reviewStatus": "approved",
@@ -1738,13 +1894,14 @@
1738
1894
  "source": "curated",
1739
1895
  "type": "skill",
1740
1896
  "path": "sources/redis/skills/redis-observability",
1741
- "title": "Redis Redis Observability",
1897
+ "title": "Redis Observability",
1742
1898
  "purpose": "Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO, MEMORY DOCTOR, CLIENT LIST, FT.PROFILE), and when to use the Redis Insight GUI. Use when setting up monitoring or alerts for a Redis instance, diagnosing a performance regression, profiling a slow FT.SEARCH query, or wiring Redis metrics into Prometheus, Datadog, or similar.",
1743
1899
  "whenToUse": "Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO, MEMORY DOCTOR, CLIENT LIST, FT.PROFILE), and when to use the Redis Insight GUI. Use when setting up monitoring or alerts for a Redis instance, diagnosing a performance regression, profiling a slow FT.SEARCH query, or wiring Redis metrics into Prometheus, Datadog, or similar.",
1744
1900
  "whenNotToUse": "Everyday Redis usage is covered by redis-redis-connections. Install only for monitoring, triage, and observability setup (role:redis-ops).",
1745
1901
  "tags": ["workflow", "redis", "observability"],
1746
1902
  "repoRoles": [],
1747
1903
  "tokenEstimate": 912,
1904
+ "tokenBudget": 1186,
1748
1905
  "installMode": "copy-selected",
1749
1906
  "default": false,
1750
1907
  "reviewStatus": "approved",
@@ -1770,13 +1927,14 @@
1770
1927
  "source": "curated",
1771
1928
  "type": "skill",
1772
1929
  "path": "sources/redis/skills/redis-security",
1773
- "title": "Redis Redis Security",
1930
+ "title": "Redis Security",
1774
1931
  "purpose": "Redis security guidance covering authentication (requirepass and ACL users), TLS, ACL-based least-privilege access control, restricting network exposure via bind and protected-mode, firewall rules, and disabling dangerous commands. Use when deploying Redis to production, defining ACL users for an application, configuring TLS connections, locking down a Redis instance behind a firewall, or auditing a Redis deployment for security hardening.",
1775
1932
  "whenToUse": "Redis security guidance covering authentication (requirepass and ACL users), TLS, ACL-based least-privilege access control, restricting network exposure via bind and protected-mode, firewall rules, and disabling dangerous commands. Use when deploying Redis to production, defining ACL users for an application, configuring TLS connections, locking down a Redis instance behind a firewall, or auditing a Redis deployment for security hardening.",
1776
1933
  "whenNotToUse": "Everyday Redis usage is covered by redis-redis-connections. Install only for production hardening / ACL / TLS workflows (role:redis-ops).",
1777
1934
  "tags": ["workflow", "redis", "security"],
1778
1935
  "repoRoles": [],
1779
1936
  "tokenEstimate": 921,
1937
+ "tokenBudget": 1198,
1780
1938
  "installMode": "copy-selected",
1781
1939
  "default": false,
1782
1940
  "reviewStatus": "approved",
@@ -1810,6 +1968,7 @@
1810
1968
  "tags": ["workflow", "sanity", "cms"],
1811
1969
  "repoRoles": [],
1812
1970
  "tokenEstimate": 467,
1971
+ "tokenBudget": 608,
1813
1972
  "installMode": "copy-selected",
1814
1973
  "default": false,
1815
1974
  "reviewStatus": "approved",
@@ -1836,13 +1995,14 @@
1836
1995
  "source": "curated",
1837
1996
  "type": "skill",
1838
1997
  "path": "sources/sentry/skills-legacy/sentry-nestjs-sdk",
1839
- "title": "Sentry Sentry Nestjs Sdk",
1998
+ "title": "Sentry Nestjs Sdk",
1840
1999
  "purpose": "Full Sentry SDK setup for NestJS. Use when asked to \"add Sentry to NestJS\", \"install @sentry/nestjs\", \"setup Sentry in NestJS\", or configure error monitoring, tracing, profiling, logging, metrics, crons, or AI monitoring for NestJS applications. Supports Express and Fastify adapters, GraphQL, microservices, WebSockets, and background jobs.",
1841
2000
  "whenToUse": "Full Sentry SDK setup for NestJS. Use when asked to \"add Sentry to NestJS\", \"install @sentry/nestjs\", \"setup Sentry in NestJS\", or configure error monitoring, tracing, profiling, logging, metrics, crons, or AI monitoring for NestJS applications. Supports Express and Fastify adapters, GraphQL, microservices, WebSockets, and background jobs.",
1842
- "whenNotToUse": "Do not use when a more specific skill or command applies.",
2001
+ "whenNotToUse": "Imported from upstream's skills-legacy directory (Sentry SDK v8 era, 2024); verify version-specific setup advice against current Sentry docs before applying.",
1843
2002
  "tags": ["workflow", "sentry", "nestjs", "observability"],
1844
2003
  "repoRoles": [],
1845
2004
  "tokenEstimate": 8787,
2005
+ "tokenBudget": 11424,
1846
2006
  "installMode": "copy-selected",
1847
2007
  "default": false,
1848
2008
  "reviewStatus": "approved",
@@ -1869,13 +2029,14 @@
1869
2029
  "source": "curated",
1870
2030
  "type": "skill",
1871
2031
  "path": "sources/sentry/skills-legacy/sentry-nextjs-sdk",
1872
- "title": "Sentry Sentry Nextjs Sdk",
2032
+ "title": "Sentry Nextjs Sdk",
1873
2033
  "purpose": "Full Sentry SDK setup for Next.js. Use when asked to \"add Sentry to Next.js\", \"install @sentry/nextjs\", or configure error monitoring, tracing, session replay, logging, profiling, AI monitoring, or crons for Next.js applications. Supports Next.js 13+ with App Router and Pages Router.",
1874
2034
  "whenToUse": "Full Sentry SDK setup for Next.js. Use when asked to \"add Sentry to Next.js\", \"install @sentry/nextjs\", or configure error monitoring, tracing, session replay, logging, profiling, AI monitoring, or crons for Next.js applications. Supports Next.js 13+ with App Router and Pages Router.",
1875
- "whenNotToUse": "Do not use when a more specific skill or command applies.",
2035
+ "whenNotToUse": "Imported from upstream's skills-legacy directory (Sentry SDK v8 era, 2024); verify version-specific setup advice against current Sentry docs before applying.",
1876
2036
  "tags": ["workflow", "sentry", "nextjs", "observability"],
1877
2037
  "repoRoles": [],
1878
2038
  "tokenEstimate": 4731,
2039
+ "tokenBudget": 6151,
1879
2040
  "installMode": "copy-selected",
1880
2041
  "default": false,
1881
2042
  "reviewStatus": "approved",
@@ -1902,13 +2063,14 @@
1902
2063
  "source": "curated",
1903
2064
  "type": "skill",
1904
2065
  "path": "sources/sentry/skills-legacy/sentry-node-sdk",
1905
- "title": "Sentry Sentry Node Sdk",
2066
+ "title": "Sentry Node Sdk",
1906
2067
  "purpose": "Full Sentry SDK setup for Node.js, Bun, and Deno. Use when asked to \"add Sentry to Node.js\", \"add Sentry to Bun\", \"add Sentry to Deno\", \"install @sentry/node\", \"@sentry/bun\", or \"@sentry/deno\", or configure error monitoring, tracing, logging, profiling, metrics, crons, or AI monitoring for server-side JavaScript/TypeScript runtimes.",
1907
2068
  "whenToUse": "Full Sentry SDK setup for Node.js, Bun, and Deno. Use when asked to \"add Sentry to Node.js\", \"add Sentry to Bun\", \"add Sentry to Deno\", \"install @sentry/node\", \"@sentry/bun\", or \"@sentry/deno\", or configure error monitoring, tracing, logging, profiling, metrics, crons, or AI monitoring for server-side JavaScript/TypeScript runtimes.",
1908
- "whenNotToUse": "Prefer sentry-nestjs-sdk for NestJS apps using @sentry/nestjs.",
2069
+ "whenNotToUse": "Prefer haus.sentry-sentry-nestjs-sdk for NestJS apps using @sentry/nestjs. Imported from upstream's skills-legacy directory (Sentry SDK v8 era, 2024); verify version-specific setup advice against current Sentry docs before applying.",
1909
2070
  "tags": ["workflow", "sentry", "backend", "observability"],
1910
2071
  "repoRoles": [],
1911
2072
  "tokenEstimate": 8466,
2073
+ "tokenBudget": 11006,
1912
2074
  "installMode": "copy-selected",
1913
2075
  "default": false,
1914
2076
  "reviewStatus": "approved",
@@ -1935,13 +2097,14 @@
1935
2097
  "source": "curated",
1936
2098
  "type": "skill",
1937
2099
  "path": "sources/sentry/skills-legacy/sentry-php-sdk",
1938
- "title": "Sentry Sentry Php Sdk",
2100
+ "title": "Sentry Php Sdk",
1939
2101
  "purpose": "Full Sentry SDK setup for PHP. Use when asked to \"add Sentry to PHP\", \"install sentry/sentry\", \"setup Sentry in PHP\", or configure error monitoring, tracing, profiling, logging, metrics, crons, or AI monitoring for PHP applications. Supports plain PHP, Laravel, and Symfony.",
1940
2102
  "whenToUse": "Full Sentry SDK setup for PHP. Use when asked to \"add Sentry to PHP\", \"install sentry/sentry\", \"setup Sentry in PHP\", or configure error monitoring, tracing, profiling, logging, metrics, crons, or AI monitoring for PHP applications. Supports plain PHP, Laravel, and Symfony.",
1941
- "whenNotToUse": "Do not use when a more specific skill or command applies.",
2103
+ "whenNotToUse": "Imported from upstream's skills-legacy directory (Sentry SDK v8 era, 2024); verify version-specific setup advice against current Sentry docs before applying.",
1942
2104
  "tags": ["workflow", "sentry", "laravel", "observability"],
1943
2105
  "repoRoles": [],
1944
2106
  "tokenEstimate": 3735,
2107
+ "tokenBudget": 4856,
1945
2108
  "installMode": "copy-selected",
1946
2109
  "default": false,
1947
2110
  "reviewStatus": "approved",
@@ -1962,40 +2125,9 @@
1962
2125
  }
1963
2126
  ]
1964
2127
  },
1965
- {
1966
- "id": "haus.storybook-patterns",
1967
- "version": "1.0.2",
1968
- "source": "haus",
1969
- "type": "skill",
1970
- "path": "skills/haus-owned/stack-patterns/storybook-patterns",
1971
- "title": "Haus Storybook patterns",
1972
- "purpose": "Guide story coverage and component API documentation updates.",
1973
- "whenToUse": "Use for component stories, args/controls, and Storybook config changes.",
1974
- "whenNotToUse": "Do not use for backend/service-only development tasks.",
1975
- "references": ["https://storybook.js.org/llms.txt"],
1976
- "tokenBudget": 500,
1977
- "tags": ["storybook"],
1978
- "repoRoles": ["react-app", "next-app", "vite-app"],
1979
- "requiresAny": [
1980
- {
1981
- "stack": "storybook"
1982
- },
1983
- {
1984
- "dependency": "storybook"
1985
- },
1986
- {
1987
- "dependency": "@storybook/react"
1988
- }
1989
- ],
1990
- "ecosystem": "storybook",
1991
- "tokenEstimate": 378,
1992
- "installMode": "copy-selected",
1993
- "reviewStatus": "approved",
1994
- "riskLevel": "low"
1995
- },
1996
2128
  {
1997
2129
  "id": "haus.strapi-patterns",
1998
- "version": "1.0.1",
2130
+ "version": "1.0.2",
1999
2131
  "source": "haus",
2000
2132
  "type": "skill",
2001
2133
  "path": "skills/haus-owned/stack-patterns/strapi-patterns",
@@ -2019,18 +2151,18 @@
2019
2151
  }
2020
2152
  ],
2021
2153
  "ecosystem": "cms",
2022
- "tokenEstimate": 608,
2154
+ "tokenEstimate": 618,
2023
2155
  "installMode": "copy-selected",
2024
2156
  "reviewStatus": "approved",
2025
2157
  "riskLevel": "low"
2026
2158
  },
2027
2159
  {
2028
2160
  "id": "haus.stripe-stripe-best-practices",
2029
- "version": "1.0.9",
2161
+ "version": "1.0.11",
2030
2162
  "source": "curated",
2031
2163
  "type": "skill",
2032
2164
  "path": "sources/stripe/skills/stripe-best-practices",
2033
- "title": "Stripe Stripe Best Practices",
2165
+ "title": "Stripe Best Practices",
2034
2166
  "purpose": "Guides Stripe integration decisions across API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, tax and registrations (Stripe Tax, automatic_tax, product tax codes), Treasury financial accounts, integration options (Checkout, Payment Element), migrating from deprecated Stripe APIs, and security best practices (API key management, restricted keys, webhooks, OAuth). Use when building, modifying, or reviewing any Stripe integration, including accepting payments, building marketplaces, integrating Stripe, processing payments, setting up subscriptions, collecting sales tax, VAT, or GST, creating connected accounts, or implementing secure key handling.",
2035
2167
  "whenToUse": "Guides Stripe integration decisions across API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, tax and registrations (Stripe Tax, automatic_tax, product tax codes), Treasury financial accounts, integration options (Checkout, Payment Element), migrating from deprecated Stripe APIs, and security best practices (API key management, restricted keys, webhooks, OAuth). Use when building, modifying, or reviewing any Stripe integration, including accepting payments, building marketplaces, integrating Stripe, processing payments, setting up subscriptions, collecting sales tax, VAT, or GST, creating connected accounts, or implementing secure key handling.",
2036
2168
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
@@ -2051,17 +2183,18 @@
2051
2183
  "tags": ["workflow", "stripe", "payments"],
2052
2184
  "repoRoles": [],
2053
2185
  "tokenEstimate": 1314,
2186
+ "tokenBudget": 1709,
2054
2187
  "installMode": "copy-selected",
2055
2188
  "default": false,
2056
2189
  "reviewStatus": "approved",
2057
- "riskLevel": "low",
2190
+ "riskLevel": "medium",
2058
2191
  "useMode": "copy",
2059
2192
  "license": "MIT",
2060
2193
  "licenseConfidence": "medium",
2061
2194
  "originSourceId": "stripe-ai",
2062
2195
  "originUrl": "https://github.com/stripe/ai/blob/f4abb4498d2e3298c6b9e52cdd4559cebfc70a2f/skills/stripe-best-practices/SKILL.md",
2063
2196
  "pinnedRef": "f4abb4498d2e3298c6b9e52cdd4559cebfc70a2f",
2064
- "ecosystem": "stripe",
2197
+ "ecosystem": "payments",
2065
2198
  "requiresAny": [
2066
2199
  {
2067
2200
  "stack": "stripe"
@@ -2080,13 +2213,14 @@
2080
2213
  "source": "curated",
2081
2214
  "type": "skill",
2082
2215
  "path": "sources/supabase/skills/supabase",
2083
- "title": "Supabase Supabase",
2216
+ "title": "Supabase",
2084
2217
  "purpose": "Use when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues); client libraries and SSR integrations (supabase-js, @supabase/ssr) in Next.js, React, SvelteKit, Astro, Remix; auth issues (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS); Supabase CLI or MCP server; schema changes, migrations, declarative schemas, security audits, Postgres extensions (pg_graphql, pg_cron, pg_vector); debugging and troubleshooting errors or unexpected behavior on Supabase projects (HTTP errors, Postgres errors, RLS surprises, permission denied, schema cache issues, timeouts, Edge Function crashes, Realtime drops, Storage failures) and reading or querying logs (Logs Explorer, ClickHouse).",
2085
2218
  "whenToUse": "Use when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues); client libraries and SSR integrations (supabase-js, @supabase/ssr) in Next.js, React, SvelteKit, Astro, Remix; auth issues (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS); Supabase CLI or MCP server; schema changes, migrations, declarative schemas, security audits, Postgres extensions (pg_graphql, pg_cron, pg_vector); debugging and troubleshooting errors or unexpected behavior on Supabase projects (HTTP errors, Postgres errors, RLS surprises, permission denied, schema cache issues, timeouts, Edge Function crashes, Realtime drops, Storage failures) and reading or querying logs (Logs Explorer, ClickHouse).",
2086
2219
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
2087
2220
  "tags": ["workflow", "supabase", "backend"],
2088
2221
  "repoRoles": [],
2089
2222
  "tokenEstimate": 3208,
2223
+ "tokenBudget": 4171,
2090
2224
  "installMode": "copy-selected",
2091
2225
  "default": false,
2092
2226
  "reviewStatus": "approved",
@@ -2113,13 +2247,14 @@
2113
2247
  "source": "curated",
2114
2248
  "type": "skill",
2115
2249
  "path": "sources/supabase/skills/supabase-postgres-best-practices",
2116
- "title": "Supabase Supabase Postgres Best Practices",
2250
+ "title": "Supabase Postgres Best Practices",
2117
2251
  "purpose": "Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.",
2118
2252
  "whenToUse": "Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.",
2119
2253
  "whenNotToUse": "Use haus.supabase-supabase for product workflow, auth, and client integration.",
2120
2254
  "tags": ["workflow", "supabase", "postgresql", "backend", "database"],
2121
2255
  "repoRoles": [],
2122
2256
  "tokenEstimate": 808,
2257
+ "tokenBudget": 1051,
2123
2258
  "installMode": "copy-selected",
2124
2259
  "default": false,
2125
2260
  "reviewStatus": "approved",
@@ -2143,37 +2278,6 @@
2143
2278
  }
2144
2279
  ]
2145
2280
  },
2146
- {
2147
- "id": "haus.tanstack-query-router-patterns",
2148
- "version": "1.0.2",
2149
- "source": "haus",
2150
- "type": "skill",
2151
- "path": "skills/haus-owned/stack-patterns/tanstack-query-router-patterns",
2152
- "title": "Haus TanStack query/router patterns",
2153
- "purpose": "Guide query key, invalidation, and route loader/data-flow changes.",
2154
- "whenToUse": "Use for TanStack query cache behavior and TanStack router flow updates.",
2155
- "whenNotToUse": "Do not use for styling-only component changes.",
2156
- "references": ["https://tanstack.com/llms.txt"],
2157
- "tokenBudget": 520,
2158
- "tags": ["tanstack-query", "tanstack-router"],
2159
- "repoRoles": ["next-app", "react-app"],
2160
- "requiresAny": [
2161
- {
2162
- "dependency": "@tanstack/react-query"
2163
- },
2164
- {
2165
- "dependency": "@tanstack/react-router"
2166
- },
2167
- {
2168
- "dependency": "@tanstack/query-core"
2169
- }
2170
- ],
2171
- "ecosystem": "react",
2172
- "tokenEstimate": 394,
2173
- "installMode": "copy-selected",
2174
- "reviewStatus": "approved",
2175
- "riskLevel": "low"
2176
- },
2177
2281
  {
2178
2282
  "id": "haus.turborepo-turborepo",
2179
2283
  "version": "1.0.8",
@@ -2187,6 +2291,7 @@
2187
2291
  "tags": ["turbo", "workflow"],
2188
2292
  "repoRoles": ["turbo-monorepo"],
2189
2293
  "tokenEstimate": 7154,
2294
+ "tokenBudget": 9301,
2190
2295
  "installMode": "copy-selected",
2191
2296
  "default": true,
2192
2297
  "reviewStatus": "approved",
@@ -2207,47 +2312,9 @@
2207
2312
  }
2208
2313
  ]
2209
2314
  },
2210
- {
2211
- "id": "haus.typescript-patterns",
2212
- "version": "1.2.0",
2213
- "source": "haus",
2214
- "type": "skill",
2215
- "path": "skills/haus-owned/stack-patterns/typescript-patterns",
2216
- "title": "Haus TypeScript patterns",
2217
- "purpose": "Guide TypeScript contract and migration-safe typing changes.",
2218
- "whenToUse": "Use for shared types, DTOs, interface boundaries, and type-safe refactors.",
2219
- "whenNotToUse": "Do not use for runtime-only changes without type-contract impact.",
2220
- "references": ["https://www.typescriptlang.org/docs/handbook/"],
2221
- "tokenBudget": 400,
2222
- "tags": ["typescript", "frontend", "backend"],
2223
- "repoRoles": [
2224
- "next-app",
2225
- "react-app",
2226
- "nestjs-api",
2227
- "vendure-plugin",
2228
- "vendure-app",
2229
- "shared-package"
2230
- ],
2231
- "requiresAny": [
2232
- {
2233
- "stack": "typescript5"
2234
- },
2235
- {
2236
- "stack": "typescript"
2237
- },
2238
- {
2239
- "dependency": "typescript"
2240
- }
2241
- ],
2242
- "tokenEstimate": 305,
2243
- "installMode": "copy-selected",
2244
- "ecosystem": "typescript",
2245
- "reviewStatus": "approved",
2246
- "riskLevel": "low"
2247
- },
2248
2315
  {
2249
2316
  "id": "haus.vendure-app-patterns",
2250
- "version": "1.0.1",
2317
+ "version": "1.0.2",
2251
2318
  "source": "haus",
2252
2319
  "type": "skill",
2253
2320
  "path": "skills/haus-owned/stack-patterns/vendure-app-patterns",
@@ -2268,14 +2335,14 @@
2268
2335
  }
2269
2336
  ],
2270
2337
  "ecosystem": "vendure",
2271
- "tokenEstimate": 300,
2338
+ "tokenEstimate": 307,
2272
2339
  "installMode": "copy-selected",
2273
2340
  "reviewStatus": "approved",
2274
2341
  "riskLevel": "low"
2275
2342
  },
2276
2343
  {
2277
2344
  "id": "haus.vendure-plugin-patterns",
2278
- "version": "1.0.1",
2345
+ "version": "1.0.2",
2279
2346
  "source": "haus",
2280
2347
  "type": "skill",
2281
2348
  "path": "skills/haus-owned/stack-patterns/vendure-plugin-patterns",
@@ -2299,14 +2366,14 @@
2299
2366
  }
2300
2367
  ],
2301
2368
  "ecosystem": "vendure",
2302
- "tokenEstimate": 388,
2369
+ "tokenEstimate": 395,
2303
2370
  "installMode": "copy-selected",
2304
2371
  "reviewStatus": "approved",
2305
2372
  "riskLevel": "low"
2306
2373
  },
2307
2374
  {
2308
2375
  "id": "haus.wordpress-acf-elementor-jetengine-patterns",
2309
- "version": "1.1.0",
2376
+ "version": "1.1.1",
2310
2377
  "source": "haus",
2311
2378
  "type": "skill",
2312
2379
  "path": "skills/haus-owned/stack-patterns/wordpress-acf-elementor-jetengine-patterns",
@@ -2339,14 +2406,14 @@
2339
2406
  }
2340
2407
  ],
2341
2408
  "ecosystem": "wordpress",
2342
- "tokenEstimate": 320,
2409
+ "tokenEstimate": 327,
2343
2410
  "installMode": "copy-selected",
2344
2411
  "reviewStatus": "approved",
2345
2412
  "riskLevel": "low"
2346
2413
  },
2347
2414
  {
2348
2415
  "id": "haus.wordpress-bedrock-patterns",
2349
- "version": "1.0.0",
2416
+ "version": "1.0.1",
2350
2417
  "source": "haus",
2351
2418
  "type": "skill",
2352
2419
  "path": "skills/haus-owned/stack-patterns/wordpress-bedrock-patterns",
@@ -2367,7 +2434,7 @@
2367
2434
  }
2368
2435
  ],
2369
2436
  "ecosystem": "wordpress",
2370
- "tokenEstimate": 311,
2437
+ "tokenEstimate": 318,
2371
2438
  "installMode": "copy-selected",
2372
2439
  "reviewStatus": "approved",
2373
2440
  "riskLevel": "low"
@@ -2385,6 +2452,7 @@
2385
2452
  "tags": ["wordpress"],
2386
2453
  "repoRoles": ["wordpress-bedrock-site", "wordpress-vanilla-site"],
2387
2454
  "tokenEstimate": 557,
2455
+ "tokenBudget": 725,
2388
2456
  "installMode": "copy-selected",
2389
2457
  "default": true,
2390
2458
  "reviewStatus": "approved",
@@ -2424,6 +2492,7 @@
2424
2492
  "tags": ["wordpress"],
2425
2493
  "repoRoles": ["wordpress-bedrock-site", "wordpress-vanilla-site"],
2426
2494
  "tokenEstimate": 999,
2495
+ "tokenBudget": 1299,
2427
2496
  "installMode": "copy-selected",
2428
2497
  "default": true,
2429
2498
  "reviewStatus": "approved",
@@ -2463,6 +2532,7 @@
2463
2532
  "tags": ["wordpress"],
2464
2533
  "repoRoles": ["wordpress-bedrock-site", "wordpress-vanilla-site"],
2465
2534
  "tokenEstimate": 1623,
2535
+ "tokenBudget": 2110,
2466
2536
  "installMode": "copy-selected",
2467
2537
  "default": true,
2468
2538
  "reviewStatus": "approved",
@@ -2512,7 +2582,7 @@
2512
2582
  },
2513
2583
  {
2514
2584
  "id": "haus.wshobson-javascript-testing-patterns",
2515
- "version": "1.0.2",
2585
+ "version": "1.0.3",
2516
2586
  "source": "curated",
2517
2587
  "type": "skill",
2518
2588
  "path": "sources/wshobson/plugins/javascript-typescript/skills/javascript-testing-patterns",
@@ -2524,7 +2594,6 @@
2524
2594
  "repoRoles": [
2525
2595
  "next-app",
2526
2596
  "react-app",
2527
- "vue-app",
2528
2597
  "vite-app",
2529
2598
  "vendure-app",
2530
2599
  "vendure-plugin",
@@ -2532,6 +2601,7 @@
2532
2601
  "nestjs-api"
2533
2602
  ],
2534
2603
  "tokenEstimate": 3658,
2604
+ "tokenBudget": 4756,
2535
2605
  "installMode": "copy-selected",
2536
2606
  "default": false,
2537
2607
  "reviewStatus": "approved",
@@ -2564,7 +2634,7 @@
2564
2634
  },
2565
2635
  {
2566
2636
  "id": "haus.wshobson-postgresql",
2567
- "version": "1.0.3",
2637
+ "version": "1.0.4",
2568
2638
  "source": "curated",
2569
2639
  "type": "skill",
2570
2640
  "path": "sources/wshobson/plugins/database-design/skills/postgresql",
@@ -2575,6 +2645,7 @@
2575
2645
  "tags": ["workflow", "postgresql", "database"],
2576
2646
  "repoRoles": [],
2577
2647
  "tokenEstimate": 4021,
2648
+ "tokenBudget": 5228,
2578
2649
  "installMode": "copy-selected",
2579
2650
  "default": false,
2580
2651
  "reviewStatus": "approved",
@@ -2589,9 +2660,6 @@
2589
2660
  "requiresAny": [
2590
2661
  {
2591
2662
  "stack": "postgresql"
2592
- },
2593
- {
2594
- "stack": "database"
2595
2663
  }
2596
2664
  ],
2597
2665
  "formerIds": ["haus.wshobson-postgresql-table-design"]
@@ -2609,6 +2677,7 @@
2609
2677
  "tags": ["workflow", "tailwind", "radix"],
2610
2678
  "repoRoles": [],
2611
2679
  "tokenEstimate": 1323,
2680
+ "tokenBudget": 1720,
2612
2681
  "installMode": "copy-selected",
2613
2682
  "default": false,
2614
2683
  "reviewStatus": "approved",
@@ -2631,24 +2700,18 @@
2631
2700
  },
2632
2701
  {
2633
2702
  "id": "haus.wshobson-typescript-advanced-types",
2634
- "version": "1.0.1",
2703
+ "version": "1.0.2",
2635
2704
  "source": "curated",
2636
2705
  "type": "skill",
2637
2706
  "path": "sources/wshobson/plugins/javascript-typescript/skills/typescript-advanced-types",
2638
2707
  "title": "Wshobson Typescript Advanced Types",
2639
2708
  "purpose": "Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.",
2640
2709
  "whenToUse": "Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.",
2641
- "whenNotToUse": "Use haus.typescript-patterns for contract boundaries and migration-safe typing.",
2710
+ "whenNotToUse": "Not for general TypeScript conventions or baseline typing style — model-baseline knowledge covers those; this skill is for advanced type-system work specifically.",
2642
2711
  "tags": ["workflow", "typescript", "frontend", "backend"],
2643
- "repoRoles": [
2644
- "next-app",
2645
- "react-app",
2646
- "nestjs-api",
2647
- "vendure-plugin",
2648
- "vendure-app",
2649
- "shared-package"
2650
- ],
2712
+ "repoRoles": ["next-app", "react-app", "nestjs-api", "vendure-plugin", "vendure-app"],
2651
2713
  "tokenEstimate": 2009,
2714
+ "tokenBudget": 2612,
2652
2715
  "installMode": "copy-selected",
2653
2716
  "default": false,
2654
2717
  "reviewStatus": "approved",
@@ -2664,9 +2727,6 @@
2664
2727
  {
2665
2728
  "stack": "typescript5"
2666
2729
  },
2667
- {
2668
- "stack": "typescript"
2669
- },
2670
2730
  {
2671
2731
  "dependency": "typescript"
2672
2732
  }
@@ -2685,6 +2745,7 @@
2685
2745
  "tags": ["mariadb", "database"],
2686
2746
  "repoRoles": [],
2687
2747
  "tokenEstimate": 6480,
2748
+ "tokenBudget": 8424,
2688
2749
  "installMode": "copy-selected",
2689
2750
  "default": true,
2690
2751
  "reviewStatus": "approved",
@@ -2718,6 +2779,7 @@
2718
2779
  "tags": ["mariadb", "database"],
2719
2780
  "repoRoles": [],
2720
2781
  "tokenEstimate": 5786,
2782
+ "tokenBudget": 7522,
2721
2783
  "installMode": "copy-selected",
2722
2784
  "default": true,
2723
2785
  "reviewStatus": "approved",
@@ -2740,19 +2802,20 @@
2740
2802
  },
2741
2803
  {
2742
2804
  "id": "haus.mariadb-mariadb-system-versioned-tables",
2743
- "version": "1.0.0",
2805
+ "version": "1.0.1",
2744
2806
  "source": "curated",
2745
2807
  "type": "skill",
2746
2808
  "path": "sources/mariadb/mariadb-system-versioned-tables",
2747
- "title": "Mariadb Mariadb System Versioned Tables",
2809
+ "title": "Mariadb System Versioned Tables",
2748
2810
  "purpose": "Best practices for MariaDB system-versioned (temporal) tables — automatic row history built into the database. Use when tracking data changes over time, implementing audit trails, meeting GDPR or compliance requirements, doing point-in-time queries, or when the user asks about row history, data versioning, temporal tables, or querying past data states in MariaDB. This feature is unique to MariaDB among MySQL-compatible databases.",
2749
2811
  "whenToUse": "Best practices for MariaDB system-versioned (temporal) tables — automatic row history built into the database. Use when tracking data changes over time, implementing audit trails, meeting GDPR or compliance requirements, doing point-in-time queries, or when the user asks about row history, data versioning, temporal tables, or querying past data states in MariaDB. This feature is unique to MariaDB among MySQL-compatible databases.",
2750
2812
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
2751
2813
  "tags": ["mariadb", "database"],
2752
2814
  "repoRoles": [],
2753
2815
  "tokenEstimate": 2323,
2816
+ "tokenBudget": 3020,
2754
2817
  "installMode": "copy-selected",
2755
- "default": true,
2818
+ "default": false,
2756
2819
  "reviewStatus": "approved",
2757
2820
  "riskLevel": "low",
2758
2821
  "useMode": "copy",
@@ -2769,23 +2832,26 @@
2769
2832
  {
2770
2833
  "dependency": "mariadb"
2771
2834
  }
2772
- ]
2835
+ ],
2836
+ "optInTier": "ops",
2837
+ "optInGroup": "MariaDB system-versioned tables"
2773
2838
  },
2774
2839
  {
2775
2840
  "id": "haus.mariadb-mariadb-replication-and-ha",
2776
- "version": "1.0.0",
2841
+ "version": "1.0.1",
2777
2842
  "source": "curated",
2778
2843
  "type": "skill",
2779
2844
  "path": "sources/mariadb/mariadb-replication-and-ha",
2780
- "title": "Mariadb Mariadb Replication And Ha",
2845
+ "title": "Mariadb Replication And Ha",
2781
2846
  "purpose": "Best practices for MariaDB replication and high availability — Galera Cluster, GTID replication, semi-synchronous replication, parallel replication, and application patterns for HA environments. Use when setting up replication, designing applications for HA, working with Galera Cluster, asking about MariaDB GTID, handling replication lag in application code, or choosing between replication topologies. IMPORTANT — MariaDB GTID format is incompatible with MySQL GTID, and Galera Cluster needs no server plugin to load but does require the separate galera wsrep provider library (galera-4).",
2782
2847
  "whenToUse": "Best practices for MariaDB replication and high availability — Galera Cluster, GTID replication, semi-synchronous replication, parallel replication, and application patterns for HA environments. Use when setting up replication, designing applications for HA, working with Galera Cluster, asking about MariaDB GTID, handling replication lag in application code, or choosing between replication topologies. IMPORTANT — MariaDB GTID format is incompatible with MySQL GTID, and Galera Cluster needs no server plugin to load but does require the separate galera wsrep provider library (galera-4).",
2783
2848
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
2784
2849
  "tags": ["mariadb", "database"],
2785
2850
  "repoRoles": [],
2786
2851
  "tokenEstimate": 5807,
2852
+ "tokenBudget": 7550,
2787
2853
  "installMode": "copy-selected",
2788
- "default": true,
2854
+ "default": false,
2789
2855
  "reviewStatus": "approved",
2790
2856
  "riskLevel": "low",
2791
2857
  "useMode": "copy",
@@ -2802,7 +2868,9 @@
2802
2868
  {
2803
2869
  "dependency": "mariadb"
2804
2870
  }
2805
- ]
2871
+ ],
2872
+ "optInTier": "ops",
2873
+ "optInGroup": "MariaDB replication & HA"
2806
2874
  },
2807
2875
  {
2808
2876
  "id": "haus.elasticsearch-elasticsearch-onboarding",
@@ -2817,6 +2885,7 @@
2817
2885
  "tags": ["elasticsearch", "database"],
2818
2886
  "repoRoles": [],
2819
2887
  "tokenEstimate": 666,
2888
+ "tokenBudget": 866,
2820
2889
  "installMode": "copy-selected",
2821
2890
  "default": true,
2822
2891
  "reviewStatus": "approved",
@@ -2850,6 +2919,7 @@
2850
2919
  "tags": ["elasticsearch", "database"],
2851
2920
  "repoRoles": [],
2852
2921
  "tokenEstimate": 4851,
2922
+ "tokenBudget": 6307,
2853
2923
  "installMode": "copy-selected",
2854
2924
  "default": true,
2855
2925
  "reviewStatus": "approved",
@@ -2889,6 +2959,7 @@
2889
2959
  "tags": ["mysql", "database"],
2890
2960
  "repoRoles": [],
2891
2961
  "tokenEstimate": 1408,
2962
+ "tokenBudget": 1831,
2892
2963
  "installMode": "copy-selected",
2893
2964
  "default": true,
2894
2965
  "reviewStatus": "approved",
@@ -2925,6 +2996,7 @@
2925
2996
  "tags": ["prisma", "database", "backend"],
2926
2997
  "repoRoles": [],
2927
2998
  "tokenEstimate": 1587,
2999
+ "tokenBudget": 2064,
2928
3000
  "installMode": "copy-selected",
2929
3001
  "default": true,
2930
3002
  "reviewStatus": "approved",
@@ -2961,6 +3033,7 @@
2961
3033
  "tags": ["prisma", "database", "backend"],
2962
3034
  "repoRoles": [],
2963
3035
  "tokenEstimate": 1459,
3036
+ "tokenBudget": 1897,
2964
3037
  "installMode": "copy-selected",
2965
3038
  "default": true,
2966
3039
  "reviewStatus": "approved",
@@ -2990,13 +3063,14 @@
2990
3063
  "source": "curated",
2991
3064
  "type": "skill",
2992
3065
  "path": "sources/prisma/prisma-mongodb-upgrade",
2993
- "title": "Prisma Prisma Mongodb Upgrade",
3066
+ "title": "Prisma Mongodb Upgrade",
2994
3067
  "purpose": "Decision and migration guide for Prisma ORM MongoDB projects on v6, which have no upgrade path to v7. Use when a MongoDB project asks about upgrading Prisma, when \"upgrade to prisma 7\" comes up in a project with provider = \"mongodb\", or when evaluating a move to Prisma Next. Triggers on \"upgrade prisma mongodb\", \"prisma 7 mongodb\", \"mongodb prisma migration\", \"prisma next mongodb\".",
2995
3068
  "whenToUse": "Decision and migration guide for Prisma ORM MongoDB projects on v6, which have no upgrade path to v7. Use when a MongoDB project asks about upgrading Prisma, when \"upgrade to prisma 7\" comes up in a project with provider = \"mongodb\", or when evaluating a move to Prisma Next. Triggers on \"upgrade prisma mongodb\", \"prisma 7 mongodb\", \"mongodb prisma migration\", \"prisma next mongodb\".",
2996
3069
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
2997
3070
  "tags": ["prisma", "database", "backend"],
2998
3071
  "repoRoles": [],
2999
3072
  "tokenEstimate": 1347,
3073
+ "tokenBudget": 1752,
3000
3074
  "installMode": "copy-selected",
3001
3075
  "default": true,
3002
3076
  "reviewStatus": "approved",
@@ -3033,6 +3107,7 @@
3033
3107
  "tags": ["dotnet", "csharp", "backend"],
3034
3108
  "repoRoles": [],
3035
3109
  "tokenEstimate": 2852,
3110
+ "tokenBudget": 3708,
3036
3111
  "installMode": "copy-selected",
3037
3112
  "default": true,
3038
3113
  "reviewStatus": "approved",
@@ -3066,6 +3141,7 @@
3066
3141
  "tags": ["dotnet", "csharp", "backend"],
3067
3142
  "repoRoles": [],
3068
3143
  "tokenEstimate": 2743,
3144
+ "tokenBudget": 3566,
3069
3145
  "installMode": "copy-selected",
3070
3146
  "default": true,
3071
3147
  "reviewStatus": "approved",
@@ -3100,6 +3176,7 @@
3100
3176
  "tags": ["dotnet", "csharp"],
3101
3177
  "repoRoles": [],
3102
3178
  "tokenEstimate": 2664,
3179
+ "tokenBudget": 3464,
3103
3180
  "installMode": "copy-selected",
3104
3181
  "default": true,
3105
3182
  "reviewStatus": "approved",
@@ -3126,13 +3203,14 @@
3126
3203
  "source": "curated",
3127
3204
  "type": "skill",
3128
3205
  "path": "sources/redis/skills/redis-core",
3129
- "title": "Redis Redis Core",
3206
+ "title": "Redis Core",
3130
3207
  "purpose": "Core Redis modeling guidance — choose the right data structure (String, Hash, List, Set, Sorted Set, JSON, Stream, Vector Set) and use consistent colon-separated key names. Use when designing a Redis data model, caching objects, deciding between Hash and JSON, building counters, leaderboards, membership sets, or session stores, or when reviewing/cleaning up Redis key naming.",
3131
3208
  "whenToUse": "Core Redis modeling guidance — choose the right data structure (String, Hash, List, Set, Sorted Set, JSON, Stream, Vector Set) and use consistent colon-separated key names. Use when designing a Redis data model, caching objects, deciding between Hash and JSON, building counters, leaderboards, membership sets, or session stores, or when reviewing/cleaning up Redis key naming.",
3132
3209
  "whenNotToUse": "Use haus.redis-redis-connections for client/connection-pooling guidance, haus.redis-redis-security for security hardening, or haus.redis-redis-observability for monitoring.",
3133
3210
  "tags": ["redis", "database"],
3134
3211
  "repoRoles": [],
3135
3212
  "tokenEstimate": 760,
3213
+ "tokenBudget": 988,
3136
3214
  "installMode": "copy-selected",
3137
3215
  "default": true,
3138
3216
  "reviewStatus": "approved",
@@ -3162,10 +3240,11 @@
3162
3240
  "title": "Vite",
3163
3241
  "purpose": "Vite build tool configuration, plugin API, SSR, and Vite 8 Rolldown migration. Use when working with Vite projects, vite.config.ts, Vite plugins, or building libraries/SSR apps with Vite.",
3164
3242
  "whenToUse": "Vite build tool configuration, plugin API, SSR, and Vite 8 Rolldown migration. Use when working with Vite projects, vite.config.ts, Vite plugins, or building libraries/SSR apps with Vite.",
3165
- "whenNotToUse": "Do not use when a more specific skill or command applies.",
3243
+ "whenNotToUse": "Overlaps with haus.ecc-vite-patterns (identical install gate). This item is the default pick for Vite config, plugin API, SSR, and Rolldown-migration work; reach for haus.ecc-vite-patterns for HMR debugging, env/proxy setup, library mode, dependency pre-bundling, and build-optimization checklists.",
3166
3244
  "tags": ["vite8", "frontend"],
3167
3245
  "repoRoles": [],
3168
3246
  "tokenEstimate": 616,
3247
+ "tokenBudget": 801,
3169
3248
  "installMode": "copy-selected",
3170
3249
  "default": true,
3171
3250
  "reviewStatus": "approved",
@@ -3188,19 +3267,20 @@
3188
3267
  },
3189
3268
  {
3190
3269
  "id": "haus.storybookjs-storybook-upgrade",
3191
- "version": "1.0.3",
3270
+ "version": "1.0.4",
3192
3271
  "source": "curated",
3193
3272
  "type": "skill",
3194
3273
  "path": "sources/storybookjs/.agents/skills/storybook-upgrade",
3195
3274
  "title": "Storybook Upgrade",
3196
3275
  "purpose": "Upgrade Storybook to a specific version (canary or release). Use this when upgrading Storybook packages in an external app, reproduction, or test project.",
3197
3276
  "whenToUse": "Upgrade Storybook to a specific version (canary or release). Use this when upgrading Storybook packages in an external app, reproduction, or test project.",
3198
- "whenNotToUse": "Use haus.storybook-patterns for general story coverage and component API documentation, not version upgrades.",
3277
+ "whenNotToUse": "Not for general story coverage or component API documentation — this is Storybook's own upgrade workflow, for version upgrades only.",
3199
3278
  "tags": ["storybook", "workflow"],
3200
3279
  "repoRoles": [],
3201
3280
  "tokenEstimate": 372,
3281
+ "tokenBudget": 484,
3202
3282
  "installMode": "copy-selected",
3203
- "default": true,
3283
+ "default": false,
3204
3284
  "reviewStatus": "approved",
3205
3285
  "riskLevel": "low",
3206
3286
  "useMode": "copy",
@@ -3221,19 +3301,20 @@
3221
3301
  },
3222
3302
  {
3223
3303
  "id": "haus.currents-dev-playwright-best-practices",
3224
- "version": "1.0.4",
3304
+ "version": "1.0.5",
3225
3305
  "source": "curated",
3226
3306
  "type": "skill",
3227
3307
  "path": "sources/currents-dev/playwright-best-practices",
3228
3308
  "title": "Playwright Best Practices",
3229
3309
  "purpose": "Use when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling authentication or OAuth, testing accessibility (axe-core), file uploads/downloads, date/time mocking, WebSockets, geolocation, permissions, multi-tab/popup flows, mobile/responsive layouts, touch gestures, GraphQL, error handling, offline mode, multi-user collaboration, third-party services (payments, email verification), console error monitoring, global setup/teardown, test annotations (skip, fixme, slow), test tags (@smoke, @fast, @critical, filtering with --grep), project dependencies, security testing (XSS, CSRF, auth), performance budgets (Web Vitals, Lighthouse), iframes, component testing, canvas/WebGL, service workers/PWA, test coverage, i18n/localization, Electron apps, or browser extension testing. Covers E2E, component, API, visual, accessibility, security, Electron, and extension testing.",
3230
3310
  "whenToUse": "Use when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling authentication or OAuth, testing accessibility (axe-core), file uploads/downloads, date/time mocking, WebSockets, geolocation, permissions, multi-tab/popup flows, mobile/responsive layouts, touch gestures, GraphQL, error handling, offline mode, multi-user collaboration, third-party services (payments, email verification), console error monitoring, global setup/teardown, test annotations (skip, fixme, slow), test tags (@smoke, @fast, @critical, filtering with --grep), project dependencies, security testing (XSS, CSRF, auth), performance budgets (Web Vitals, Lighthouse), iframes, component testing, canvas/WebGL, service workers/PWA, test coverage, i18n/localization, Electron apps, or browser extension testing. Covers E2E, component, API, visual, accessibility, security, Electron, and extension testing.",
3231
- "whenNotToUse": "Use haus.ecc-e2e-testing for Page-Object-Model, CI/CD integration, and flaky-test strategy guidance.",
3311
+ "whenNotToUse": "Do not use for non-Playwright test frameworks or unit testing. For framework-agnostic E2E strategy and test-architecture guidance prefer haus.ecc-e2e-testing; this skill is the Playwright-specific reference, including Page Object Model, CI/CD configuration, and flaky-test debugging in Playwright itself.",
3232
3312
  "tags": ["playwright", "testing"],
3233
3313
  "repoRoles": [],
3234
3314
  "tokenEstimate": 6577,
3315
+ "tokenBudget": 8551,
3235
3316
  "installMode": "copy-selected",
3236
- "default": true,
3317
+ "default": false,
3237
3318
  "reviewStatus": "approved",
3238
3319
  "riskLevel": "low",
3239
3320
  "useMode": "copy",
@@ -3265,6 +3346,7 @@
3265
3346
  "tags": ["nx", "workflow"],
3266
3347
  "repoRoles": ["nx-monorepo"],
3267
3348
  "tokenEstimate": 1918,
3349
+ "tokenBudget": 2494,
3268
3350
  "installMode": "copy-selected",
3269
3351
  "default": true,
3270
3352
  "reviewStatus": "approved",
@@ -3298,6 +3380,7 @@
3298
3380
  "tags": ["nx", "workflow"],
3299
3381
  "repoRoles": ["nx-monorepo"],
3300
3382
  "tokenEstimate": 1952,
3383
+ "tokenBudget": 2538,
3301
3384
  "installMode": "copy-selected",
3302
3385
  "default": true,
3303
3386
  "reviewStatus": "approved",
@@ -3331,6 +3414,7 @@
3331
3414
  "tags": ["nx", "workflow"],
3332
3415
  "repoRoles": ["nx-monorepo"],
3333
3416
  "tokenEstimate": 762,
3417
+ "tokenBudget": 991,
3334
3418
  "installMode": "copy-selected",
3335
3419
  "default": true,
3336
3420
  "reviewStatus": "approved",
@@ -3392,6 +3476,7 @@
3392
3476
  "tags": ["expo", "react-native", "mobile"],
3393
3477
  "repoRoles": ["expo-app"],
3394
3478
  "tokenEstimate": 3087,
3479
+ "tokenBudget": 4014,
3395
3480
  "installMode": "copy-selected",
3396
3481
  "default": true,
3397
3482
  "reviewStatus": "approved",
@@ -3423,7 +3508,7 @@
3423
3508
  },
3424
3509
  {
3425
3510
  "id": "haus.antfu-vue",
3426
- "version": "1.0.2",
3511
+ "version": "1.0.3",
3427
3512
  "source": "curated",
3428
3513
  "type": "skill",
3429
3514
  "path": "sources/antfu/skills/vue",
@@ -3432,8 +3517,9 @@
3432
3517
  "whenToUse": "Vue 3 Composition API, script setup macros, reactivity system, and built-in components. Use when writing Vue SFCs, defineProps/defineEmits/defineModel, watchers, or using Transition/Teleport/Suspense/KeepAlive.",
3433
3518
  "whenNotToUse": "Use haus.ecc-vue-patterns for project structure, Pinia, Vue Router, Nuxt SSR, and testing guidance — this skill covers only core Composition API/reactivity/built-ins.",
3434
3519
  "tags": ["vue", "workflow"],
3435
- "repoRoles": ["vue-app"],
3520
+ "repoRoles": [],
3436
3521
  "tokenEstimate": 612,
3522
+ "tokenBudget": 796,
3437
3523
  "installMode": "copy-selected",
3438
3524
  "default": true,
3439
3525
  "reviewStatus": "approved",
@@ -3456,7 +3542,7 @@
3456
3542
  },
3457
3543
  {
3458
3544
  "id": "haus.vercel-labs-react-best-practices",
3459
- "version": "1.0.2",
3545
+ "version": "1.0.3",
3460
3546
  "source": "curated",
3461
3547
  "type": "skill",
3462
3548
  "path": "sources/vercel-labs/skills/react-best-practices",
@@ -3467,6 +3553,7 @@
3467
3553
  "tags": ["react", "frontend", "workflow"],
3468
3554
  "repoRoles": [],
3469
3555
  "tokenEstimate": 1813,
3556
+ "tokenBudget": 2357,
3470
3557
  "installMode": "copy-selected",
3471
3558
  "default": true,
3472
3559
  "reviewStatus": "approved",
@@ -3479,9 +3566,6 @@
3479
3566
  "pinnedRef": "f8a72b9603728bb92a217a879b7e62e43ad76c81",
3480
3567
  "ecosystem": "react",
3481
3568
  "requiresAny": [
3482
- {
3483
- "stack": "react"
3484
- },
3485
3569
  {
3486
3570
  "stack": "react19"
3487
3571
  },
@@ -3492,7 +3576,7 @@
3492
3576
  },
3493
3577
  {
3494
3578
  "id": "haus.vercel-labs-react-view-transitions",
3495
- "version": "1.0.4",
3579
+ "version": "1.0.5",
3496
3580
  "source": "curated",
3497
3581
  "type": "skill",
3498
3582
  "path": "sources/vercel-labs/skills/react-view-transitions",
@@ -3503,6 +3587,7 @@
3503
3587
  "tags": ["react", "frontend", "workflow"],
3504
3588
  "repoRoles": [],
3505
3589
  "tokenEstimate": 3604,
3590
+ "tokenBudget": 4686,
3506
3591
  "installMode": "copy-selected",
3507
3592
  "default": true,
3508
3593
  "reviewStatus": "approved",
@@ -3515,9 +3600,6 @@
3515
3600
  "pinnedRef": "b8caa260a420a73042e35521de4b5c8baf6446cc",
3516
3601
  "ecosystem": "react",
3517
3602
  "requiresAny": [
3518
- {
3519
- "stack": "react"
3520
- },
3521
3603
  {
3522
3604
  "stack": "react19"
3523
3605
  },
@@ -3539,6 +3621,7 @@
3539
3621
  "tags": ["nestjs", "backend", "workflow"],
3540
3622
  "repoRoles": [],
3541
3623
  "tokenEstimate": 1189,
3624
+ "tokenBudget": 1546,
3542
3625
  "installMode": "copy-selected",
3543
3626
  "default": true,
3544
3627
  "reviewStatus": "approved",
@@ -3561,17 +3644,18 @@
3561
3644
  },
3562
3645
  {
3563
3646
  "id": "haus.ecc-postgres-patterns",
3564
- "version": "1.0.2",
3647
+ "version": "1.0.3",
3565
3648
  "source": "curated",
3566
3649
  "type": "skill",
3567
3650
  "path": "sources/ecc/skills/postgres-patterns",
3568
3651
  "title": "Ecc Postgres Patterns",
3569
3652
  "purpose": "PostgreSQL database patterns for query optimization, schema design, indexing, and security. Based on Supabase best practices. Use when designing PostgreSQL schemas, indexes, or RLS policies, or when a query is too slow.",
3570
3653
  "whenToUse": "PostgreSQL database patterns for query optimization, schema design, indexing, and security. Based on Supabase best practices. Use when designing PostgreSQL schemas, indexes, or RLS policies, or when a query is too slow.",
3571
- "whenNotToUse": "Use haus.wshobson-postgresql-table-design for table/schema design specifics.",
3654
+ "whenNotToUse": "Use haus.wshobson-postgresql for table/schema design specifics.",
3572
3655
  "tags": ["workflow", "postgresql", "database", "backend"],
3573
3656
  "repoRoles": [],
3574
3657
  "tokenEstimate": 979,
3658
+ "tokenBudget": 1273,
3575
3659
  "installMode": "copy-selected",
3576
3660
  "default": false,
3577
3661
  "reviewStatus": "approved",
@@ -3587,9 +3671,6 @@
3587
3671
  {
3588
3672
  "stack": "postgresql"
3589
3673
  },
3590
- {
3591
- "stack": "database"
3592
- },
3593
3674
  {
3594
3675
  "dependency": "pg"
3595
3676
  },
@@ -3600,7 +3681,7 @@
3600
3681
  },
3601
3682
  {
3602
3683
  "id": "haus.ecc-backend-patterns",
3603
- "version": "1.0.2",
3684
+ "version": "1.0.3",
3604
3685
  "source": "curated",
3605
3686
  "type": "skill",
3606
3687
  "path": "sources/ecc/skills/backend-patterns",
@@ -3611,6 +3692,7 @@
3611
3692
  "tags": ["workflow", "backend", "nextjs", "expressjs"],
3612
3693
  "repoRoles": ["nestjs-api", "next-app"],
3613
3694
  "tokenEstimate": 3338,
3695
+ "tokenBudget": 4340,
3614
3696
  "installMode": "copy-selected",
3615
3697
  "default": false,
3616
3698
  "reviewStatus": "approved",
@@ -3623,12 +3705,6 @@
3623
3705
  "pinnedRef": "06c5e118c4d3e6c3b7f9445f973a2194c82de193",
3624
3706
  "ecosystem": "backend",
3625
3707
  "requiresAny": [
3626
- {
3627
- "stack": "backend"
3628
- },
3629
- {
3630
- "stack": "expressjs"
3631
- },
3632
3708
  {
3633
3709
  "dependency": "express"
3634
3710
  }
@@ -3647,6 +3723,7 @@
3647
3723
  "tags": ["workflow", "laravel", "php", "security"],
3648
3724
  "repoRoles": ["laravel-app", "laravel-nova-app"],
3649
3725
  "tokenEstimate": 6639,
3726
+ "tokenBudget": 8631,
3650
3727
  "installMode": "copy-selected",
3651
3728
  "default": false,
3652
3729
  "reviewStatus": "approved",
@@ -3683,6 +3760,7 @@
3683
3760
  "tags": ["workflow", "tooling"],
3684
3761
  "repoRoles": [],
3685
3762
  "tokenEstimate": 1228,
3763
+ "tokenBudget": 1597,
3686
3764
  "installMode": "copy-selected",
3687
3765
  "default": false,
3688
3766
  "reviewStatus": "approved",
@@ -3726,7 +3804,7 @@
3726
3804
  },
3727
3805
  {
3728
3806
  "id": "haus.ecc-react-patterns",
3729
- "version": "1.0.1",
3807
+ "version": "1.0.2",
3730
3808
  "source": "curated",
3731
3809
  "type": "skill",
3732
3810
  "path": "sources/ecc/skills/react-patterns",
@@ -3737,6 +3815,7 @@
3737
3815
  "tags": ["workflow", "react", "frontend"],
3738
3816
  "repoRoles": ["react-app", "next-app", "vite-app"],
3739
3817
  "tokenEstimate": 2867,
3818
+ "tokenBudget": 3728,
3740
3819
  "installMode": "copy-selected",
3741
3820
  "default": false,
3742
3821
  "reviewStatus": "approved",
@@ -3749,9 +3828,6 @@
3749
3828
  "pinnedRef": "f1fec0e53934737d3b3b8388b0fd1651e8b62f4f",
3750
3829
  "ecosystem": "react",
3751
3830
  "requiresAny": [
3752
- {
3753
- "stack": "react"
3754
- },
3755
3831
  {
3756
3832
  "dependency": "react"
3757
3833
  }
@@ -3763,13 +3839,14 @@
3763
3839
  "source": "curated",
3764
3840
  "type": "skill",
3765
3841
  "path": "sources/sentry/skills-legacy/sentry-sdk-setup",
3766
- "title": "Sentry Sentry Sdk Setup",
3842
+ "title": "Sentry Sdk Setup",
3767
3843
  "purpose": "Set up Sentry in any language or framework. Detects the user's platform and loads the right SDK skill. Use when asked to add Sentry, install an SDK, or set up error monitoring in a project.",
3768
3844
  "whenToUse": "Set up Sentry in any language or framework. Detects the user's platform and loads the right SDK skill. Use when asked to add Sentry, install an SDK, or set up error monitoring in a project.",
3769
- "whenNotToUse": "Use the language-specific Sentry SDK skill once the platform is known.",
3845
+ "whenNotToUse": "Use the language-specific Sentry SDK skill once the platform is known. Imported from upstream's skills-legacy directory (Sentry SDK v8 era, 2024); verify version-specific setup advice against current Sentry docs before applying.",
3770
3846
  "tags": ["workflow", "sentry", "observability"],
3771
3847
  "repoRoles": [],
3772
3848
  "tokenEstimate": 1691,
3849
+ "tokenBudget": 2199,
3773
3850
  "installMode": "copy-selected",
3774
3851
  "default": false,
3775
3852
  "reviewStatus": "approved",
@@ -3799,13 +3876,14 @@
3799
3876
  "source": "curated",
3800
3877
  "type": "skill",
3801
3878
  "path": "sources/sentry/skills-legacy/sentry-setup-ai-monitoring",
3802
- "title": "Sentry Sentry Setup Ai Monitoring",
3879
+ "title": "Sentry Setup Ai Monitoring",
3803
3880
  "purpose": "Setup Sentry AI Agent Monitoring in any project. Use when asked to monitor LLM calls, track AI agents, track conversations, or instrument OpenAI/Anthropic/Vercel AI/LangChain/Google GenAI/Pydantic AI/Laravel AI. Detects installed AI SDKs and configures appropriate integrations.",
3804
3881
  "whenToUse": "Setup Sentry AI Agent Monitoring in any project. Use when asked to monitor LLM calls, track AI agents, track conversations, or instrument OpenAI/Anthropic/Vercel AI/LangChain/Google GenAI/Pydantic AI/Laravel AI. Detects installed AI SDKs and configures appropriate integrations.",
3805
- "whenNotToUse": "Do not use when a more specific skill or command applies.",
3882
+ "whenNotToUse": "Imported from upstream's skills-legacy directory (Sentry SDK v8 era, 2024); verify version-specific setup advice against current Sentry docs before applying.",
3806
3883
  "tags": ["workflow", "sentry", "observability"],
3807
3884
  "repoRoles": [],
3808
3885
  "tokenEstimate": 5468,
3886
+ "tokenBudget": 7109,
3809
3887
  "installMode": "copy-selected",
3810
3888
  "default": false,
3811
3889
  "reviewStatus": "approved",
@@ -3848,6 +3926,7 @@
3848
3926
  "tags": ["wordpress"],
3849
3927
  "repoRoles": ["wordpress-bedrock-site", "wordpress-vanilla-site"],
3850
3928
  "tokenEstimate": 371,
3929
+ "tokenBudget": 483,
3851
3930
  "installMode": "copy-selected",
3852
3931
  "default": false,
3853
3932
  "reviewStatus": "approved",
@@ -3876,7 +3955,7 @@
3876
3955
  },
3877
3956
  {
3878
3957
  "id": "haus.ecc-accessibility",
3879
- "version": "1.0.2",
3958
+ "version": "1.0.4",
3880
3959
  "source": "curated",
3881
3960
  "type": "skill",
3882
3961
  "path": "sources/ecc/skills/accessibility",
@@ -3885,8 +3964,9 @@
3885
3964
  "whenToUse": "Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support. standards. Use this skill to generate semantic ARIA for Web and accessibility traits for Web and Native platforms (iOS/Android).",
3886
3965
  "whenNotToUse": "Use haus.ecc-a11y-architect for architecture-level accessibility review rather than implementation.",
3887
3966
  "tags": ["workflow", "a11y", "frontend"],
3888
- "repoRoles": ["react-app", "next-app", "vue-app", "vite-app", "expo-app"],
3967
+ "repoRoles": ["react-app", "next-app", "vite-app", "expo-app"],
3889
3968
  "tokenEstimate": 1641,
3969
+ "tokenBudget": 2134,
3890
3970
  "installMode": "copy-selected",
3891
3971
  "default": false,
3892
3972
  "reviewStatus": "approved",
@@ -3905,14 +3985,17 @@
3905
3985
  {
3906
3986
  "role": "next-app"
3907
3987
  },
3908
- {
3909
- "role": "vue-app"
3910
- },
3911
3988
  {
3912
3989
  "role": "vite-app"
3913
3990
  },
3914
3991
  {
3915
3992
  "role": "expo-app"
3993
+ },
3994
+ {
3995
+ "stack": "vue"
3996
+ },
3997
+ {
3998
+ "dependency": "vue"
3916
3999
  }
3917
4000
  ],
3918
4001
  "optInTier": "review",
@@ -3920,7 +4003,7 @@
3920
4003
  },
3921
4004
  {
3922
4005
  "id": "haus.ecc-react-performance",
3923
- "version": "1.0.0",
4006
+ "version": "1.0.1",
3924
4007
  "source": "curated",
3925
4008
  "type": "skill",
3926
4009
  "path": "sources/ecc/skills/react-performance",
@@ -3931,6 +4014,7 @@
3931
4014
  "tags": ["workflow", "react", "frontend"],
3932
4015
  "repoRoles": ["react-app", "next-app", "vite-app"],
3933
4016
  "tokenEstimate": 4546,
4017
+ "tokenBudget": 5910,
3934
4018
  "installMode": "copy-selected",
3935
4019
  "default": false,
3936
4020
  "reviewStatus": "approved",
@@ -3943,9 +4027,6 @@
3943
4027
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
3944
4028
  "ecosystem": "react",
3945
4029
  "requiresAny": [
3946
- {
3947
- "stack": "react"
3948
- },
3949
4030
  {
3950
4031
  "dependency": "react"
3951
4032
  }
@@ -3953,17 +4034,18 @@
3953
4034
  },
3954
4035
  {
3955
4036
  "id": "haus.ecc-react-coding-style-rule",
3956
- "version": "1.0.0",
4037
+ "version": "1.0.1",
3957
4038
  "source": "curated",
3958
4039
  "type": "rule",
3959
4040
  "path": "sources/ecc/rules/react/coding-style.md",
3960
- "title": "Ecc Coding Style",
4041
+ "title": "Ecc React Coding Style Rule",
3961
4042
  "purpose": "React Coding Style",
3962
4043
  "whenToUse": "React Coding Style",
3963
4044
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
3964
4045
  "tags": ["workflow", "react"],
3965
4046
  "repoRoles": [],
3966
4047
  "tokenEstimate": 1114,
4048
+ "tokenBudget": 1449,
3967
4049
  "installMode": "copy-selected",
3968
4050
  "default": false,
3969
4051
  "reviewStatus": "approved",
@@ -3976,9 +4058,6 @@
3976
4058
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
3977
4059
  "ecosystem": "react",
3978
4060
  "requiresAny": [
3979
- {
3980
- "stack": "react"
3981
- },
3982
4061
  {
3983
4062
  "dependency": "react"
3984
4063
  },
@@ -3995,17 +4074,18 @@
3995
4074
  },
3996
4075
  {
3997
4076
  "id": "haus.ecc-react-hooks-rule",
3998
- "version": "1.0.0",
4077
+ "version": "1.0.1",
3999
4078
  "source": "curated",
4000
4079
  "type": "rule",
4001
4080
  "path": "sources/ecc/rules/react/hooks.md",
4002
- "title": "Ecc Hooks",
4081
+ "title": "Ecc React Hooks Rule",
4003
4082
  "purpose": "React Hooks",
4004
4083
  "whenToUse": "React Hooks",
4005
4084
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4006
4085
  "tags": ["workflow", "react"],
4007
4086
  "repoRoles": [],
4008
4087
  "tokenEstimate": 1644,
4088
+ "tokenBudget": 2138,
4009
4089
  "installMode": "copy-selected",
4010
4090
  "default": false,
4011
4091
  "reviewStatus": "approved",
@@ -4018,9 +4098,6 @@
4018
4098
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4019
4099
  "ecosystem": "react",
4020
4100
  "requiresAny": [
4021
- {
4022
- "stack": "react"
4023
- },
4024
4101
  {
4025
4102
  "dependency": "react"
4026
4103
  },
@@ -4037,17 +4114,18 @@
4037
4114
  },
4038
4115
  {
4039
4116
  "id": "haus.ecc-react-patterns-rule",
4040
- "version": "1.0.0",
4117
+ "version": "1.0.1",
4041
4118
  "source": "curated",
4042
4119
  "type": "rule",
4043
4120
  "path": "sources/ecc/rules/react/patterns.md",
4044
- "title": "Ecc Patterns",
4121
+ "title": "Ecc React Patterns Rule",
4045
4122
  "purpose": "React Patterns",
4046
4123
  "whenToUse": "React Patterns",
4047
4124
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4048
4125
  "tags": ["workflow", "react"],
4049
4126
  "repoRoles": [],
4050
4127
  "tokenEstimate": 1813,
4128
+ "tokenBudget": 2357,
4051
4129
  "installMode": "copy-selected",
4052
4130
  "default": false,
4053
4131
  "reviewStatus": "approved",
@@ -4060,9 +4138,6 @@
4060
4138
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4061
4139
  "ecosystem": "react",
4062
4140
  "requiresAny": [
4063
- {
4064
- "stack": "react"
4065
- },
4066
4141
  {
4067
4142
  "dependency": "react"
4068
4143
  },
@@ -4079,17 +4154,18 @@
4079
4154
  },
4080
4155
  {
4081
4156
  "id": "haus.ecc-react-security-rule",
4082
- "version": "1.0.0",
4157
+ "version": "1.0.1",
4083
4158
  "source": "curated",
4084
4159
  "type": "rule",
4085
4160
  "path": "sources/ecc/rules/react/security.md",
4086
- "title": "Ecc Security",
4161
+ "title": "Ecc React Security Rule",
4087
4162
  "purpose": "React Security",
4088
4163
  "whenToUse": "React Security",
4089
4164
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4090
4165
  "tags": ["workflow", "react"],
4091
4166
  "repoRoles": [],
4092
4167
  "tokenEstimate": 1599,
4168
+ "tokenBudget": 2079,
4093
4169
  "installMode": "copy-selected",
4094
4170
  "default": false,
4095
4171
  "reviewStatus": "approved",
@@ -4102,9 +4178,6 @@
4102
4178
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4103
4179
  "ecosystem": "react",
4104
4180
  "requiresAny": [
4105
- {
4106
- "stack": "react"
4107
- },
4108
4181
  {
4109
4182
  "dependency": "react"
4110
4183
  },
@@ -4121,17 +4194,18 @@
4121
4194
  },
4122
4195
  {
4123
4196
  "id": "haus.ecc-react-testing-rule",
4124
- "version": "1.0.0",
4197
+ "version": "1.0.1",
4125
4198
  "source": "curated",
4126
4199
  "type": "rule",
4127
4200
  "path": "sources/ecc/rules/react/testing.md",
4128
- "title": "Ecc Testing",
4201
+ "title": "Ecc React Testing Rule",
4129
4202
  "purpose": "React Testing",
4130
4203
  "whenToUse": "React Testing",
4131
4204
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4132
4205
  "tags": ["workflow", "react"],
4133
4206
  "repoRoles": [],
4134
4207
  "tokenEstimate": 1757,
4208
+ "tokenBudget": 2285,
4135
4209
  "installMode": "copy-selected",
4136
4210
  "default": false,
4137
4211
  "reviewStatus": "approved",
@@ -4144,9 +4218,6 @@
4144
4218
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4145
4219
  "ecosystem": "react",
4146
4220
  "requiresAny": [
4147
- {
4148
- "stack": "react"
4149
- },
4150
4221
  {
4151
4222
  "dependency": "react"
4152
4223
  },
@@ -4167,13 +4238,14 @@
4167
4238
  "source": "curated",
4168
4239
  "type": "rule",
4169
4240
  "path": "sources/ecc/rules/vue/coding-style.md",
4170
- "title": "Ecc Coding Style",
4241
+ "title": "Ecc Vue Coding Style Rule",
4171
4242
  "purpose": "Vue Coding Style",
4172
4243
  "whenToUse": "Vue Coding Style",
4173
4244
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4174
4245
  "tags": ["workflow", "vue"],
4175
4246
  "repoRoles": [],
4176
4247
  "tokenEstimate": 661,
4248
+ "tokenBudget": 860,
4177
4249
  "installMode": "copy-selected",
4178
4250
  "default": false,
4179
4251
  "reviewStatus": "approved",
@@ -4200,13 +4272,14 @@
4200
4272
  "source": "curated",
4201
4273
  "type": "rule",
4202
4274
  "path": "sources/ecc/rules/vue/hooks.md",
4203
- "title": "Ecc Hooks",
4275
+ "title": "Ecc Vue Hooks Rule",
4204
4276
  "purpose": "Vue Hooks",
4205
4277
  "whenToUse": "Vue Hooks",
4206
4278
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4207
4279
  "tags": ["workflow", "vue"],
4208
4280
  "repoRoles": [],
4209
4281
  "tokenEstimate": 373,
4282
+ "tokenBudget": 485,
4210
4283
  "installMode": "copy-selected",
4211
4284
  "default": false,
4212
4285
  "reviewStatus": "approved",
@@ -4233,13 +4306,14 @@
4233
4306
  "source": "curated",
4234
4307
  "type": "rule",
4235
4308
  "path": "sources/ecc/rules/vue/patterns.md",
4236
- "title": "Ecc Patterns",
4309
+ "title": "Ecc Vue Patterns Rule",
4237
4310
  "purpose": "Vue Patterns",
4238
4311
  "whenToUse": "Vue Patterns",
4239
4312
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4240
4313
  "tags": ["workflow", "vue"],
4241
4314
  "repoRoles": [],
4242
4315
  "tokenEstimate": 625,
4316
+ "tokenBudget": 813,
4243
4317
  "installMode": "copy-selected",
4244
4318
  "default": false,
4245
4319
  "reviewStatus": "approved",
@@ -4266,13 +4340,14 @@
4266
4340
  "source": "curated",
4267
4341
  "type": "rule",
4268
4342
  "path": "sources/ecc/rules/vue/security.md",
4269
- "title": "Ecc Security",
4343
+ "title": "Ecc Vue Security Rule",
4270
4344
  "purpose": "Vue Security",
4271
4345
  "whenToUse": "Vue Security",
4272
4346
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4273
4347
  "tags": ["workflow", "vue"],
4274
4348
  "repoRoles": [],
4275
4349
  "tokenEstimate": 494,
4350
+ "tokenBudget": 643,
4276
4351
  "installMode": "copy-selected",
4277
4352
  "default": false,
4278
4353
  "reviewStatus": "approved",
@@ -4299,13 +4374,14 @@
4299
4374
  "source": "curated",
4300
4375
  "type": "rule",
4301
4376
  "path": "sources/ecc/rules/vue/testing.md",
4302
- "title": "Ecc Testing",
4377
+ "title": "Ecc Vue Testing Rule",
4303
4378
  "purpose": "Vue Testing",
4304
4379
  "whenToUse": "Vue Testing",
4305
4380
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4306
4381
  "tags": ["workflow", "vue"],
4307
4382
  "repoRoles": [],
4308
4383
  "tokenEstimate": 512,
4384
+ "tokenBudget": 666,
4309
4385
  "installMode": "copy-selected",
4310
4386
  "default": false,
4311
4387
  "reviewStatus": "approved",
@@ -4328,17 +4404,18 @@
4328
4404
  },
4329
4405
  {
4330
4406
  "id": "haus.ecc-common-coding-style-rule",
4331
- "version": "1.0.0",
4407
+ "version": "1.0.2",
4332
4408
  "source": "curated",
4333
4409
  "type": "rule",
4334
4410
  "path": "sources/ecc/rules/common/coding-style.md",
4335
- "title": "Ecc Coding Style",
4411
+ "title": "Ecc Common Coding Style Rule",
4336
4412
  "purpose": "Coding Style",
4337
4413
  "whenToUse": "Coding Style",
4338
4414
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4339
4415
  "tags": ["workflow"],
4340
4416
  "repoRoles": [],
4341
4417
  "tokenEstimate": 635,
4418
+ "tokenBudget": 826,
4342
4419
  "installMode": "copy-selected",
4343
4420
  "default": false,
4344
4421
  "reviewStatus": "approved",
@@ -4349,11 +4426,8 @@
4349
4426
  "originSourceId": "ecc-affaanm",
4350
4427
  "originUrl": "https://github.com/affaan-m/ECC/blob/a15c8e853309818e96fe495d373a7aea47b1298d/rules/common/coding-style.md",
4351
4428
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4352
- "ecosystem": "common",
4429
+ "ecosystem": "general",
4353
4430
  "requiresAny": [
4354
- {
4355
- "stack": "react"
4356
- },
4357
4431
  {
4358
4432
  "dependency": "react"
4359
4433
  },
@@ -4382,17 +4456,18 @@
4382
4456
  },
4383
4457
  {
4384
4458
  "id": "haus.ecc-common-hooks-rule",
4385
- "version": "1.0.0",
4459
+ "version": "1.0.2",
4386
4460
  "source": "curated",
4387
4461
  "type": "rule",
4388
4462
  "path": "sources/ecc/rules/common/hooks.md",
4389
- "title": "Ecc Hooks",
4463
+ "title": "Ecc Common Hooks Rule",
4390
4464
  "purpose": "Hooks System",
4391
4465
  "whenToUse": "Hooks System",
4392
4466
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4393
4467
  "tags": ["workflow"],
4394
4468
  "repoRoles": [],
4395
4469
  "tokenEstimate": 192,
4470
+ "tokenBudget": 250,
4396
4471
  "installMode": "copy-selected",
4397
4472
  "default": false,
4398
4473
  "reviewStatus": "approved",
@@ -4403,11 +4478,8 @@
4403
4478
  "originSourceId": "ecc-affaanm",
4404
4479
  "originUrl": "https://github.com/affaan-m/ECC/blob/a15c8e853309818e96fe495d373a7aea47b1298d/rules/common/hooks.md",
4405
4480
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4406
- "ecosystem": "common",
4481
+ "ecosystem": "general",
4407
4482
  "requiresAny": [
4408
- {
4409
- "stack": "react"
4410
- },
4411
4483
  {
4412
4484
  "dependency": "react"
4413
4485
  },
@@ -4430,17 +4502,18 @@
4430
4502
  },
4431
4503
  {
4432
4504
  "id": "haus.ecc-common-patterns-rule",
4433
- "version": "1.0.0",
4505
+ "version": "1.0.2",
4434
4506
  "source": "curated",
4435
4507
  "type": "rule",
4436
4508
  "path": "sources/ecc/rules/common/patterns.md",
4437
- "title": "Ecc Patterns",
4509
+ "title": "Ecc Common Patterns Rule",
4438
4510
  "purpose": "Common Patterns",
4439
4511
  "whenToUse": "Common Patterns",
4440
4512
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4441
4513
  "tags": ["workflow"],
4442
4514
  "repoRoles": [],
4443
4515
  "tokenEstimate": 256,
4516
+ "tokenBudget": 333,
4444
4517
  "installMode": "copy-selected",
4445
4518
  "default": false,
4446
4519
  "reviewStatus": "approved",
@@ -4451,11 +4524,8 @@
4451
4524
  "originSourceId": "ecc-affaanm",
4452
4525
  "originUrl": "https://github.com/affaan-m/ECC/blob/a15c8e853309818e96fe495d373a7aea47b1298d/rules/common/patterns.md",
4453
4526
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4454
- "ecosystem": "common",
4527
+ "ecosystem": "general",
4455
4528
  "requiresAny": [
4456
- {
4457
- "stack": "react"
4458
- },
4459
4529
  {
4460
4530
  "dependency": "react"
4461
4531
  },
@@ -4484,17 +4554,18 @@
4484
4554
  },
4485
4555
  {
4486
4556
  "id": "haus.ecc-common-security-rule",
4487
- "version": "1.0.0",
4557
+ "version": "1.0.2",
4488
4558
  "source": "curated",
4489
4559
  "type": "rule",
4490
4560
  "path": "sources/ecc/rules/common/security.md",
4491
- "title": "Ecc Security",
4561
+ "title": "Ecc Common Security Rule",
4492
4562
  "purpose": "Security Guidelines",
4493
4563
  "whenToUse": "Security Guidelines",
4494
4564
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4495
4565
  "tags": ["workflow"],
4496
4566
  "repoRoles": [],
4497
4567
  "tokenEstimate": 216,
4568
+ "tokenBudget": 281,
4498
4569
  "installMode": "copy-selected",
4499
4570
  "default": false,
4500
4571
  "reviewStatus": "approved",
@@ -4505,11 +4576,8 @@
4505
4576
  "originSourceId": "ecc-affaanm",
4506
4577
  "originUrl": "https://github.com/affaan-m/ECC/blob/a15c8e853309818e96fe495d373a7aea47b1298d/rules/common/security.md",
4507
4578
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4508
- "ecosystem": "common",
4579
+ "ecosystem": "general",
4509
4580
  "requiresAny": [
4510
- {
4511
- "stack": "react"
4512
- },
4513
4581
  {
4514
4582
  "dependency": "react"
4515
4583
  },
@@ -4538,17 +4606,18 @@
4538
4606
  },
4539
4607
  {
4540
4608
  "id": "haus.ecc-common-testing-rule",
4541
- "version": "1.0.0",
4609
+ "version": "1.0.2",
4542
4610
  "source": "curated",
4543
4611
  "type": "rule",
4544
4612
  "path": "sources/ecc/rules/common/testing.md",
4545
- "title": "Ecc Testing",
4613
+ "title": "Ecc Common Testing Rule",
4546
4614
  "purpose": "Testing Requirements",
4547
4615
  "whenToUse": "Testing Requirements",
4548
4616
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4549
4617
  "tags": ["workflow"],
4550
4618
  "repoRoles": [],
4551
4619
  "tokenEstimate": 350,
4620
+ "tokenBudget": 455,
4552
4621
  "installMode": "copy-selected",
4553
4622
  "default": false,
4554
4623
  "reviewStatus": "approved",
@@ -4559,11 +4628,8 @@
4559
4628
  "originSourceId": "ecc-affaanm",
4560
4629
  "originUrl": "https://github.com/affaan-m/ECC/blob/a15c8e853309818e96fe495d373a7aea47b1298d/rules/common/testing.md",
4561
4630
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4562
- "ecosystem": "common",
4631
+ "ecosystem": "general",
4563
4632
  "requiresAny": [
4564
- {
4565
- "stack": "react"
4566
- },
4567
4633
  {
4568
4634
  "dependency": "react"
4569
4635
  },
@@ -4592,17 +4658,18 @@
4592
4658
  },
4593
4659
  {
4594
4660
  "id": "haus.ecc-typescript-coding-style-rule",
4595
- "version": "1.0.0",
4661
+ "version": "1.0.1",
4596
4662
  "source": "curated",
4597
4663
  "type": "rule",
4598
4664
  "path": "sources/ecc/rules/typescript/coding-style.md",
4599
- "title": "Ecc Coding Style",
4665
+ "title": "Ecc Typescript Coding Style Rule",
4600
4666
  "purpose": "TypeScript/JavaScript Coding Style",
4601
4667
  "whenToUse": "TypeScript/JavaScript Coding Style",
4602
4668
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4603
4669
  "tags": ["workflow", "typescript"],
4604
4670
  "repoRoles": [],
4605
4671
  "tokenEstimate": 1073,
4672
+ "tokenBudget": 1395,
4606
4673
  "installMode": "copy-selected",
4607
4674
  "default": false,
4608
4675
  "reviewStatus": "approved",
@@ -4615,9 +4682,6 @@
4615
4682
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4616
4683
  "ecosystem": "typescript",
4617
4684
  "requiresAny": [
4618
- {
4619
- "stack": "react"
4620
- },
4621
4685
  {
4622
4686
  "dependency": "react"
4623
4687
  },
@@ -4640,17 +4704,18 @@
4640
4704
  },
4641
4705
  {
4642
4706
  "id": "haus.ecc-typescript-patterns-rule",
4643
- "version": "1.0.0",
4707
+ "version": "1.0.1",
4644
4708
  "source": "curated",
4645
4709
  "type": "rule",
4646
4710
  "path": "sources/ecc/rules/typescript/patterns.md",
4647
- "title": "Ecc Patterns",
4711
+ "title": "Ecc Typescript Patterns Rule",
4648
4712
  "purpose": "TypeScript/JavaScript Patterns",
4649
4713
  "whenToUse": "TypeScript/JavaScript Patterns",
4650
4714
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4651
4715
  "tags": ["workflow", "typescript"],
4652
4716
  "repoRoles": [],
4653
4717
  "tokenEstimate": 258,
4718
+ "tokenBudget": 336,
4654
4719
  "installMode": "copy-selected",
4655
4720
  "default": false,
4656
4721
  "reviewStatus": "approved",
@@ -4663,9 +4728,6 @@
4663
4728
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4664
4729
  "ecosystem": "typescript",
4665
4730
  "requiresAny": [
4666
- {
4667
- "stack": "react"
4668
- },
4669
4731
  {
4670
4732
  "dependency": "react"
4671
4733
  },
@@ -4688,17 +4750,18 @@
4688
4750
  },
4689
4751
  {
4690
4752
  "id": "haus.ecc-typescript-security-rule",
4691
- "version": "1.0.0",
4753
+ "version": "1.0.1",
4692
4754
  "source": "curated",
4693
4755
  "type": "rule",
4694
4756
  "path": "sources/ecc/rules/typescript/security.md",
4695
- "title": "Ecc Security",
4757
+ "title": "Ecc Typescript Security Rule",
4696
4758
  "purpose": "TypeScript/JavaScript Security",
4697
4759
  "whenToUse": "TypeScript/JavaScript Security",
4698
4760
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4699
4761
  "tags": ["workflow", "typescript"],
4700
4762
  "repoRoles": [],
4701
4763
  "tokenEstimate": 134,
4764
+ "tokenBudget": 175,
4702
4765
  "installMode": "copy-selected",
4703
4766
  "default": false,
4704
4767
  "reviewStatus": "approved",
@@ -4711,9 +4774,6 @@
4711
4774
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4712
4775
  "ecosystem": "typescript",
4713
4776
  "requiresAny": [
4714
- {
4715
- "stack": "react"
4716
- },
4717
4777
  {
4718
4778
  "dependency": "react"
4719
4779
  },
@@ -4736,17 +4796,18 @@
4736
4796
  },
4737
4797
  {
4738
4798
  "id": "haus.ecc-typescript-testing-rule",
4739
- "version": "1.0.0",
4799
+ "version": "1.0.1",
4740
4800
  "source": "curated",
4741
4801
  "type": "rule",
4742
4802
  "path": "sources/ecc/rules/typescript/testing.md",
4743
- "title": "Ecc Testing",
4803
+ "title": "Ecc Typescript Testing Rule",
4744
4804
  "purpose": "TypeScript/JavaScript Testing",
4745
4805
  "whenToUse": "TypeScript/JavaScript Testing",
4746
4806
  "whenNotToUse": "Do not use when a more specific skill or command applies.",
4747
4807
  "tags": ["workflow", "typescript"],
4748
4808
  "repoRoles": [],
4749
4809
  "tokenEstimate": 94,
4810
+ "tokenBudget": 123,
4750
4811
  "installMode": "copy-selected",
4751
4812
  "default": false,
4752
4813
  "reviewStatus": "approved",
@@ -4759,9 +4820,6 @@
4759
4820
  "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4760
4821
  "ecosystem": "typescript",
4761
4822
  "requiresAny": [
4762
- {
4763
- "stack": "react"
4764
- },
4765
4823
  {
4766
4824
  "dependency": "react"
4767
4825
  },
@@ -4794,6 +4852,7 @@
4794
4852
  "tags": ["golang", "testing"],
4795
4853
  "repoRoles": [],
4796
4854
  "tokenEstimate": 4426,
4855
+ "tokenBudget": 5754,
4797
4856
  "installMode": "copy-selected",
4798
4857
  "default": false,
4799
4858
  "reviewStatus": "approved",
@@ -4823,6 +4882,7 @@
4823
4882
  "tags": ["golang", "quality"],
4824
4883
  "repoRoles": [],
4825
4884
  "tokenEstimate": 2581,
4885
+ "tokenBudget": 3356,
4826
4886
  "installMode": "copy-selected",
4827
4887
  "default": false,
4828
4888
  "reviewStatus": "approved",
@@ -4852,6 +4912,7 @@
4852
4912
  "tags": ["golang", "backend"],
4853
4913
  "repoRoles": [],
4854
4914
  "tokenEstimate": 1841,
4915
+ "tokenBudget": 2394,
4855
4916
  "installMode": "copy-selected",
4856
4917
  "default": false,
4857
4918
  "reviewStatus": "approved",
@@ -4881,6 +4942,7 @@
4881
4942
  "tags": ["golang", "backend"],
4882
4943
  "repoRoles": [],
4883
4944
  "tokenEstimate": 2295,
4945
+ "tokenBudget": 2984,
4884
4946
  "installMode": "copy-selected",
4885
4947
  "default": false,
4886
4948
  "reviewStatus": "approved",
@@ -4910,6 +4972,7 @@
4910
4972
  "tags": ["golang", "quality"],
4911
4973
  "repoRoles": [],
4912
4974
  "tokenEstimate": 2481,
4975
+ "tokenBudget": 3226,
4913
4976
  "installMode": "copy-selected",
4914
4977
  "default": false,
4915
4978
  "reviewStatus": "approved",
@@ -4939,6 +5002,7 @@
4939
5002
  "tags": ["golang", "quality"],
4940
5003
  "repoRoles": [],
4941
5004
  "tokenEstimate": 3137,
5005
+ "tokenBudget": 4079,
4942
5006
  "installMode": "copy-selected",
4943
5007
  "default": false,
4944
5008
  "reviewStatus": "approved",
@@ -4968,6 +5032,7 @@
4968
5032
  "tags": ["golang", "security"],
4969
5033
  "repoRoles": [],
4970
5034
  "tokenEstimate": 3485,
5035
+ "tokenBudget": 4531,
4971
5036
  "installMode": "copy-selected",
4972
5037
  "default": false,
4973
5038
  "reviewStatus": "approved",
@@ -4997,6 +5062,7 @@
4997
5062
  "tags": ["golang", "workflow"],
4998
5063
  "repoRoles": [],
4999
5064
  "tokenEstimate": 3260,
5065
+ "tokenBudget": 4238,
5000
5066
  "installMode": "copy-selected",
5001
5067
  "default": false,
5002
5068
  "reviewStatus": "approved",
@@ -5026,6 +5092,7 @@
5026
5092
  "tags": ["golang", "quality"],
5027
5093
  "repoRoles": [],
5028
5094
  "tokenEstimate": 3355,
5095
+ "tokenBudget": 4362,
5029
5096
  "installMode": "copy-selected",
5030
5097
  "default": false,
5031
5098
  "reviewStatus": "approved",
@@ -5055,6 +5122,7 @@
5055
5122
  "tags": ["golang", "database"],
5056
5123
  "repoRoles": [],
5057
5124
  "tokenEstimate": 2891,
5125
+ "tokenBudget": 3759,
5058
5126
  "installMode": "copy-selected",
5059
5127
  "default": false,
5060
5128
  "reviewStatus": "approved",
@@ -5084,6 +5152,7 @@
5084
5152
  "tags": ["python", "tooling"],
5085
5153
  "repoRoles": [],
5086
5154
  "tokenEstimate": 2504,
5155
+ "tokenBudget": 3256,
5087
5156
  "installMode": "copy-selected",
5088
5157
  "default": false,
5089
5158
  "reviewStatus": "approved",
@@ -5113,6 +5182,7 @@
5113
5182
  "tags": ["python", "tooling"],
5114
5183
  "repoRoles": [],
5115
5184
  "tokenEstimate": 4797,
5185
+ "tokenBudget": 6237,
5116
5186
  "installMode": "copy-selected",
5117
5187
  "default": false,
5118
5188
  "reviewStatus": "approved",
@@ -5142,6 +5212,7 @@
5142
5212
  "tags": ["python", "security"],
5143
5213
  "repoRoles": [],
5144
5214
  "tokenEstimate": 1872,
5215
+ "tokenBudget": 2434,
5145
5216
  "installMode": "copy-selected",
5146
5217
  "default": false,
5147
5218
  "reviewStatus": "approved",
@@ -5171,6 +5242,7 @@
5171
5242
  "tags": ["python", "review"],
5172
5243
  "repoRoles": [],
5173
5244
  "tokenEstimate": 1170,
5245
+ "tokenBudget": 1521,
5174
5246
  "installMode": "copy-selected",
5175
5247
  "default": false,
5176
5248
  "reviewStatus": "approved",
@@ -5200,6 +5272,7 @@
5200
5272
  "tags": ["python", "quality"],
5201
5273
  "repoRoles": [],
5202
5274
  "tokenEstimate": 2041,
5275
+ "tokenBudget": 2654,
5203
5276
  "installMode": "copy-selected",
5204
5277
  "default": false,
5205
5278
  "reviewStatus": "approved",
@@ -5229,6 +5302,7 @@
5229
5302
  "tags": ["python", "testing"],
5230
5303
  "repoRoles": [],
5231
5304
  "tokenEstimate": 1821,
5305
+ "tokenBudget": 2368,
5232
5306
  "installMode": "copy-selected",
5233
5307
  "default": false,
5234
5308
  "reviewStatus": "approved",
@@ -5258,6 +5332,7 @@
5258
5332
  "tags": ["python", "quality"],
5259
5333
  "repoRoles": [],
5260
5334
  "tokenEstimate": 1183,
5335
+ "tokenBudget": 1538,
5261
5336
  "installMode": "copy-selected",
5262
5337
  "default": false,
5263
5338
  "reviewStatus": "approved",
@@ -5287,6 +5362,7 @@
5287
5362
  "tags": ["python", "backend"],
5288
5363
  "repoRoles": [],
5289
5364
  "tokenEstimate": 1881,
5365
+ "tokenBudget": 2446,
5290
5366
  "installMode": "copy-selected",
5291
5367
  "default": false,
5292
5368
  "reviewStatus": "approved",
@@ -5316,6 +5392,7 @@
5316
5392
  "tags": ["python", "backend"],
5317
5393
  "repoRoles": [],
5318
5394
  "tokenEstimate": 1828,
5395
+ "tokenBudget": 2377,
5319
5396
  "installMode": "copy-selected",
5320
5397
  "default": false,
5321
5398
  "reviewStatus": "approved",