@event4u/agent-config 4.9.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/.agent-src/commands/implement-ticket.md +5 -4
  2. package/.agent-src/contexts/execution/roadmap-process-loop.md +30 -4
  3. package/.agent-src/rules/language-and-tone.md +4 -10
  4. package/.agent-src/rules/linked-projects-onboarding-gate.md +82 -0
  5. package/.agent-src/rules/roadmap-progress-sync.md +39 -5
  6. package/.agent-src/scripts/update_roadmap_progress.py +63 -7
  7. package/.agent-src/skills/command-routing/SKILL.md +5 -4
  8. package/.agent-src/skills/roadmap-management/SKILL.md +121 -21
  9. package/.agent-src/skills/roadmap-writing/SKILL.md +63 -0
  10. package/.agent-src/templates/agent-settings.md +16 -0
  11. package/.agent-src/templates/roadmaps.md +22 -1
  12. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +20 -3
  13. package/.claude-plugin/marketplace.json +1 -1
  14. package/CHANGELOG.md +106 -0
  15. package/CONTRIBUTING.md +19 -0
  16. package/README.md +12 -1
  17. package/dist/cli/registry.js +0 -2
  18. package/dist/cli/registry.js.map +1 -1
  19. package/dist/discovery/deprecation-report.md +1 -1
  20. package/dist/discovery/discovery-manifest.json +36 -14
  21. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  22. package/dist/discovery/discovery-manifest.summary.md +3 -3
  23. package/dist/discovery/orphan-report.md +1 -1
  24. package/dist/discovery/packs.json +6 -5
  25. package/dist/discovery/trust-report.md +3 -3
  26. package/dist/discovery/workspaces.json +5 -4
  27. package/dist/mcp/registry-manifest.json +3 -3
  28. package/dist/router.json +1 -1671
  29. package/docs/architecture.md +1 -1
  30. package/docs/benchmark.md +20 -8
  31. package/docs/benchmarks.md +11 -0
  32. package/docs/catalog.md +3 -2
  33. package/docs/contracts/benchmark-corpus-spec.md +31 -3
  34. package/docs/contracts/command-surface-tiers.md +1 -1
  35. package/docs/contracts/hook-architecture-v1.md +33 -0
  36. package/docs/contracts/migrate-command.md +197 -0
  37. package/docs/contracts/settings-api.md +2 -1
  38. package/docs/contracts/value-dashboard-spec.md +374 -0
  39. package/docs/contracts/value-report-schema.md +150 -0
  40. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +97 -0
  41. package/docs/decisions/ADR-032-linked-projects-scope.md +118 -0
  42. package/docs/decisions/INDEX.md +2 -0
  43. package/docs/getting-started.md +1 -1
  44. package/docs/guidelines/agent-infra/installed-tools-manifest.md +6 -3
  45. package/docs/guidelines/agent-infra/language-and-tone-examples.md +35 -0
  46. package/docs/guides/cross-repo-linked-projects.md +86 -0
  47. package/docs/migration/v1-to-v2.md +40 -27
  48. package/docs/value.md +84 -0
  49. package/package.json +8 -8
  50. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  51. package/scripts/_cli/cmd_migrate.py +264 -102
  52. package/scripts/_cli/cmd_settings_migrate.py +2 -1
  53. package/scripts/_dispatch.bash +147 -49
  54. package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  55. package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  56. package/scripts/_lib/agent_settings.py +20 -3
  57. package/scripts/_lib/install_regenerator.py +129 -0
  58. package/scripts/_lib/linked_projects.py +238 -0
  59. package/scripts/_lib/value_ladder.py +599 -0
  60. package/scripts/_lib/value_report.py +441 -0
  61. package/scripts/bench_rtk_savings.py +320 -0
  62. package/scripts/check_no_local_settings_committed.py +51 -0
  63. package/scripts/compile_router.py +19 -5
  64. package/scripts/expected_perms.json +1 -1
  65. package/scripts/first_run_gate_hook.py +178 -0
  66. package/scripts/hook_manifest.yaml +16 -7
  67. package/scripts/hooks/dispatch_hook.py +27 -0
  68. package/scripts/hooks/dispatch_issues.py +136 -0
  69. package/scripts/hooks_doctor.py +40 -1
  70. package/scripts/install.py +25 -21
  71. package/scripts/lint_agents_layout.py +5 -4
  72. package/scripts/lint_bench_corpus.py +86 -4
  73. package/scripts/lint_global_paths.py +4 -3
  74. package/scripts/lint_marketplace_install_completeness.py +188 -0
  75. package/scripts/lint_value_dashboard.py +218 -0
  76. package/scripts/render_benchmark_md.py +6 -2
  77. package/scripts/render_value_md.py +355 -0
  78. package/scripts/repro/repro_marketplace_install_gap.sh +161 -0
  79. package/scripts/roadmap_progress_hook.py +23 -0
  80. package/scripts/router_telemetry.py +470 -0
  81. package/scripts/validate_frontmatter.py +23 -9
  82. package/scripts/_cli/cmd_migrate_to_global.py +0 -415
package/dist/router.json CHANGED
@@ -1,1671 +1 @@
1
- {
2
- "schema_version": 1,
3
- "kernel": [
4
- "agent-authority",
5
- "ask-when-uncertain",
6
- "commit-policy",
7
- "direct-answers",
8
- "language-and-tone",
9
- "no-cheap-questions",
10
- "non-destructive-by-default",
11
- "scope-control",
12
- "user-interrupt-priority",
13
- "verify-before-complete"
14
- ],
15
- "tier_1": [
16
- {
17
- "id": "architecture",
18
- "triggers": [
19
- {
20
- "keyword": "controller"
21
- },
22
- {
23
- "keyword": "service"
24
- },
25
- {
26
- "keyword": "module"
27
- },
28
- {
29
- "intent": "structural decision"
30
- }
31
- ],
32
- "routes_to": []
33
- },
34
- {
35
- "id": "artifact-engagement-recording",
36
- "triggers": [
37
- {
38
- "phrase": "/implement-ticket"
39
- },
40
- {
41
- "phrase": "/work"
42
- },
43
- {
44
- "keyword": "telemetry"
45
- }
46
- ],
47
- "routes_to": [
48
- "contract:artifact-engagement-flow"
49
- ]
50
- },
51
- {
52
- "id": "augment-source-of-truth",
53
- "triggers": [
54
- {
55
- "path_prefix": ".agent-src/"
56
- },
57
- {
58
- "path_prefix": ".augment/"
59
- },
60
- {
61
- "path_prefix": ".claude/"
62
- },
63
- {
64
- "path_prefix": ".cursor/"
65
- }
66
- ],
67
- "routes_to": []
68
- },
69
- {
70
- "id": "autonomous-execution",
71
- "triggers": [
72
- {
73
- "intent": "trivial workflow question"
74
- },
75
- {
76
- "intent": "autonomy mode"
77
- },
78
- {
79
- "keyword": "personal.autonomy"
80
- }
81
- ],
82
- "routes_to": []
83
- },
84
- {
85
- "id": "command-suggestion-policy",
86
- "triggers": [
87
- {
88
- "phrase": "free-form prompt"
89
- },
90
- {
91
- "phrase": "command suggestion"
92
- }
93
- ],
94
- "routes_to": [
95
- "contract:command-suggestion-flow"
96
- ]
97
- },
98
- {
99
- "id": "context-hygiene",
100
- "triggers": [
101
- {
102
- "intent": "long conversation"
103
- },
104
- {
105
- "intent": "tool loop"
106
- },
107
- {
108
- "intent": "fresh chat"
109
- },
110
- {
111
- "keyword": "3-failure"
112
- }
113
- ],
114
- "routes_to": []
115
- },
116
- {
117
- "id": "copilot-routing",
118
- "triggers": [
119
- {
120
- "keyword": "copilot"
121
- },
122
- {
123
- "phrase": "copilot-instructions"
124
- },
125
- {
126
- "phrase": "copilot pr review"
127
- }
128
- ],
129
- "routes_to": [
130
- "skill:copilot-config"
131
- ]
132
- },
133
- {
134
- "id": "devcontainer-routing",
135
- "triggers": [
136
- {
137
- "keyword": "devcontainer"
138
- },
139
- {
140
- "keyword": "codespaces"
141
- },
142
- {
143
- "keyword": "codespace"
144
- },
145
- {
146
- "phrase": "devcontainer.json"
147
- }
148
- ],
149
- "routes_to": [
150
- "skill:devcontainer"
151
- ]
152
- },
153
- {
154
- "id": "docker-commands",
155
- "triggers": [
156
- {
157
- "keyword": "docker"
158
- },
159
- {
160
- "keyword": "artisan"
161
- },
162
- {
163
- "keyword": "composer"
164
- },
165
- {
166
- "phrase": "inside the container"
167
- }
168
- ],
169
- "routes_to": [
170
- "skill:docker"
171
- ]
172
- },
173
- {
174
- "id": "fast-path-marker-visibility",
175
- "triggers": [
176
- {
177
- "keyword": "low-impact council"
178
- },
179
- {
180
- "keyword": "fast-path"
181
- },
182
- {
183
- "keyword": "Resolved via low-impact council"
184
- },
185
- {
186
- "keyword": "low_impact"
187
- },
188
- {
189
- "intent": "low-impact council dispatch"
190
- }
191
- ],
192
- "routes_to": []
193
- },
194
- {
195
- "id": "laravel-routing",
196
- "triggers": [
197
- {
198
- "keyword": "laravel"
199
- },
200
- {
201
- "keyword": "artisan"
202
- },
203
- {
204
- "keyword": "eloquent"
205
- },
206
- {
207
- "keyword": "FormRequest"
208
- }
209
- ],
210
- "routes_to": [
211
- "skill:laravel"
212
- ]
213
- },
214
- {
215
- "id": "low-impact-corpus-privacy-floor",
216
- "triggers": [
217
- {
218
- "path_prefix": "agents/decisions/low-impact-decisions"
219
- },
220
- {
221
- "keyword": "low-impact-decisions"
222
- },
223
- {
224
- "keyword": "low-impact corpus"
225
- },
226
- {
227
- "keyword": "learn-low-impact"
228
- }
229
- ],
230
- "routes_to": []
231
- },
232
- {
233
- "id": "no-attribution-footers",
234
- "triggers": [
235
- {
236
- "intent": "PR body"
237
- },
238
- {
239
- "intent": "commit message"
240
- },
241
- {
242
- "intent": "Jira comment"
243
- },
244
- {
245
- "keyword": "co-authored"
246
- }
247
- ],
248
- "routes_to": []
249
- },
250
- {
251
- "id": "no-decorative-emojis-in-git-surfaces",
252
- "triggers": [
253
- {
254
- "intent": "PR title"
255
- },
256
- {
257
- "intent": "PR body"
258
- },
259
- {
260
- "intent": "commit message"
261
- },
262
- {
263
- "intent": "issue title"
264
- },
265
- {
266
- "intent": "post PR comment"
267
- },
268
- {
269
- "keyword": "gh pr create"
270
- },
271
- {
272
- "keyword": "git commit"
273
- }
274
- ],
275
- "routes_to": []
276
- },
277
- {
278
- "id": "no-roadmap-references",
279
- "triggers": [
280
- {
281
- "path_prefix": "agents/roadmaps/"
282
- },
283
- {
284
- "path_prefix": "agents/runtime/council/questions/"
285
- },
286
- {
287
- "path_prefix": "agents/runtime/council/responses/"
288
- },
289
- {
290
- "path_prefix": "agents/runtime/council/sessions/"
291
- },
292
- {
293
- "intent": "link from stable artifact"
294
- },
295
- {
296
- "intent": "link to council artefact"
297
- }
298
- ],
299
- "routes_to": [
300
- "skill:ai-council"
301
- ]
302
- },
303
- {
304
- "id": "onboarding-gate",
305
- "triggers": [
306
- {
307
- "phrase": "first turn"
308
- },
309
- {
310
- "keyword": "onboarding"
311
- },
312
- {
313
- "path_prefix": ".agent-settings.yml"
314
- }
315
- ],
316
- "routes_to": []
317
- },
318
- {
319
- "id": "php-coding",
320
- "triggers": [
321
- {
322
- "file_pattern": "*.php"
323
- },
324
- {
325
- "keyword": "phpstan"
326
- },
327
- {
328
- "keyword": "ecs"
329
- }
330
- ],
331
- "routes_to": [
332
- "guideline:php/php-coding-patterns"
333
- ]
334
- },
335
- {
336
- "id": "roadmap-progress-sync",
337
- "triggers": [
338
- {
339
- "path_prefix": "agents/roadmaps/"
340
- },
341
- {
342
- "command": "/roadmap:process-step"
343
- },
344
- {
345
- "command": "/roadmap:process-phase"
346
- },
347
- {
348
- "command": "/roadmap:process-full"
349
- }
350
- ],
351
- "routes_to": [
352
- "guideline:agent-infra/roadmap-progress-mechanics"
353
- ]
354
- },
355
- {
356
- "id": "skill-quality",
357
- "triggers": [
358
- {
359
- "path_prefix": ".agent-src.uncondensed/skills/"
360
- }
361
- ],
362
- "routes_to": [
363
- "guideline:agent-infra/skill-quality-checklist"
364
- ]
365
- },
366
- {
367
- "id": "slash-command-routing-policy",
368
- "triggers": [
369
- {
370
- "keyword": "/create-pr"
371
- },
372
- {
373
- "keyword": "/commit"
374
- },
375
- {
376
- "keyword": "/fix-ci"
377
- },
378
- {
379
- "phrase": "slash command"
380
- }
381
- ],
382
- "routes_to": [
383
- "skill:command-routing"
384
- ]
385
- },
386
- {
387
- "id": "symfony-routing",
388
- "triggers": [
389
- {
390
- "keyword": "symfony"
391
- },
392
- {
393
- "keyword": "doctrine"
394
- },
395
- {
396
- "keyword": "twig"
397
- },
398
- {
399
- "keyword": "messenger"
400
- }
401
- ],
402
- "routes_to": [
403
- "skill:symfony-workflow"
404
- ]
405
- },
406
- {
407
- "id": "telegraph-speak",
408
- "triggers": [
409
- {
410
- "intent": "any reply"
411
- }
412
- ],
413
- "routes_to": []
414
- },
415
- {
416
- "id": "user-interaction",
417
- "triggers": [
418
- {
419
- "intent": "ask user a question"
420
- },
421
- {
422
- "intent": "numbered options"
423
- },
424
- {
425
- "intent": "summarizing progress"
426
- }
427
- ],
428
- "routes_to": []
429
- }
430
- ],
431
- "tier_2": [
432
- {
433
- "id": "artifact-drafting-protocol",
434
- "triggers": [
435
- {
436
- "intent": "create new skill"
437
- },
438
- {
439
- "intent": "create new rule"
440
- },
441
- {
442
- "intent": "create new command"
443
- },
444
- {
445
- "intent": "create new guideline"
446
- }
447
- ],
448
- "routes_to": []
449
- },
450
- {
451
- "id": "augment-edit-discipline",
452
- "triggers": [
453
- {
454
- "path_prefix": ".augment/"
455
- },
456
- {
457
- "path_prefix": ".agent-src.uncondensed/"
458
- },
459
- {
460
- "keyword": "portable"
461
- },
462
- {
463
- "keyword": "rename"
464
- },
465
- {
466
- "keyword": "delete"
467
- }
468
- ],
469
- "routes_to": [
470
- "guideline:augment-portability-patterns",
471
- "skill:agent-docs-writing"
472
- ]
473
- },
474
- {
475
- "id": "cli-output-handling",
476
- "triggers": [
477
- {
478
- "keyword": "git"
479
- },
480
- {
481
- "keyword": "phpstan"
482
- },
483
- {
484
- "keyword": "rector"
485
- },
486
- {
487
- "keyword": "phpunit"
488
- },
489
- {
490
- "keyword": "composer"
491
- }
492
- ],
493
- "routes_to": [
494
- "skill:rtk-output-filtering"
495
- ]
496
- },
497
- {
498
- "id": "commit-conventions",
499
- "triggers": [
500
- {
501
- "keyword": "commit"
502
- },
503
- {
504
- "keyword": "branch"
505
- },
506
- {
507
- "phrase": "conventional commits"
508
- }
509
- ],
510
- "routes_to": [
511
- "skill:conventional-commits-writing"
512
- ]
513
- },
514
- {
515
- "id": "domain-adoption-policy",
516
- "triggers": [
517
- {
518
- "intent": "adopt new domain"
519
- },
520
- {
521
- "intent": "harvest new domain track"
522
- },
523
- {
524
- "intent": "open a domain plate"
525
- },
526
- {
527
- "keyword": "mobile track"
528
- },
529
- {
530
- "keyword": "ml track"
531
- },
532
- {
533
- "keyword": "blockchain track"
534
- },
535
- {
536
- "path_prefix": ".agent-src.uncondensed/skills/"
537
- }
538
- ],
539
- "routes_to": []
540
- },
541
- {
542
- "id": "domain-safety-disclaimer",
543
- "triggers": [
544
- {
545
- "keyword": "legal brief"
546
- },
547
- {
548
- "keyword": "contract redline"
549
- },
550
- {
551
- "keyword": "terms of service"
552
- },
553
- {
554
- "keyword": "privacy policy"
555
- },
556
- {
557
- "keyword": "diagnosis"
558
- },
559
- {
560
- "keyword": "symptoms"
561
- },
562
- {
563
- "keyword": "dosage"
564
- },
565
- {
566
- "keyword": "medication"
567
- },
568
- {
569
- "keyword": "investment memo"
570
- },
571
- {
572
- "keyword": "valuation"
573
- },
574
- {
575
- "keyword": "DCF"
576
- },
577
- {
578
- "keyword": "tax position"
579
- },
580
- {
581
- "keyword": "strategic recommendation"
582
- },
583
- {
584
- "keyword": "board memo"
585
- },
586
- {
587
- "keyword": "executive summary"
588
- },
589
- {
590
- "phrase": "review this contract"
591
- },
592
- {
593
- "phrase": "is this symptom"
594
- },
595
- {
596
- "phrase": "should I invest"
597
- },
598
- {
599
- "phrase": "what should we do"
600
- }
601
- ],
602
- "routes_to": [
603
- "skill:contracts-cognition",
604
- "skill:dcf-modeling",
605
- "skill:decision-record",
606
- "skill:privacy-review",
607
- "skill:scenario-modeling",
608
- "skill:stakeholder-tradeoff"
609
- ]
610
- },
611
- {
612
- "id": "domain-safety-pii",
613
- "triggers": [
614
- {
615
- "keyword": "support macro"
616
- },
617
- {
618
- "keyword": "ticket response"
619
- },
620
- {
621
- "keyword": "help desk"
622
- },
623
- {
624
- "keyword": "Zendesk"
625
- },
626
- {
627
- "keyword": "Intercom"
628
- },
629
- {
630
- "keyword": "testimonial"
631
- },
632
- {
633
- "keyword": "case study"
634
- },
635
- {
636
- "keyword": "customer story"
637
- },
638
- {
639
- "keyword": "candidate"
640
- },
641
- {
642
- "keyword": "interview notes"
643
- },
644
- {
645
- "keyword": "scorecard"
646
- },
647
- {
648
- "keyword": "rejection email"
649
- },
650
- {
651
- "keyword": "offer letter"
652
- },
653
- {
654
- "keyword": "invoice"
655
- },
656
- {
657
- "keyword": "accounts receivable"
658
- },
659
- {
660
- "keyword": "accounts payable"
661
- },
662
- {
663
- "keyword": "finance memo"
664
- },
665
- {
666
- "keyword": "log"
667
- },
668
- {
669
- "keyword": "logger"
670
- },
671
- {
672
- "keyword": "Sentry"
673
- },
674
- {
675
- "keyword": "Datadog"
676
- },
677
- {
678
- "keyword": "structured log"
679
- },
680
- {
681
- "keyword": "export to CSV"
682
- },
683
- {
684
- "keyword": "data export"
685
- },
686
- {
687
- "keyword": "partner integration"
688
- },
689
- {
690
- "phrase": "draft a response to"
691
- },
692
- {
693
- "phrase": "marketing email featuring"
694
- },
695
- {
696
- "phrase": "draft feedback for"
697
- },
698
- {
699
- "phrase": "log the user"
700
- },
701
- {
702
- "phrase": "send them the spreadsheet"
703
- }
704
- ],
705
- "routes_to": [
706
- "skill:data-handling-judgment",
707
- "skill:logging-monitoring",
708
- "skill:privacy-review",
709
- "skill:secrets-management"
710
- ]
711
- },
712
- {
713
- "id": "domain-safety-retention",
714
- "triggers": [
715
- {
716
- "keyword": "retention policy"
717
- },
718
- {
719
- "keyword": "data retention"
720
- },
721
- {
722
- "keyword": "record retention"
723
- },
724
- {
725
- "keyword": "ticket retention"
726
- },
727
- {
728
- "keyword": "CRM retention"
729
- },
730
- {
731
- "keyword": "delete financial"
732
- },
733
- {
734
- "keyword": "purge invoice"
735
- },
736
- {
737
- "keyword": "DSAR"
738
- },
739
- {
740
- "keyword": "data subject request"
741
- },
742
- {
743
- "keyword": "right to be forgotten"
744
- },
745
- {
746
- "phrase": "how long should we keep"
747
- },
748
- {
749
- "phrase": "when can we delete"
750
- },
751
- {
752
- "phrase": "delete customer data"
753
- },
754
- {
755
- "phrase": "how long do we keep tickets"
756
- }
757
- ],
758
- "routes_to": [
759
- "skill:data-handling-judgment",
760
- "skill:privacy-review"
761
- ]
762
- },
763
- {
764
- "id": "downstream-changes",
765
- "triggers": [
766
- {
767
- "intent": "after code edit"
768
- },
769
- {
770
- "keyword": "callers"
771
- },
772
- {
773
- "keyword": "imports"
774
- },
775
- {
776
- "keyword": "downstream"
777
- }
778
- ],
779
- "routes_to": []
780
- },
781
- {
782
- "id": "engineering-safety-floor",
783
- "triggers": [
784
- {
785
- "keyword": "production"
786
- },
787
- {
788
- "keyword": "deploy"
789
- },
790
- {
791
- "keyword": "migration"
792
- },
793
- {
794
- "keyword": "schema change"
795
- },
796
- {
797
- "keyword": "DROP TABLE"
798
- },
799
- {
800
- "keyword": "TRUNCATE"
801
- },
802
- {
803
- "keyword": "force push"
804
- },
805
- {
806
- "keyword": "rebase main"
807
- },
808
- {
809
- "keyword": "rollback"
810
- },
811
- {
812
- "keyword": "secrets rotation"
813
- },
814
- {
815
- "keyword": "IAM"
816
- },
817
- {
818
- "keyword": "DNS"
819
- },
820
- {
821
- "keyword": "terraform apply"
822
- },
823
- {
824
- "keyword": "kubectl apply"
825
- },
826
- {
827
- "phrase": "ship to prod"
828
- },
829
- {
830
- "phrase": "deploy to production"
831
- },
832
- {
833
- "phrase": "merge to main"
834
- },
835
- {
836
- "phrase": "release this"
837
- }
838
- ],
839
- "routes_to": [
840
- "skill:launch-readiness",
841
- "skill:threat-modeling"
842
- ]
843
- },
844
- {
845
- "id": "external-reference-deep-dive",
846
- "triggers": [
847
- {
848
- "intent": "look at how X does it"
849
- },
850
- {
851
- "intent": "compare with reference repo"
852
- },
853
- {
854
- "intent": "use as template / vorlage"
855
- },
856
- {
857
- "intent": "wie macht es X"
858
- },
859
- {
860
- "intent": "vergleiche mit Y"
861
- },
862
- {
863
- "intent": "schau dir Z an"
864
- },
865
- {
866
- "intent": "study this competitor"
867
- },
868
- {
869
- "keyword": "github.com/"
870
- },
871
- {
872
- "keyword": "source of truth"
873
- },
874
- {
875
- "phrase": "reference repo"
876
- }
877
- ],
878
- "routes_to": []
879
- },
880
- {
881
- "id": "finance-safety-floor",
882
- "triggers": [
883
- {
884
- "keyword": "runway"
885
- },
886
- {
887
- "keyword": "burn"
888
- },
889
- {
890
- "keyword": "valuation"
891
- },
892
- {
893
- "keyword": "DCF"
894
- },
895
- {
896
- "keyword": "IRR"
897
- },
898
- {
899
- "keyword": "MOIC"
900
- },
901
- {
902
- "keyword": "LTV"
903
- },
904
- {
905
- "keyword": "CAC"
906
- },
907
- {
908
- "keyword": "payback"
909
- },
910
- {
911
- "keyword": "sensitivity"
912
- },
913
- {
914
- "keyword": "fundraise"
915
- },
916
- {
917
- "keyword": "term sheet"
918
- },
919
- {
920
- "keyword": "dilution"
921
- },
922
- {
923
- "keyword": "NRR"
924
- },
925
- {
926
- "keyword": "EBITDA"
927
- },
928
- {
929
- "keyword": "free cash flow"
930
- },
931
- {
932
- "phrase": "what's it worth"
933
- },
934
- {
935
- "phrase": "how long do we have"
936
- },
937
- {
938
- "phrase": "should we raise"
939
- },
940
- {
941
- "phrase": "model the scenarios"
942
- }
943
- ],
944
- "routes_to": [
945
- "skill:dcf-modeling",
946
- "skill:forecasting",
947
- "skill:runway-cognition",
948
- "skill:scenario-modeling",
949
- "skill:unit-economics-modeling"
950
- ]
951
- },
952
- {
953
- "id": "framework-neutrality-in-generic-skills",
954
- "triggers": [
955
- {
956
- "path_prefix": ".agent-src.uncondensed/skills/"
957
- },
958
- {
959
- "path_prefix": ".agent-src.uncondensed/rules/"
960
- },
961
- {
962
- "path_prefix": ".agent-src.uncondensed/commands/"
963
- },
964
- {
965
- "keyword": "FormRequest"
966
- },
967
- {
968
- "keyword": "PHPStan"
969
- },
970
- {
971
- "keyword": "php artisan"
972
- },
973
- {
974
- "keyword": "composer.json"
975
- },
976
- {
977
- "keyword": "Eloquent"
978
- },
979
- {
980
- "keyword": "Pest"
981
- },
982
- {
983
- "keyword": "Blade"
984
- },
985
- {
986
- "keyword": "vendor/bin"
987
- },
988
- {
989
- "keyword": "Artisan"
990
- },
991
- {
992
- "keyword": "Rector"
993
- },
994
- {
995
- "phrase": "every controller"
996
- },
997
- {
998
- "phrase": "all controllers"
999
- },
1000
- {
1001
- "phrase": "generic skill"
1002
- }
1003
- ],
1004
- "routes_to": []
1005
- },
1006
- {
1007
- "id": "git-history-discipline",
1008
- "triggers": [
1009
- {
1010
- "intent": "rebase the branch"
1011
- },
1012
- {
1013
- "intent": "squash commits"
1014
- },
1015
- {
1016
- "intent": "clean up commit history"
1017
- },
1018
- {
1019
- "intent": "fold this into the previous commit"
1020
- },
1021
- {
1022
- "intent": "tidy history after pushing"
1023
- },
1024
- {
1025
- "keyword": "git rebase"
1026
- },
1027
- {
1028
- "keyword": "fixup"
1029
- },
1030
- {
1031
- "keyword": "--amend"
1032
- },
1033
- {
1034
- "keyword": "force-push"
1035
- },
1036
- {
1037
- "keyword": "--force-with-lease"
1038
- },
1039
- {
1040
- "keyword": "squash-merge"
1041
- },
1042
- {
1043
- "phrase": "branch diverged"
1044
- },
1045
- {
1046
- "phrase": "pull --rebase failed"
1047
- },
1048
- {
1049
- "phrase": "ahead and behind"
1050
- }
1051
- ],
1052
- "routes_to": [
1053
- "skill:git-workflow"
1054
- ]
1055
- },
1056
- {
1057
- "id": "improve-before-implement",
1058
- "triggers": [
1059
- {
1060
- "intent": "implement feature"
1061
- },
1062
- {
1063
- "intent": "architectural change"
1064
- },
1065
- {
1066
- "keyword": "refactor"
1067
- }
1068
- ],
1069
- "routes_to": []
1070
- },
1071
- {
1072
- "id": "invite-challenge",
1073
- "triggers": [
1074
- {
1075
- "intent": "complex plan"
1076
- },
1077
- {
1078
- "intent": "design decision"
1079
- },
1080
- {
1081
- "intent": "architectural plan"
1082
- },
1083
- {
1084
- "intent": "multi-step implementation"
1085
- },
1086
- {
1087
- "keyword": "plan"
1088
- },
1089
- {
1090
- "keyword": "design"
1091
- },
1092
- {
1093
- "keyword": "architecture"
1094
- },
1095
- {
1096
- "keyword": "approach"
1097
- }
1098
- ],
1099
- "routes_to": []
1100
- },
1101
- {
1102
- "id": "laravel-translations",
1103
- "triggers": [
1104
- {
1105
- "path_prefix": "lang/"
1106
- },
1107
- {
1108
- "keyword": "translation"
1109
- },
1110
- {
1111
- "keyword": "__()"
1112
- },
1113
- {
1114
- "keyword": "trans("
1115
- }
1116
- ],
1117
- "routes_to": [
1118
- "skill:laravel"
1119
- ]
1120
- },
1121
- {
1122
- "id": "markdown-safe-codeblocks",
1123
- "triggers": [
1124
- {
1125
- "intent": "markdown with code blocks"
1126
- },
1127
- {
1128
- "keyword": "triple backticks"
1129
- },
1130
- {
1131
- "file_pattern": "*.md"
1132
- }
1133
- ],
1134
- "routes_to": []
1135
- },
1136
- {
1137
- "id": "media-governance-routing",
1138
- "triggers": [
1139
- {
1140
- "keyword": "/video:"
1141
- },
1142
- {
1143
- "keyword": "/image:"
1144
- },
1145
- {
1146
- "keyword": "/audio:"
1147
- },
1148
- {
1149
- "keyword": "deepfake"
1150
- },
1151
- {
1152
- "keyword": "voice clone"
1153
- },
1154
- {
1155
- "keyword": "voice cloning"
1156
- },
1157
- {
1158
- "keyword": "likeness"
1159
- },
1160
- {
1161
- "keyword": "brand impersonation"
1162
- },
1163
- {
1164
- "phrase": "in the style of"
1165
- },
1166
- {
1167
- "phrase": "in the voice of"
1168
- },
1169
- {
1170
- "phrase": "as [public figure]"
1171
- },
1172
- {
1173
- "phrase": "impersonate"
1174
- }
1175
- ],
1176
- "routes_to": []
1177
- },
1178
- {
1179
- "id": "minimal-safe-diff",
1180
- "triggers": [
1181
- {
1182
- "intent": "writing a diff"
1183
- },
1184
- {
1185
- "intent": "reviewing a diff"
1186
- },
1187
- {
1188
- "keyword": "drive-by"
1189
- }
1190
- ],
1191
- "routes_to": []
1192
- },
1193
- {
1194
- "id": "missing-tool-handling",
1195
- "triggers": [
1196
- {
1197
- "keyword": "command not found"
1198
- },
1199
- {
1200
- "keyword": "not installed"
1201
- },
1202
- {
1203
- "intent": "install tool"
1204
- }
1205
- ],
1206
- "routes_to": []
1207
- },
1208
- {
1209
- "id": "model-recommendation",
1210
- "triggers": [
1211
- {
1212
- "phrase": "switch task"
1213
- },
1214
- {
1215
- "phrase": "new task"
1216
- },
1217
- {
1218
- "phrase": "which model"
1219
- }
1220
- ],
1221
- "routes_to": [
1222
- "command:set-cost-profile"
1223
- ]
1224
- },
1225
- {
1226
- "id": "no-pr-progress-comments",
1227
- "triggers": [
1228
- {
1229
- "intent": "post PR comment"
1230
- },
1231
- {
1232
- "intent": "PR status update"
1233
- },
1234
- {
1235
- "intent": "CI fix progress"
1236
- },
1237
- {
1238
- "keyword": "gh pr comment"
1239
- },
1240
- {
1241
- "keyword": "PullRequestComment"
1242
- }
1243
- ],
1244
- "routes_to": []
1245
- },
1246
- {
1247
- "id": "persona-governance",
1248
- "triggers": [
1249
- {
1250
- "path_prefix": ".agent-src.uncondensed/personas/"
1251
- },
1252
- {
1253
- "path_prefix": ".agent-src/personas/"
1254
- },
1255
- {
1256
- "keyword": "persona"
1257
- },
1258
- {
1259
- "keyword": "personas"
1260
- },
1261
- {
1262
- "phrase": "new persona"
1263
- },
1264
- {
1265
- "phrase": "add a persona"
1266
- },
1267
- {
1268
- "phrase": "specialist persona"
1269
- },
1270
- {
1271
- "phrase": "review lens"
1272
- }
1273
- ],
1274
- "routes_to": [
1275
- "contract:persona-schema"
1276
- ]
1277
- },
1278
- {
1279
- "id": "preservation-guard",
1280
- "triggers": [
1281
- {
1282
- "intent": "merge skill"
1283
- },
1284
- {
1285
- "intent": "condense rule"
1286
- },
1287
- {
1288
- "intent": "refactor artifact"
1289
- },
1290
- {
1291
- "keyword": "Iron Law"
1292
- }
1293
- ],
1294
- "routes_to": []
1295
- },
1296
- {
1297
- "id": "provider-lifecycle-discipline",
1298
- "triggers": [
1299
- {
1300
- "keyword": "/video:"
1301
- },
1302
- {
1303
- "keyword": "/image:"
1304
- },
1305
- {
1306
- "keyword": "/audio:"
1307
- },
1308
- {
1309
- "keyword": "ai-video"
1310
- },
1311
- {
1312
- "keyword": "ai-image"
1313
- },
1314
- {
1315
- "keyword": "ai-audio"
1316
- },
1317
- {
1318
- "keyword": "adapter"
1319
- },
1320
- {
1321
- "keyword": "provider"
1322
- },
1323
- {
1324
- "path_prefix": "scripts/ai-video/adapters/"
1325
- },
1326
- {
1327
- "path_prefix": "agents/.ai-video.xml"
1328
- },
1329
- {
1330
- "phrase": "lifecycle"
1331
- },
1332
- {
1333
- "phrase": "default provider"
1334
- }
1335
- ],
1336
- "routes_to": [
1337
- "contract:provider-lifecycle"
1338
- ]
1339
- },
1340
- {
1341
- "id": "reviewer-awareness",
1342
- "triggers": [
1343
- {
1344
- "keyword": "reviewer"
1345
- },
1346
- {
1347
- "phrase": "suggest reviewers"
1348
- },
1349
- {
1350
- "phrase": "risk hotspot"
1351
- },
1352
- {
1353
- "phrase": "ownership map"
1354
- }
1355
- ],
1356
- "routes_to": [
1357
- "skill:review-routing"
1358
- ]
1359
- },
1360
- {
1361
- "id": "roadmap-ci-steps-policy",
1362
- "triggers": [
1363
- {
1364
- "path_prefix": "agents/roadmaps/"
1365
- },
1366
- {
1367
- "path_prefix": "{module_root}/"
1368
- },
1369
- {
1370
- "keyword": "task ci"
1371
- },
1372
- {
1373
- "keyword": "make test"
1374
- },
1375
- {
1376
- "keyword": "npm run check"
1377
- },
1378
- {
1379
- "keyword": "pnpm run check"
1380
- },
1381
- {
1382
- "keyword": "yarn check"
1383
- },
1384
- {
1385
- "keyword": "composer test"
1386
- },
1387
- {
1388
- "phrase": "run the quality pipeline"
1389
- },
1390
- {
1391
- "phrase": "run task ci"
1392
- },
1393
- {
1394
- "phrase": "run the full ci"
1395
- }
1396
- ],
1397
- "routes_to": []
1398
- },
1399
- {
1400
- "id": "role-mode-adherence",
1401
- "triggers": [
1402
- {
1403
- "keyword": "active_role"
1404
- },
1405
- {
1406
- "keyword": "role-mode"
1407
- },
1408
- {
1409
- "intent": "mode marker"
1410
- }
1411
- ],
1412
- "routes_to": []
1413
- },
1414
- {
1415
- "id": "rule-type-governance",
1416
- "triggers": [
1417
- {
1418
- "path_prefix": ".agent-src.uncondensed/rules/"
1419
- }
1420
- ],
1421
- "routes_to": [
1422
- "guideline:agent-infra/rule-type-governance"
1423
- ]
1424
- },
1425
- {
1426
- "id": "runtime-safety",
1427
- "triggers": [
1428
- {
1429
- "keyword": "execution"
1430
- },
1431
- {
1432
- "keyword": "automated"
1433
- },
1434
- {
1435
- "keyword": "assisted"
1436
- },
1437
- {
1438
- "keyword": "handler"
1439
- }
1440
- ],
1441
- "routes_to": []
1442
- },
1443
- {
1444
- "id": "security-sensitive-stop",
1445
- "triggers": [
1446
- {
1447
- "keyword": "auth"
1448
- },
1449
- {
1450
- "keyword": "billing"
1451
- },
1452
- {
1453
- "keyword": "tenant"
1454
- },
1455
- {
1456
- "keyword": "secret"
1457
- },
1458
- {
1459
- "keyword": "webhook"
1460
- }
1461
- ],
1462
- "routes_to": []
1463
- },
1464
- {
1465
- "id": "skill-improvement-trigger",
1466
- "triggers": [
1467
- {
1468
- "phrase": "after completing"
1469
- },
1470
- {
1471
- "keyword": "improvement"
1472
- },
1473
- {
1474
- "keyword": "pipeline"
1475
- }
1476
- ],
1477
- "routes_to": [
1478
- "skill:skill-improvement-pipeline"
1479
- ]
1480
- },
1481
- {
1482
- "id": "strategy-safety-floor",
1483
- "triggers": [
1484
- {
1485
- "keyword": "vision"
1486
- },
1487
- {
1488
- "keyword": "positioning"
1489
- },
1490
- {
1491
- "keyword": "moat"
1492
- },
1493
- {
1494
- "keyword": "competitive"
1495
- },
1496
- {
1497
- "keyword": "market entry"
1498
- },
1499
- {
1500
- "keyword": "OKR"
1501
- },
1502
- {
1503
- "keyword": "build vs buy"
1504
- },
1505
- {
1506
- "keyword": "buy vs partner"
1507
- },
1508
- {
1509
- "keyword": "beachhead"
1510
- },
1511
- {
1512
- "keyword": "GTM"
1513
- },
1514
- {
1515
- "keyword": "category"
1516
- },
1517
- {
1518
- "keyword": "where to play"
1519
- },
1520
- {
1521
- "keyword": "where not to play"
1522
- },
1523
- {
1524
- "phrase": "what's our strategy"
1525
- },
1526
- {
1527
- "phrase": "should we enter"
1528
- },
1529
- {
1530
- "phrase": "what's our moat"
1531
- },
1532
- {
1533
- "phrase": "where should we focus"
1534
- },
1535
- {
1536
- "phrase": "should we reorg"
1537
- }
1538
- ],
1539
- "routes_to": [
1540
- "skill:build-buy-partner",
1541
- "skill:competitive-moat-analysis",
1542
- "skill:market-entry-analysis",
1543
- "skill:okr-tree-modeling",
1544
- "skill:positioning-strategy",
1545
- "skill:vision-articulation"
1546
- ]
1547
- },
1548
- {
1549
- "id": "think-before-action",
1550
- "triggers": [
1551
- {
1552
- "intent": "before coding"
1553
- },
1554
- {
1555
- "intent": "before debugging"
1556
- },
1557
- {
1558
- "intent": "before modifying"
1559
- }
1560
- ],
1561
- "routes_to": []
1562
- },
1563
- {
1564
- "id": "token-efficiency",
1565
- "triggers": [
1566
- {
1567
- "intent": "verbose CLI output"
1568
- },
1569
- {
1570
- "intent": "fetching logs"
1571
- },
1572
- {
1573
- "keyword": "minimize tool calls"
1574
- }
1575
- ],
1576
- "routes_to": []
1577
- },
1578
- {
1579
- "id": "token-optimizer-maintenance",
1580
- "triggers": [
1581
- {
1582
- "keyword": "cli-output-handling"
1583
- },
1584
- {
1585
- "keyword": "rtk-output-filtering"
1586
- },
1587
- {
1588
- "keyword": "token-efficiency"
1589
- },
1590
- {
1591
- "keyword": "agent-handoff"
1592
- },
1593
- {
1594
- "keyword": "markitdown"
1595
- },
1596
- {
1597
- "keyword": "token-optimizer"
1598
- }
1599
- ],
1600
- "routes_to": [
1601
- "skill:token-optimizer"
1602
- ]
1603
- },
1604
- {
1605
- "id": "tool-safety",
1606
- "triggers": [
1607
- {
1608
- "keyword": "allowed_tools"
1609
- },
1610
- {
1611
- "keyword": "tool registry"
1612
- },
1613
- {
1614
- "intent": "external API"
1615
- }
1616
- ],
1617
- "routes_to": []
1618
- },
1619
- {
1620
- "id": "ui-audit-gate",
1621
- "triggers": [
1622
- {
1623
- "path_prefix": "resources/views/"
1624
- },
1625
- {
1626
- "path_prefix": "resources/js/"
1627
- },
1628
- {
1629
- "keyword": "component"
1630
- },
1631
- {
1632
- "keyword": "design token"
1633
- }
1634
- ],
1635
- "routes_to": [
1636
- "skill:existing-ui-audit"
1637
- ]
1638
- },
1639
- {
1640
- "id": "upstream-proposal",
1641
- "triggers": [
1642
- {
1643
- "phrase": "after creating"
1644
- },
1645
- {
1646
- "phrase": "after improving"
1647
- },
1648
- {
1649
- "keyword": "upstream"
1650
- }
1651
- ],
1652
- "routes_to": [
1653
- "skill:upstream-contribute"
1654
- ]
1655
- }
1656
- ],
1657
- "profiles": {
1658
- "minimal": [
1659
- "__kernel__"
1660
- ],
1661
- "balanced": [
1662
- "__kernel__",
1663
- "__tier_1__"
1664
- ],
1665
- "full": [
1666
- "__kernel__",
1667
- "__tier_1__",
1668
- "__tier_2__"
1669
- ]
1670
- }
1671
- }
1
+ {"schema_version":1,"kernel":["agent-authority","ask-when-uncertain","commit-policy","direct-answers","language-and-tone","no-cheap-questions","non-destructive-by-default","scope-control","user-interrupt-priority","verify-before-complete"],"tier_1":[{"id":"architecture","triggers":[{"keyword":"controller"},{"keyword":"service"},{"keyword":"module"},{"intent":"structural decision"}],"routes_to":[]},{"id":"artifact-engagement-recording","triggers":[{"phrase":"/implement-ticket"},{"phrase":"/work"},{"keyword":"telemetry"}],"routes_to":["contract:artifact-engagement-flow"]},{"id":"augment-source-of-truth","triggers":[{"path_prefix":".agent-src/"},{"path_prefix":".augment/"},{"path_prefix":".claude/"},{"path_prefix":".cursor/"}],"routes_to":[]},{"id":"autonomous-execution","triggers":[{"intent":"trivial workflow question"},{"intent":"autonomy mode"},{"keyword":"personal.autonomy"}],"routes_to":[]},{"id":"command-suggestion-policy","triggers":[{"phrase":"free-form prompt"},{"phrase":"command suggestion"}],"routes_to":["contract:command-suggestion-flow"]},{"id":"context-hygiene","triggers":[{"intent":"long conversation"},{"intent":"tool loop"},{"intent":"fresh chat"},{"keyword":"3-failure"}],"routes_to":[]},{"id":"copilot-routing","triggers":[{"keyword":"copilot"},{"phrase":"copilot-instructions"},{"phrase":"copilot pr review"}],"routes_to":["skill:copilot-config"]},{"id":"devcontainer-routing","triggers":[{"keyword":"devcontainer"},{"keyword":"codespaces"},{"keyword":"codespace"},{"phrase":"devcontainer.json"}],"routes_to":["skill:devcontainer"]},{"id":"docker-commands","triggers":[{"keyword":"docker"},{"keyword":"artisan"},{"keyword":"composer"},{"phrase":"inside the container"}],"routes_to":["skill:docker"]},{"id":"fast-path-marker-visibility","triggers":[{"keyword":"low-impact council"},{"keyword":"fast-path"},{"keyword":"Resolved via low-impact council"},{"keyword":"low_impact"},{"intent":"low-impact council dispatch"}],"routes_to":[]},{"id":"laravel-routing","triggers":[{"keyword":"laravel"},{"keyword":"artisan"},{"keyword":"eloquent"},{"keyword":"FormRequest"}],"routes_to":["skill:laravel"]},{"id":"low-impact-corpus-privacy-floor","triggers":[{"path_prefix":"agents/decisions/low-impact-decisions"},{"keyword":"low-impact-decisions"},{"keyword":"low-impact corpus"},{"keyword":"learn-low-impact"}],"routes_to":[]},{"id":"no-attribution-footers","triggers":[{"intent":"PR body"},{"intent":"commit message"},{"intent":"Jira comment"},{"keyword":"co-authored"}],"routes_to":[]},{"id":"no-decorative-emojis-in-git-surfaces","triggers":[{"intent":"PR title"},{"intent":"PR body"},{"intent":"commit message"},{"intent":"issue title"},{"intent":"post PR comment"},{"keyword":"gh pr create"},{"keyword":"git commit"}],"routes_to":[]},{"id":"no-roadmap-references","triggers":[{"path_prefix":"agents/roadmaps/"},{"path_prefix":"agents/runtime/council/questions/"},{"path_prefix":"agents/runtime/council/responses/"},{"path_prefix":"agents/runtime/council/sessions/"},{"intent":"link from stable artifact"},{"intent":"link to council artefact"}],"routes_to":["skill:ai-council"]},{"id":"onboarding-gate","triggers":[{"phrase":"first turn"},{"keyword":"onboarding"},{"path_prefix":".agent-settings.yml"}],"routes_to":[]},{"id":"php-coding","triggers":[{"file_pattern":"*.php"},{"keyword":"phpstan"},{"keyword":"ecs"}],"routes_to":["guideline:php/php-coding-patterns"]},{"id":"roadmap-progress-sync","triggers":[{"path_prefix":"agents/roadmaps/"},{"command":"/roadmap:process-step"},{"command":"/roadmap:process-phase"},{"command":"/roadmap:process-full"}],"routes_to":["guideline:agent-infra/roadmap-progress-mechanics"]},{"id":"skill-quality","triggers":[{"path_prefix":".agent-src.uncondensed/skills/"}],"routes_to":["guideline:agent-infra/skill-quality-checklist"]},{"id":"slash-command-routing-policy","triggers":[{"keyword":"/create-pr"},{"keyword":"/commit"},{"keyword":"/fix-ci"},{"phrase":"slash command"}],"routes_to":["skill:command-routing"]},{"id":"symfony-routing","triggers":[{"keyword":"symfony"},{"keyword":"doctrine"},{"keyword":"twig"},{"keyword":"messenger"}],"routes_to":["skill:symfony-workflow"]},{"id":"telegraph-speak","triggers":[{"intent":"any reply"}],"routes_to":[]},{"id":"user-interaction","triggers":[{"intent":"ask user a question"},{"intent":"numbered options"},{"intent":"summarizing progress"}],"routes_to":[]}],"tier_2":[{"id":"artifact-drafting-protocol","triggers":[{"intent":"create new skill"},{"intent":"create new rule"},{"intent":"create new command"},{"intent":"create new guideline"}],"routes_to":[]},{"id":"augment-edit-discipline","triggers":[{"path_prefix":".augment/"},{"path_prefix":".agent-src.uncondensed/"},{"keyword":"portable"},{"keyword":"rename"},{"keyword":"delete"}],"routes_to":["guideline:augment-portability-patterns","skill:agent-docs-writing"]},{"id":"cli-output-handling","triggers":[{"keyword":"git"},{"keyword":"phpstan"},{"keyword":"rector"},{"keyword":"phpunit"},{"keyword":"composer"}],"routes_to":["skill:rtk-output-filtering"]},{"id":"commit-conventions","triggers":[{"keyword":"commit"},{"keyword":"branch"},{"phrase":"conventional commits"}],"routes_to":["skill:conventional-commits-writing"]},{"id":"domain-adoption-policy","triggers":[{"intent":"adopt new domain"},{"intent":"harvest new domain track"},{"intent":"open a domain plate"},{"keyword":"mobile track"},{"keyword":"ml track"},{"keyword":"blockchain track"},{"path_prefix":".agent-src.uncondensed/skills/"}],"routes_to":[]},{"id":"domain-safety-disclaimer","triggers":[{"keyword":"legal brief"},{"keyword":"contract redline"},{"keyword":"terms of service"},{"keyword":"privacy policy"},{"keyword":"diagnosis"},{"keyword":"symptoms"},{"keyword":"dosage"},{"keyword":"medication"},{"keyword":"investment memo"},{"keyword":"valuation"},{"keyword":"DCF"},{"keyword":"tax position"},{"keyword":"strategic recommendation"},{"keyword":"board memo"},{"keyword":"executive summary"},{"phrase":"review this contract"},{"phrase":"is this symptom"},{"phrase":"should I invest"},{"phrase":"what should we do"}],"routes_to":["skill:contracts-cognition","skill:dcf-modeling","skill:decision-record","skill:privacy-review","skill:scenario-modeling","skill:stakeholder-tradeoff"]},{"id":"domain-safety-pii","triggers":[{"keyword":"support macro"},{"keyword":"ticket response"},{"keyword":"help desk"},{"keyword":"Zendesk"},{"keyword":"Intercom"},{"keyword":"testimonial"},{"keyword":"case study"},{"keyword":"customer story"},{"keyword":"candidate"},{"keyword":"interview notes"},{"keyword":"scorecard"},{"keyword":"rejection email"},{"keyword":"offer letter"},{"keyword":"invoice"},{"keyword":"accounts receivable"},{"keyword":"accounts payable"},{"keyword":"finance memo"},{"keyword":"log"},{"keyword":"logger"},{"keyword":"Sentry"},{"keyword":"Datadog"},{"keyword":"structured log"},{"keyword":"export to CSV"},{"keyword":"data export"},{"keyword":"partner integration"},{"phrase":"draft a response to"},{"phrase":"marketing email featuring"},{"phrase":"draft feedback for"},{"phrase":"log the user"},{"phrase":"send them the spreadsheet"}],"routes_to":["skill:data-handling-judgment","skill:logging-monitoring","skill:privacy-review","skill:secrets-management"]},{"id":"domain-safety-retention","triggers":[{"keyword":"retention policy"},{"keyword":"data retention"},{"keyword":"record retention"},{"keyword":"ticket retention"},{"keyword":"CRM retention"},{"keyword":"delete financial"},{"keyword":"purge invoice"},{"keyword":"DSAR"},{"keyword":"data subject request"},{"keyword":"right to be forgotten"},{"phrase":"how long should we keep"},{"phrase":"when can we delete"},{"phrase":"delete customer data"},{"phrase":"how long do we keep tickets"}],"routes_to":["skill:data-handling-judgment","skill:privacy-review"]},{"id":"downstream-changes","triggers":[{"intent":"after code edit"},{"keyword":"callers"},{"keyword":"imports"},{"keyword":"downstream"}],"routes_to":[]},{"id":"engineering-safety-floor","triggers":[{"keyword":"production"},{"keyword":"deploy"},{"keyword":"migration"},{"keyword":"schema change"},{"keyword":"DROP TABLE"},{"keyword":"TRUNCATE"},{"keyword":"force push"},{"keyword":"rebase main"},{"keyword":"rollback"},{"keyword":"secrets rotation"},{"keyword":"IAM"},{"keyword":"DNS"},{"keyword":"terraform apply"},{"keyword":"kubectl apply"},{"phrase":"ship to prod"},{"phrase":"deploy to production"},{"phrase":"merge to main"},{"phrase":"release this"}],"routes_to":["skill:launch-readiness","skill:threat-modeling"]},{"id":"external-reference-deep-dive","triggers":[{"intent":"look at how X does it"},{"intent":"compare with reference repo"},{"intent":"use as template / vorlage"},{"intent":"wie macht es X"},{"intent":"vergleiche mit Y"},{"intent":"schau dir Z an"},{"intent":"study this competitor"},{"keyword":"github.com/"},{"keyword":"source of truth"},{"phrase":"reference repo"}],"routes_to":[]},{"id":"finance-safety-floor","triggers":[{"keyword":"runway"},{"keyword":"burn"},{"keyword":"valuation"},{"keyword":"DCF"},{"keyword":"IRR"},{"keyword":"MOIC"},{"keyword":"LTV"},{"keyword":"CAC"},{"keyword":"payback"},{"keyword":"sensitivity"},{"keyword":"fundraise"},{"keyword":"term sheet"},{"keyword":"dilution"},{"keyword":"NRR"},{"keyword":"EBITDA"},{"keyword":"free cash flow"},{"phrase":"what's it worth"},{"phrase":"how long do we have"},{"phrase":"should we raise"},{"phrase":"model the scenarios"}],"routes_to":["skill:dcf-modeling","skill:forecasting","skill:runway-cognition","skill:scenario-modeling","skill:unit-economics-modeling"]},{"id":"framework-neutrality-in-generic-skills","triggers":[{"path_prefix":".agent-src.uncondensed/skills/"},{"path_prefix":".agent-src.uncondensed/rules/"},{"path_prefix":".agent-src.uncondensed/commands/"},{"keyword":"FormRequest"},{"keyword":"PHPStan"},{"keyword":"php artisan"},{"keyword":"composer.json"},{"keyword":"Eloquent"},{"keyword":"Pest"},{"keyword":"Blade"},{"keyword":"vendor/bin"},{"keyword":"Artisan"},{"keyword":"Rector"},{"phrase":"every controller"},{"phrase":"all controllers"},{"phrase":"generic skill"}],"routes_to":[]},{"id":"git-history-discipline","triggers":[{"intent":"rebase the branch"},{"intent":"squash commits"},{"intent":"clean up commit history"},{"intent":"fold this into the previous commit"},{"intent":"tidy history after pushing"},{"keyword":"git rebase"},{"keyword":"fixup"},{"keyword":"--amend"},{"keyword":"force-push"},{"keyword":"--force-with-lease"},{"keyword":"squash-merge"},{"phrase":"branch diverged"},{"phrase":"pull --rebase failed"},{"phrase":"ahead and behind"}],"routes_to":["skill:git-workflow"]},{"id":"improve-before-implement","triggers":[{"intent":"implement feature"},{"intent":"architectural change"},{"keyword":"refactor"}],"routes_to":[]},{"id":"invite-challenge","triggers":[{"intent":"complex plan"},{"intent":"design decision"},{"intent":"architectural plan"},{"intent":"multi-step implementation"},{"keyword":"plan"},{"keyword":"design"},{"keyword":"architecture"},{"keyword":"approach"}],"routes_to":[]},{"id":"laravel-translations","triggers":[{"path_prefix":"lang/"},{"keyword":"translation"},{"keyword":"__()"},{"keyword":"trans("}],"routes_to":["skill:laravel"]},{"id":"linked-projects-onboarding-gate","triggers":[{"intent":"work across two projects"},{"intent":"sibling repository"},{"keyword":"linked project"},{"keyword":"cross-repo"},{"keyword":"sibling repo"},{"path_prefix":".idea/modules.xml"},{"path_prefix":".idea/vcs.xml"}],"routes_to":[]},{"id":"markdown-safe-codeblocks","triggers":[{"intent":"markdown with code blocks"},{"keyword":"triple backticks"},{"file_pattern":"*.md"}],"routes_to":[]},{"id":"media-governance-routing","triggers":[{"keyword":"/video:"},{"keyword":"/image:"},{"keyword":"/audio:"},{"keyword":"deepfake"},{"keyword":"voice clone"},{"keyword":"voice cloning"},{"keyword":"likeness"},{"keyword":"brand impersonation"},{"phrase":"in the style of"},{"phrase":"in the voice of"},{"phrase":"as [public figure]"},{"phrase":"impersonate"}],"routes_to":[]},{"id":"minimal-safe-diff","triggers":[{"intent":"writing a diff"},{"intent":"reviewing a diff"},{"keyword":"drive-by"}],"routes_to":[]},{"id":"missing-tool-handling","triggers":[{"keyword":"command not found"},{"keyword":"not installed"},{"intent":"install tool"}],"routes_to":[]},{"id":"model-recommendation","triggers":[{"phrase":"switch task"},{"phrase":"new task"},{"phrase":"which model"}],"routes_to":["command:set-cost-profile"]},{"id":"no-pr-progress-comments","triggers":[{"intent":"post PR comment"},{"intent":"PR status update"},{"intent":"CI fix progress"},{"keyword":"gh pr comment"},{"keyword":"PullRequestComment"}],"routes_to":[]},{"id":"persona-governance","triggers":[{"path_prefix":".agent-src.uncondensed/personas/"},{"path_prefix":".agent-src/personas/"},{"keyword":"persona"},{"keyword":"personas"},{"phrase":"new persona"},{"phrase":"add a persona"},{"phrase":"specialist persona"},{"phrase":"review lens"}],"routes_to":["contract:persona-schema"]},{"id":"preservation-guard","triggers":[{"intent":"merge skill"},{"intent":"condense rule"},{"intent":"refactor artifact"},{"keyword":"Iron Law"}],"routes_to":[]},{"id":"provider-lifecycle-discipline","triggers":[{"keyword":"/video:"},{"keyword":"/image:"},{"keyword":"/audio:"},{"keyword":"ai-video"},{"keyword":"ai-image"},{"keyword":"ai-audio"},{"keyword":"adapter"},{"keyword":"provider"},{"path_prefix":"scripts/ai-video/adapters/"},{"path_prefix":"agents/.ai-video.xml"},{"phrase":"lifecycle"},{"phrase":"default provider"}],"routes_to":["contract:provider-lifecycle"]},{"id":"reviewer-awareness","triggers":[{"keyword":"reviewer"},{"phrase":"suggest reviewers"},{"phrase":"risk hotspot"},{"phrase":"ownership map"}],"routes_to":["skill:review-routing"]},{"id":"roadmap-ci-steps-policy","triggers":[{"path_prefix":"agents/roadmaps/"},{"path_prefix":"{module_root}/"},{"keyword":"task ci"},{"keyword":"make test"},{"keyword":"npm run check"},{"keyword":"pnpm run check"},{"keyword":"yarn check"},{"keyword":"composer test"},{"phrase":"run the quality pipeline"},{"phrase":"run task ci"},{"phrase":"run the full ci"}],"routes_to":[]},{"id":"role-mode-adherence","triggers":[{"keyword":"active_role"},{"keyword":"role-mode"},{"intent":"mode marker"}],"routes_to":[]},{"id":"rule-type-governance","triggers":[{"path_prefix":".agent-src.uncondensed/rules/"}],"routes_to":["guideline:agent-infra/rule-type-governance"]},{"id":"runtime-safety","triggers":[{"keyword":"execution"},{"keyword":"automated"},{"keyword":"assisted"},{"keyword":"handler"}],"routes_to":[]},{"id":"security-sensitive-stop","triggers":[{"keyword":"auth"},{"keyword":"billing"},{"keyword":"tenant"},{"keyword":"secret"},{"keyword":"webhook"}],"routes_to":[]},{"id":"skill-improvement-trigger","triggers":[{"phrase":"after completing"},{"keyword":"improvement"},{"keyword":"pipeline"}],"routes_to":["skill:skill-improvement-pipeline"]},{"id":"strategy-safety-floor","triggers":[{"keyword":"vision"},{"keyword":"positioning"},{"keyword":"moat"},{"keyword":"competitive"},{"keyword":"market entry"},{"keyword":"OKR"},{"keyword":"build vs buy"},{"keyword":"buy vs partner"},{"keyword":"beachhead"},{"keyword":"GTM"},{"keyword":"category"},{"keyword":"where to play"},{"keyword":"where not to play"},{"phrase":"what's our strategy"},{"phrase":"should we enter"},{"phrase":"what's our moat"},{"phrase":"where should we focus"},{"phrase":"should we reorg"}],"routes_to":["skill:build-buy-partner","skill:competitive-moat-analysis","skill:market-entry-analysis","skill:okr-tree-modeling","skill:positioning-strategy","skill:vision-articulation"]},{"id":"think-before-action","triggers":[{"intent":"before coding"},{"intent":"before debugging"},{"intent":"before modifying"}],"routes_to":[]},{"id":"token-efficiency","triggers":[{"intent":"verbose CLI output"},{"intent":"fetching logs"},{"keyword":"minimize tool calls"}],"routes_to":[]},{"id":"token-optimizer-maintenance","triggers":[{"keyword":"cli-output-handling"},{"keyword":"rtk-output-filtering"},{"keyword":"token-efficiency"},{"keyword":"agent-handoff"},{"keyword":"markitdown"},{"keyword":"token-optimizer"}],"routes_to":["skill:token-optimizer"]},{"id":"tool-safety","triggers":[{"keyword":"allowed_tools"},{"keyword":"tool registry"},{"intent":"external API"}],"routes_to":[]},{"id":"ui-audit-gate","triggers":[{"path_prefix":"resources/views/"},{"path_prefix":"resources/js/"},{"keyword":"component"},{"keyword":"design token"}],"routes_to":["skill:existing-ui-audit"]},{"id":"upstream-proposal","triggers":[{"phrase":"after creating"},{"phrase":"after improving"},{"keyword":"upstream"}],"routes_to":["skill:upstream-contribute"]}],"profiles":{"minimal":["__kernel__"],"balanced":["__kernel__","__tier_1__"],"full":["__kernel__","__tier_1__","__tier_2__"]}}