@polymorphism-tech/morph-spec 4.10.5 → 4.10.7

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 (54) hide show
  1. package/CLAUDE.md +3 -0
  2. package/README.md +3 -3
  3. package/bin/morph-spec.js +90 -1
  4. package/bin/task-manager.js +59 -6
  5. package/claude-plugin.json +1 -1
  6. package/docs/CHEATSHEET.md +1 -1
  7. package/docs/QUICKSTART.md +1 -1
  8. package/framework/agents/backend/hangfire-orchestrator.md +1 -1
  9. package/framework/agents/backend/ms-agent-expert.md +2 -1
  10. package/framework/agents/integrations/asaas-financial.md +1 -1
  11. package/framework/agents/integrations/clerk-auth.md +1 -2
  12. package/framework/agents/integrations/hangfire-integration.md +1 -1
  13. package/framework/agents/integrations/resend-email.md +1 -1
  14. package/framework/agents.json +345 -708
  15. package/framework/hooks/claude-code/post-tool-use/dispatch.js +10 -5
  16. package/framework/skills/README.md +0 -1
  17. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +1 -1
  18. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +1 -1
  19. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +1 -1
  20. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +42 -13
  21. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +1 -1
  22. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +16 -12
  23. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +1 -1
  24. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +1 -1
  25. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  26. package/package.json +1 -1
  27. package/src/commands/agents/agent-metrics.js +174 -0
  28. package/src/commands/agents/audit-dispatch.js +82 -0
  29. package/src/commands/agents/detect-agents.js +275 -0
  30. package/src/commands/agents/dispatch-agents.js +41 -135
  31. package/src/commands/agents/index.js +9 -0
  32. package/src/commands/agents/manage-agents.js +352 -0
  33. package/src/commands/project/doctor.js +61 -2
  34. package/src/commands/project/init.js +10 -2
  35. package/src/commands/project/update.js +12 -25
  36. package/src/commands/state/advance-phase.js +11 -3
  37. package/src/core/state/state-manager.js +81 -0
  38. package/src/lib/agents/agents-manager.js +349 -0
  39. package/src/lib/agents/metrics-calculator.js +125 -0
  40. package/src/lib/agents/output-collector.js +75 -0
  41. package/src/lib/generators/context-generator.js +8 -7
  42. package/src/lib/tasks/task-parser.js +94 -3
  43. package/src/lib/validators/checkpoint-persistence.js +39 -0
  44. package/src/lib/validators/content/content-validator.js +9 -1
  45. package/src/lib/validators/spec-validator.js +2 -2
  46. package/src/lib/validators/validation-runner.js +20 -0
  47. package/src/scripts/setup-infra.js +1 -17
  48. package/src/utils/agent-id-mapper.js +11 -0
  49. package/src/utils/agents-installer.js +40 -8
  50. package/src/utils/claude-settings-manager.js +1 -1
  51. package/src/utils/hooks-installer.js +0 -245
  52. package/src/utils/tier-helpers.js +24 -0
  53. package/framework/agents/architecture/po-pm-advisor.md +0 -203
  54. package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +0 -68
@@ -1,43 +1,28 @@
1
1
  {
2
2
  "$schema": "./agent-schema.json",
3
- "version": "3.3.0-hierarchical",
4
- "total_agents": 43,
3
+ "version": "4.0.0",
4
+ "total_agents": 45,
5
5
  "tiers": {
6
6
  "tier_1_orchestrators": 3,
7
7
  "tier_2_leaders": 4,
8
- "tier_3_specialists": 29,
8
+ "tier_3_specialists": 31,
9
9
  "tier_4_validators": 7
10
10
  },
11
11
  "agents": {
12
- "_comment_tier_1": "=== TIER 1: ORCHESTRATORS (3) ===",
13
12
  "standards-architect": {
14
13
  "tier": 1,
15
- "role": "orchestrator",
16
14
  "title": "Chief Architect",
15
+ "group": "domain-analysis",
16
+ "active_phases": [
17
+ "*"
18
+ ],
19
+ "reports_to": "user",
17
20
  "domains": [
18
21
  "architecture",
19
22
  "developer-experience"
20
23
  ],
21
24
  "keywords": [],
22
- "always_active": true,
23
25
  "validators": [],
24
- "relationships": {
25
- "reports_to": "user",
26
- "coordinates": [
27
- "dotnet-senior",
28
- "infra-architect",
29
- "ui-designer",
30
- "domain-architect",
31
- "testing-specialist",
32
- "code-analyzer",
33
- "troubleshooting-expert",
34
- "documentation-specialist",
35
- "load-testing-expert",
36
- "vsa-architect"
37
- ],
38
- "escalates_to": "user",
39
- "team_role": "lead"
40
- },
41
26
  "standards": [
42
27
  {
43
28
  "id": "core-coding",
@@ -63,8 +48,13 @@
63
48
  },
64
49
  "ai-system-architect": {
65
50
  "tier": 1,
66
- "role": "orchestrator",
67
51
  "title": "AI/Agent Architect",
52
+ "group": "domain-analysis",
53
+ "active_phases": [
54
+ "design",
55
+ "tasks"
56
+ ],
57
+ "reports_to": "standards-architect",
68
58
  "domains": [
69
59
  "ai-orchestration",
70
60
  "architecture"
@@ -76,23 +66,7 @@
76
66
  "multi-agent",
77
67
  "agent workflow"
78
68
  ],
79
- "always_active": false,
80
69
  "validators": [],
81
- "relationships": {
82
- "reports_to": "standards-architect",
83
- "coordinates": [
84
- "ms-agent-expert"
85
- ],
86
- "escalates_to": "standards-architect",
87
- "collaborates_with": [
88
- "dotnet-senior"
89
- ],
90
- "team_role": "orchestrator",
91
- "active_phases": [
92
- "design",
93
- "tasks"
94
- ]
95
- },
96
70
  "standards": [
97
71
  {
98
72
  "id": "core-coding",
@@ -128,13 +102,19 @@
128
102
  "teammate": {
129
103
  "role": "AI Architect",
130
104
  "icon": "🤖",
131
- "spawn_prompt": "You are the AI/Agent System Architect. Design agent workflows, tool integrations, and orchestration patterns. Coordinate with ms-agent-expert for implementation."
105
+ "spawn_prompt": "You are the AI/Agent System Architect. Design agent workflows, tool integrations, and orchestration patterns."
132
106
  }
133
107
  },
134
108
  "popm-advisor": {
135
109
  "tier": 1,
136
- "role": "orchestrator",
137
110
  "title": "Product/Project Advisor",
111
+ "group": "domain-analysis",
112
+ "active_phases": [
113
+ "proposal",
114
+ "setup",
115
+ "design"
116
+ ],
117
+ "reports_to": "user",
138
118
  "domains": [
139
119
  "requirements",
140
120
  "business-value"
@@ -147,18 +127,7 @@
147
127
  "business value",
148
128
  "user story"
149
129
  ],
150
- "always_active": false,
151
130
  "validators": [],
152
- "relationships": {
153
- "reports_to": "user",
154
- "coordinates": [],
155
- "team_role": "planning_only",
156
- "active_phases": [
157
- "proposal",
158
- "setup",
159
- "design"
160
- ]
161
- },
162
131
  "standards": [
163
132
  {
164
133
  "id": "core-coding",
@@ -173,12 +142,14 @@
173
142
  ],
174
143
  "teammate": null
175
144
  },
176
- "_comment_tier_2": "=== TIER 2: DOMAIN LEADERS (4) ===",
177
145
  "dotnet-senior": {
178
146
  "tier": 2,
179
- "role": "domain-leader",
180
147
  "title": "Backend Squad Leader",
181
- "stacks": ["dotnet", "blazor"],
148
+ "group": "backend",
149
+ "active_phases": [
150
+ "*"
151
+ ],
152
+ "reports_to": "standards-architect",
182
153
  "domains": [
183
154
  "backend"
184
155
  ],
@@ -192,32 +163,10 @@
192
163
  "web api",
193
164
  "minimal api"
194
165
  ],
195
- "always_active": true,
196
166
  "validators": [
197
167
  "architecture",
198
168
  "packages"
199
169
  ],
200
- "relationships": {
201
- "reports_to": "standards-architect",
202
- "coordinates": [
203
- "ef-modeler",
204
- "event-architect",
205
- "api-designer",
206
- "nosql-cache-expert",
207
- "hangfire-orchestrator",
208
- "ms-agent-expert",
209
- "asaas-financial",
210
- "clerk-auth",
211
- "resend-email"
212
- ],
213
- "escalates_to": "standards-architect",
214
- "collaborates_with": [
215
- "infra-architect",
216
- "blazor-builder",
217
- "nextjs-expert"
218
- ],
219
- "team_role": "domain_leader"
220
- },
221
170
  "standards": [
222
171
  {
223
172
  "id": "core-coding",
@@ -240,6 +189,10 @@
240
189
  "priority": "required"
241
190
  }
242
191
  ],
192
+ "stacks": [
193
+ "dotnet",
194
+ "blazor"
195
+ ],
243
196
  "teammate": {
244
197
  "role": "Backend Squad Leader",
245
198
  "icon": "⚙️",
@@ -248,9 +201,12 @@
248
201
  },
249
202
  "infra-architect": {
250
203
  "tier": 2,
251
- "role": "domain-leader",
252
204
  "title": "Infrastructure Squad Leader",
253
- "stacks": ["azure", "docker"],
205
+ "group": "infra",
206
+ "active_phases": [
207
+ "*"
208
+ ],
209
+ "reports_to": "standards-architect",
254
210
  "domains": [
255
211
  "infrastructure"
256
212
  ],
@@ -270,23 +226,7 @@
270
226
  "serverless database",
271
227
  "serverless postgres"
272
228
  ],
273
- "always_active": true,
274
229
  "validators": [],
275
- "relationships": {
276
- "reports_to": "standards-architect",
277
- "coordinates": [
278
- "azure-architect",
279
- "devops-engineer",
280
- "container-specialist",
281
- "observability-expert"
282
- ],
283
- "escalates_to": "standards-architect",
284
- "collaborates_with": [
285
- "dotnet-senior",
286
- "ui-designer"
287
- ],
288
- "team_role": "domain_leader"
289
- },
290
230
  "standards": [
291
231
  {
292
232
  "id": "core-coding",
@@ -304,6 +244,10 @@
304
244
  "priority": "required"
305
245
  }
306
246
  ],
247
+ "stacks": [
248
+ "azure",
249
+ "docker"
250
+ ],
307
251
  "teammate": {
308
252
  "role": "Infrastructure Squad Leader",
309
253
  "icon": "🏗️",
@@ -312,8 +256,13 @@
312
256
  },
313
257
  "azure-architect": {
314
258
  "tier": 3,
315
- "role": "specialist",
316
259
  "title": "Azure Infrastructure Specialist",
260
+ "group": "infra",
261
+ "active_phases": [
262
+ "design",
263
+ "implement"
264
+ ],
265
+ "reports_to": "infra-architect",
317
266
  "domains": [
318
267
  "infrastructure"
319
268
  ],
@@ -327,31 +276,9 @@
327
276
  "key vault",
328
277
  "app insights"
329
278
  ],
330
- "always_active": false,
331
279
  "validators": [
332
280
  "architecture"
333
281
  ],
334
- "relationships": {
335
- "reports_to": "infra-architect",
336
- "coordinates": [
337
- "bicep-architect",
338
- "devops-engineer",
339
- "container-specialist",
340
- "observability-expert",
341
- "azure-identity"
342
- ],
343
- "escalates_to": "infra-architect",
344
- "collaborates_with": [
345
- "bicep-architect",
346
- "devops-engineer",
347
- "container-specialist"
348
- ],
349
- "team_role": "specialist",
350
- "active_phases": [
351
- "design",
352
- "implement"
353
- ]
354
- },
355
282
  "standards": [
356
283
  {
357
284
  "id": "core-coding",
@@ -372,13 +299,17 @@
372
299
  "teammate": {
373
300
  "role": "Infrastructure Squad Leader",
374
301
  "icon": "☁️",
375
- "spawn_prompt": "You are the Azure Infrastructure Specialist (tier-3). Focus exclusively on Azure resources, Bicep IaC templates, Azure cost optimization, and zero-portal policy. Report to infra-architect. Coordinate with bicep-architect for IaC, devops-engineer for Azure pipelines, container-specialist for Container Apps."
302
+ "spawn_prompt": "You are the Azure Infrastructure Specialist (tier-3). Focus exclusively on Azure resources, Bicep IaC templates, Azure cost optimization, and zero-portal policy. Report to infra-architect."
376
303
  }
377
304
  },
378
305
  "ui-designer": {
379
306
  "tier": 2,
380
- "role": "domain-leader",
381
307
  "title": "UI/UX Squad Leader",
308
+ "group": "frontend",
309
+ "active_phases": [
310
+ "uiux"
311
+ ],
312
+ "reports_to": "standards-architect",
382
313
  "domains": [
383
314
  "frontend-design"
384
315
  ],
@@ -401,27 +332,10 @@
401
332
  "portal",
402
333
  "view"
403
334
  ],
404
- "always_active": false,
405
335
  "validators": [
406
336
  "design-system",
407
337
  "contrast"
408
338
  ],
409
- "relationships": {
410
- "reports_to": "standards-architect",
411
- "coordinates": [
412
- "blazor-builder",
413
- "nextjs-expert",
414
- "css-specialist"
415
- ],
416
- "escalates_to": "standards-architect",
417
- "collaborates_with": [
418
- "dotnet-senior"
419
- ],
420
- "team_role": "domain_leader",
421
- "active_phases": [
422
- "uiux"
423
- ]
424
- },
425
339
  "standards": [
426
340
  {
427
341
  "id": "frontend-blazor-fluent-ui",
@@ -442,14 +356,18 @@
442
356
  "teammate": {
443
357
  "role": "UI/UX Squad Leader (FASE 1.5)",
444
358
  "icon": "🎨",
445
- "spawn_prompt": "You are the UI/UX Squad Leader for FASE 1.5. Create wireframes, mockups, user flows. Define design system (colors, typography, spacing). Coordinate with blazor-builder or nextjs-expert for stack-specific patterns. Work is AGNOSTIC (no implementation code)."
359
+ "spawn_prompt": "You are the UI/UX Squad Leader for FASE 1.5. Create wireframes, mockups, user flows. Define design system (colors, typography, spacing). Work is AGNOSTIC (no implementation code). Apply modern design trends (glassmorphism, gradients, soft shadows, micro-interactions). Guide Fluent UI vs MudBlazor selection. Enforce WCAG AA accessibility (4.5:1 contrast, focus visible, ARIA)."
446
360
  }
447
361
  },
448
- "_comment_tier_3_backend": "=== TIER 3: BACKEND SPECIALISTS (10) ===",
449
362
  "ef-modeler": {
450
363
  "tier": 3,
451
- "role": "specialist",
452
364
  "title": "Data Persistence Specialist (Relational)",
365
+ "group": "backend",
366
+ "active_phases": [
367
+ "design",
368
+ "implement"
369
+ ],
370
+ "reports_to": "dotnet-senior",
453
371
  "domains": [
454
372
  "backend-data"
455
373
  ],
@@ -462,27 +380,10 @@
462
380
  "sql",
463
381
  "dbcontext"
464
382
  ],
465
- "always_active": false,
466
383
  "validators": [
467
384
  "architecture",
468
385
  "blazor-concurrency"
469
386
  ],
470
- "relationships": {
471
- "reports_to": "dotnet-senior",
472
- "coordinates": [],
473
- "escalates_to": "dotnet-senior",
474
- "collaborates_with": [
475
- "blazor-builder",
476
- "nextjs-expert",
477
- "api-designer",
478
- "nosql-cache-expert"
479
- ],
480
- "team_role": "specialist",
481
- "active_phases": [
482
- "design",
483
- "implement"
484
- ]
485
- },
486
387
  "standards": [
487
388
  {
488
389
  "id": "core-coding",
@@ -508,8 +409,13 @@
508
409
  },
509
410
  "event-architect": {
510
411
  "tier": 3,
511
- "role": "specialist",
512
412
  "title": "Event-Driven Architecture Specialist",
413
+ "group": "backend",
414
+ "active_phases": [
415
+ "design",
416
+ "implement"
417
+ ],
418
+ "reports_to": "dotnet-senior",
513
419
  "domains": [
514
420
  "backend-events"
515
421
  ],
@@ -528,26 +434,10 @@
528
434
  "websocket",
529
435
  "live updates"
530
436
  ],
531
- "always_active": false,
532
437
  "validators": [
533
438
  "architecture",
534
439
  "event-driven"
535
440
  ],
536
- "relationships": {
537
- "reports_to": "dotnet-senior",
538
- "coordinates": [],
539
- "escalates_to": "dotnet-senior",
540
- "collaborates_with": [
541
- "domain-architect",
542
- "api-designer",
543
- "infra-architect"
544
- ],
545
- "team_role": "specialist",
546
- "active_phases": [
547
- "design",
548
- "implement"
549
- ]
550
- },
551
441
  "standards": [
552
442
  {
553
443
  "id": "core-coding",
@@ -563,13 +453,18 @@
563
453
  "teammate": {
564
454
  "role": "Event-Driven Architecture Specialist",
565
455
  "icon": "📨",
566
- "spawn_prompt": "You are the Event-Driven Architecture Specialist. Implement Azure Service Bus queues/topics, CQRS patterns, Event Sourcing, Domain Events. Design idempotent handlers, dead letter queues, saga patterns. Collaborate with domain-architect for event design."
456
+ "spawn_prompt": "You are the Event-Driven Architecture Specialist. Implement Azure Service Bus queues/topics, CQRS patterns, Event Sourcing, Domain Events. Design idempotent handlers, dead letter queues, saga patterns."
567
457
  }
568
458
  },
569
459
  "api-designer": {
570
460
  "tier": 3,
571
- "role": "specialist",
572
461
  "title": "API Design Specialist",
462
+ "group": "backend",
463
+ "active_phases": [
464
+ "design",
465
+ "implement"
466
+ ],
467
+ "reports_to": "dotnet-senior",
573
468
  "domains": [
574
469
  "backend-api"
575
470
  ],
@@ -585,24 +480,7 @@
585
480
  "hot chocolate",
586
481
  "endpoint"
587
482
  ],
588
- "always_active": false,
589
483
  "validators": [],
590
- "relationships": {
591
- "reports_to": "dotnet-senior",
592
- "coordinates": [],
593
- "escalates_to": "dotnet-senior",
594
- "collaborates_with": [
595
- "ef-modeler",
596
- "event-architect",
597
- "blazor-builder",
598
- "nextjs-expert"
599
- ],
600
- "team_role": "specialist",
601
- "active_phases": [
602
- "design",
603
- "implement"
604
- ]
605
- },
606
484
  "standards": [
607
485
  {
608
486
  "id": "core-coding",
@@ -623,8 +501,13 @@
623
501
  },
624
502
  "nosql-cache-expert": {
625
503
  "tier": 3,
626
- "role": "specialist",
627
504
  "title": "NoSQL & Cache Specialist",
505
+ "group": "backend",
506
+ "active_phases": [
507
+ "design",
508
+ "implement"
509
+ ],
510
+ "reports_to": "dotnet-senior",
628
511
  "domains": [
629
512
  "backend-nosql"
630
513
  ],
@@ -639,22 +522,7 @@
639
522
  "key-value",
640
523
  "azure storage"
641
524
  ],
642
- "always_active": false,
643
525
  "validators": [],
644
- "relationships": {
645
- "reports_to": "dotnet-senior",
646
- "coordinates": [],
647
- "escalates_to": "dotnet-senior",
648
- "collaborates_with": [
649
- "ef-modeler",
650
- "infra-architect"
651
- ],
652
- "team_role": "specialist",
653
- "active_phases": [
654
- "design",
655
- "implement"
656
- ]
657
- },
658
526
  "standards": [
659
527
  {
660
528
  "id": "core-coding",
@@ -675,8 +543,13 @@
675
543
  },
676
544
  "domain-architect": {
677
545
  "tier": 2,
678
- "role": "domain-leader",
679
546
  "title": "Domain Modeling Leader",
547
+ "group": "domain-analysis",
548
+ "active_phases": [
549
+ "design",
550
+ "implement"
551
+ ],
552
+ "reports_to": "standards-architect",
680
553
  "domains": [
681
554
  "backend-ddd"
682
555
  ],
@@ -695,23 +568,9 @@
695
568
  "domainevents",
696
569
  "integration event"
697
570
  ],
698
- "always_active": false,
699
571
  "validators": [
700
572
  "architecture"
701
573
  ],
702
- "relationships": {
703
- "reports_to": "standards-architect",
704
- "coordinates": [
705
- "ef-modeler",
706
- "event-architect"
707
- ],
708
- "escalates_to": "standards-architect",
709
- "collaborates_with": [
710
- "dotnet-senior",
711
- "api-designer"
712
- ],
713
- "team_role": "domain_leader"
714
- },
715
574
  "standards": [
716
575
  {
717
576
  "id": "core-coding",
@@ -754,10 +613,6 @@
754
613
  "priority": "required"
755
614
  }
756
615
  ],
757
- "active_phases": [
758
- "design",
759
- "implement"
760
- ],
761
616
  "teammate": {
762
617
  "role": "Domain Modeling Leader",
763
618
  "icon": "📐",
@@ -766,8 +621,12 @@
766
621
  },
767
622
  "hangfire-orchestrator": {
768
623
  "tier": 3,
769
- "role": "specialist",
770
624
  "title": "Background Jobs Specialist",
625
+ "group": "backend",
626
+ "active_phases": [
627
+ "implement"
628
+ ],
629
+ "reports_to": "dotnet-senior",
771
630
  "domains": [
772
631
  "backend-jobs"
773
632
  ],
@@ -781,24 +640,10 @@
781
640
  "fire and forget",
782
641
  "delayed"
783
642
  ],
784
- "always_active": false,
785
643
  "validators": [
786
644
  "architecture",
787
645
  "blazor-concurrency"
788
646
  ],
789
- "relationships": {
790
- "reports_to": "dotnet-senior",
791
- "coordinates": [],
792
- "escalates_to": "dotnet-senior",
793
- "collaborates_with": [
794
- "ef-modeler",
795
- "infra-architect"
796
- ],
797
- "team_role": "specialist",
798
- "active_phases": [
799
- "implement"
800
- ]
801
- },
802
647
  "standards": [
803
648
  {
804
649
  "id": "core-coding",
@@ -814,13 +659,18 @@
814
659
  "teammate": {
815
660
  "role": "Background Jobs Specialist",
816
661
  "icon": "⏰",
817
- "spawn_prompt": "You are the Background Jobs Specialist (Hangfire). Implement fire-and-forget jobs, delayed jobs, recurring jobs (cron), continuations (chaining). Configure retry policies, queue management. Use IDbContextFactory for scoped operations."
662
+ "spawn_prompt": "You are the Background Jobs Specialist (Hangfire). Implement fire-and-forget jobs, delayed jobs, recurring jobs (cron), continuations (chaining). Configure retry policies, queue management. Use IDbContextFactory/IRepositoryFactory for scoped operations in background jobs (NOT direct DbContext injection). Also handles webhook integration, event-driven job pipelines, and async processing of external service callbacks."
818
663
  }
819
664
  },
820
665
  "ms-agent-expert": {
821
666
  "tier": 3,
822
- "role": "specialist",
823
667
  "title": "Microsoft Agent Framework Expert",
668
+ "group": "ai",
669
+ "active_phases": [
670
+ "design",
671
+ "implement"
672
+ ],
673
+ "reports_to": "ai-system-architect",
824
674
  "domains": [
825
675
  "ai-agents"
826
676
  ],
@@ -836,25 +686,10 @@
836
686
  "microsoft agent framework",
837
687
  "ichatclient"
838
688
  ],
839
- "always_active": false,
840
689
  "validators": [
841
690
  "architecture",
842
691
  "packages"
843
692
  ],
844
- "relationships": {
845
- "reports_to": "ai-system-architect",
846
- "coordinates": [],
847
- "escalates_to": "ai-system-architect",
848
- "collaborates_with": [
849
- "dotnet-senior",
850
- "infra-architect"
851
- ],
852
- "team_role": "specialist",
853
- "active_phases": [
854
- "design",
855
- "implement"
856
- ]
857
- },
858
693
  "standards": [
859
694
  {
860
695
  "id": "core-coding",
@@ -890,8 +725,13 @@
890
725
  },
891
726
  "supabase-expert": {
892
727
  "tier": 3,
893
- "role": "specialist",
894
728
  "title": "Supabase & PostgreSQL Specialist",
729
+ "group": "backend",
730
+ "active_phases": [
731
+ "design",
732
+ "implement"
733
+ ],
734
+ "reports_to": "dotnet-senior",
895
735
  "domains": [
896
736
  "backend-supabase"
897
737
  ],
@@ -904,23 +744,7 @@
904
744
  "row level security",
905
745
  "edge functions"
906
746
  ],
907
- "always_active": false,
908
747
  "validators": [],
909
- "relationships": {
910
- "reports_to": "dotnet-senior",
911
- "coordinates": [],
912
- "escalates_to": "dotnet-senior",
913
- "collaborates_with": [
914
- "nextjs-expert",
915
- "vector-search-expert",
916
- "ef-modeler"
917
- ],
918
- "team_role": "specialist",
919
- "active_phases": [
920
- "design",
921
- "implement"
922
- ]
923
- },
924
748
  "standards": [
925
749
  {
926
750
  "id": "core-coding",
@@ -936,13 +760,18 @@
936
760
  "teammate": {
937
761
  "role": "Supabase & PostgreSQL Specialist",
938
762
  "icon": "🐘",
939
- "spawn_prompt": "You are the Supabase & PostgreSQL Specialist. Implement Supabase Auth (magic links, OAuth, JWT), Row Level Security (RLS policies), Realtime subscriptions, Edge Functions (Deno/TypeScript). Use pgvector for embeddings/similarity search. Design efficient schemas with proper indexing. Coordinate with nextjs-expert for frontend integration."
763
+ "spawn_prompt": "You are the Supabase & PostgreSQL Specialist. Implement Supabase Auth (magic links, OAuth, JWT), Row Level Security (RLS policies), Realtime subscriptions, Edge Functions (Deno/TypeScript). Use pgvector for embeddings/similarity search. Design efficient schemas with proper indexing."
940
764
  }
941
765
  },
942
766
  "vector-search-expert": {
943
767
  "tier": 3,
944
- "role": "specialist",
945
768
  "title": "Vector Search & RAG Specialist",
769
+ "group": "ai",
770
+ "active_phases": [
771
+ "design",
772
+ "implement"
773
+ ],
774
+ "reports_to": "ai-system-architect",
946
775
  "domains": [
947
776
  "ai-vector"
948
777
  ],
@@ -955,23 +784,7 @@
955
784
  "similarity search",
956
785
  "retrieval augmented"
957
786
  ],
958
- "always_active": false,
959
787
  "validators": [],
960
- "relationships": {
961
- "reports_to": "ai-system-architect",
962
- "coordinates": [],
963
- "escalates_to": "ai-system-architect",
964
- "collaborates_with": [
965
- "ms-agent-expert",
966
- "supabase-expert",
967
- "context-optimizer"
968
- ],
969
- "team_role": "specialist",
970
- "active_phases": [
971
- "design",
972
- "implement"
973
- ]
974
- },
975
788
  "standards": [
976
789
  {
977
790
  "id": "core-coding",
@@ -992,13 +805,17 @@
992
805
  "teammate": {
993
806
  "role": "Vector Search & RAG Specialist",
994
807
  "icon": "🔎",
995
- "spawn_prompt": "You are the Vector Search & RAG Specialist. Implement vector embeddings (OpenAI, Azure AI), similarity search (pgvector, Azure AI Search), RAG pipelines (chunking, embedding, retrieval). Design hybrid search (vector + full-text). Optimize embedding dimensions and index types (HNSW, IVFFlat). Collaborate with ms-agent-expert for agent integration and supabase-expert for pgvector storage."
808
+ "spawn_prompt": "You are the Vector Search & RAG Specialist. Implement vector embeddings (OpenAI, Azure AI), similarity search (pgvector, Azure AI Search), RAG pipelines (chunking, embedding, retrieval). Design hybrid search (vector + full-text). Optimize embedding dimensions and index types (HNSW, IVFFlat)."
996
809
  }
997
810
  },
998
811
  "context-optimizer": {
999
812
  "tier": 3,
1000
- "role": "specialist",
1001
813
  "title": "Context & Token Optimization Specialist",
814
+ "group": "ai",
815
+ "active_phases": [
816
+ "implement"
817
+ ],
818
+ "reports_to": "ai-system-architect",
1002
819
  "domains": [
1003
820
  "ai-context"
1004
821
  ],
@@ -1010,21 +827,7 @@
1010
827
  "summarization",
1011
828
  "token budget"
1012
829
  ],
1013
- "always_active": false,
1014
830
  "validators": [],
1015
- "relationships": {
1016
- "reports_to": "ai-system-architect",
1017
- "coordinates": [],
1018
- "escalates_to": "ai-system-architect",
1019
- "collaborates_with": [
1020
- "ms-agent-expert",
1021
- "vector-search-expert"
1022
- ],
1023
- "team_role": "specialist",
1024
- "active_phases": [
1025
- "implement"
1026
- ]
1027
- },
1028
831
  "standards": [
1029
832
  {
1030
833
  "id": "core-coding",
@@ -1040,13 +843,53 @@
1040
843
  "teammate": {
1041
844
  "role": "Context & Token Optimization Specialist",
1042
845
  "icon": "🧠",
1043
- "spawn_prompt": "You are the Context & Token Optimization Specialist. Optimize context windows (sliding window, summarization, selective inclusion), implement token counting and budget management, design chunking strategies (semantic, fixed-size, recursive). Reduce costs through prompt caching, context compression. Coordinate with vector-search-expert for retrieval-based context building."
846
+ "spawn_prompt": "You are the Context & Token Optimization Specialist. Optimize context windows (sliding window, summarization, selective inclusion), implement token counting and budget management, design chunking strategies (semantic, fixed-size, recursive). Reduce costs through prompt caching, context compression."
847
+ }
848
+ },
849
+ "prompt-engineer": {
850
+ "tier": 3,
851
+ "title": "Prompt Engineer",
852
+ "group": "ai",
853
+ "active_phases": [
854
+ "design",
855
+ "implement"
856
+ ],
857
+ "reports_to": "ai-system-architect",
858
+ "domains": [
859
+ "ai-prompts"
860
+ ],
861
+ "keywords": [
862
+ "prompt",
863
+ "prompting",
864
+ "system prompt",
865
+ "few-shot",
866
+ "chain-of-thought",
867
+ "llm prompt",
868
+ "agent prompt"
869
+ ],
870
+ "validators": [],
871
+ "standards": [
872
+ {
873
+ "id": "core-coding",
874
+ "scope": "all",
875
+ "priority": "required"
876
+ }
877
+ ],
878
+ "teammate": {
879
+ "role": "Prompt Engineer",
880
+ "icon": "✍️",
881
+ "spawn_prompt": "You are the Prompt Engineer (tier-3). Design system prompts, few-shot examples, chain-of-thought patterns, and optimize LLM interactions. Always show the full prompt text — never just describe it. Apply techniques: constitutional AI, recursive prompting, tree of thoughts, self-consistency."
1044
882
  }
1045
883
  },
1046
884
  "asaas-financial": {
1047
885
  "tier": 3,
1048
- "role": "specialist",
1049
886
  "title": "Payment Integration Specialist (Brazil)",
887
+ "group": "backend",
888
+ "active_phases": [
889
+ "design",
890
+ "implement"
891
+ ],
892
+ "reports_to": "dotnet-senior",
1050
893
  "domains": [
1051
894
  "integration-payment"
1052
895
  ],
@@ -1059,25 +902,10 @@
1059
902
  "subscription",
1060
903
  "pagamento"
1061
904
  ],
1062
- "always_active": false,
1063
905
  "validators": [
1064
906
  "architecture",
1065
907
  "contract-compliance"
1066
908
  ],
1067
- "relationships": {
1068
- "reports_to": "dotnet-senior",
1069
- "coordinates": [],
1070
- "escalates_to": "dotnet-senior",
1071
- "collaborates_with": [
1072
- "blazor-builder",
1073
- "nextjs-expert"
1074
- ],
1075
- "team_role": "specialist",
1076
- "active_phases": [
1077
- "design",
1078
- "implement"
1079
- ]
1080
- },
1081
909
  "standards": [
1082
910
  {
1083
911
  "id": "core-coding",
@@ -1098,8 +926,13 @@
1098
926
  },
1099
927
  "clerk-auth": {
1100
928
  "tier": 3,
1101
- "role": "specialist",
1102
929
  "title": "Auth SaaS Integration Specialist",
930
+ "group": "backend",
931
+ "active_phases": [
932
+ "design",
933
+ "implement"
934
+ ],
935
+ "reports_to": "dotnet-senior",
1103
936
  "domains": [
1104
937
  "integration-auth"
1105
938
  ],
@@ -1112,29 +945,7 @@
1112
945
  "signup",
1113
946
  "oauth"
1114
947
  ],
1115
- "negativeKeywords": [
1116
- "existing auth",
1117
- "current auth",
1118
- "integrate with auth",
1119
- "already have auth"
1120
- ],
1121
- "always_active": false,
1122
948
  "validators": [],
1123
- "relationships": {
1124
- "reports_to": "dotnet-senior",
1125
- "coordinates": [],
1126
- "escalates_to": "dotnet-senior",
1127
- "collaborates_with": [
1128
- "blazor-builder",
1129
- "nextjs-expert",
1130
- "azure-identity"
1131
- ],
1132
- "team_role": "specialist",
1133
- "active_phases": [
1134
- "design",
1135
- "implement"
1136
- ]
1137
- },
1138
949
  "standards": [
1139
950
  {
1140
951
  "id": "core-coding",
@@ -1155,8 +966,12 @@
1155
966
  },
1156
967
  "resend-email": {
1157
968
  "tier": 3,
1158
- "role": "specialist",
1159
969
  "title": "Email Integration Specialist",
970
+ "group": "backend",
971
+ "active_phases": [
972
+ "implement"
973
+ ],
974
+ "reports_to": "dotnet-senior",
1160
975
  "domains": [
1161
976
  "integration-email"
1162
977
  ],
@@ -1169,29 +984,10 @@
1169
984
  "email template",
1170
985
  "smtp"
1171
986
  ],
1172
- "negativeKeywords": [
1173
- "push notification",
1174
- "in-app notification",
1175
- "notification preference",
1176
- "notification settings"
1177
- ],
1178
- "always_active": false,
1179
987
  "validators": [
1180
988
  "architecture",
1181
989
  "contract-compliance"
1182
990
  ],
1183
- "relationships": {
1184
- "reports_to": "dotnet-senior",
1185
- "coordinates": [],
1186
- "escalates_to": "dotnet-senior",
1187
- "collaborates_with": [
1188
- "hangfire-orchestrator"
1189
- ],
1190
- "team_role": "specialist",
1191
- "active_phases": [
1192
- "implement"
1193
- ]
1194
- },
1195
991
  "standards": [
1196
992
  {
1197
993
  "id": "core-coding",
@@ -1210,11 +1006,16 @@
1210
1006
  "spawn_prompt": "You are the Email Integration Specialist (Resend SDK). Implement transactional emails, email templates, notification sending. Follow contract-compliance validator for SDK usage patterns."
1211
1007
  }
1212
1008
  },
1213
- "_comment_tier_3_frontend": "=== TIER 3: FRONTEND SPECIALISTS (3) ===",
1214
1009
  "blazor-builder": {
1215
1010
  "tier": 3,
1216
- "role": "specialist",
1217
1011
  "title": "Blazor Development Specialist",
1012
+ "group": "frontend",
1013
+ "active_phases": [
1014
+ "uiux",
1015
+ "tasks",
1016
+ "implement"
1017
+ ],
1018
+ "reports_to": "ui-designer",
1218
1019
  "domains": [
1219
1020
  "frontend-blazor"
1220
1021
  ],
@@ -1230,7 +1031,6 @@
1230
1031
  "view",
1231
1032
  "form"
1232
1033
  ],
1233
- "always_active": false,
1234
1034
  "validators": [
1235
1035
  "architecture",
1236
1036
  "blazor",
@@ -1239,22 +1039,6 @@
1239
1039
  "css",
1240
1040
  "design-system"
1241
1041
  ],
1242
- "relationships": {
1243
- "reports_to": "ui-designer",
1244
- "coordinates": [],
1245
- "escalates_to": "standards-architect",
1246
- "collaborates_with": [
1247
- "ef-modeler",
1248
- "api-designer",
1249
- "css-specialist"
1250
- ],
1251
- "team_role": "specialist",
1252
- "active_phases": [
1253
- "uiux",
1254
- "tasks",
1255
- "implement"
1256
- ]
1257
- },
1258
1042
  "standards": [
1259
1043
  {
1260
1044
  "id": "core-coding",
@@ -1295,8 +1079,14 @@
1295
1079
  },
1296
1080
  "nextjs-expert": {
1297
1081
  "tier": 3,
1298
- "role": "specialist",
1299
1082
  "title": "Next.js Development Specialist",
1083
+ "group": "frontend",
1084
+ "active_phases": [
1085
+ "uiux",
1086
+ "tasks",
1087
+ "implement"
1088
+ ],
1089
+ "reports_to": "ui-designer",
1300
1090
  "domains": [
1301
1091
  "frontend-nextjs"
1302
1092
  ],
@@ -1318,25 +1108,9 @@
1318
1108
  "neon",
1319
1109
  "planetscale"
1320
1110
  ],
1321
- "always_active": false,
1322
1111
  "validators": [
1323
1112
  "nextjs-component"
1324
1113
  ],
1325
- "relationships": {
1326
- "reports_to": "ui-designer",
1327
- "coordinates": [],
1328
- "escalates_to": "standards-architect",
1329
- "collaborates_with": [
1330
- "api-designer",
1331
- "css-specialist"
1332
- ],
1333
- "team_role": "specialist",
1334
- "active_phases": [
1335
- "uiux",
1336
- "tasks",
1337
- "implement"
1338
- ]
1339
- },
1340
1114
  "standards": [
1341
1115
  {
1342
1116
  "id": "core-coding",
@@ -1407,8 +1181,12 @@
1407
1181
  },
1408
1182
  "css-specialist": {
1409
1183
  "tier": 3,
1410
- "role": "specialist",
1411
1184
  "title": "CSS & Design System Specialist",
1185
+ "group": "frontend",
1186
+ "active_phases": [
1187
+ "implement"
1188
+ ],
1189
+ "reports_to": "ui-designer",
1412
1190
  "domains": [
1413
1191
  "frontend-css"
1414
1192
  ],
@@ -1420,25 +1198,11 @@
1420
1198
  "design tokens",
1421
1199
  "palette"
1422
1200
  ],
1423
- "always_active": false,
1424
1201
  "validators": [
1425
1202
  "css",
1426
1203
  "contrast",
1427
1204
  "design-system"
1428
1205
  ],
1429
- "relationships": {
1430
- "reports_to": "ui-designer",
1431
- "coordinates": [],
1432
- "escalates_to": "ui-designer",
1433
- "collaborates_with": [
1434
- "blazor-builder",
1435
- "nextjs-expert"
1436
- ],
1437
- "team_role": "specialist",
1438
- "active_phases": [
1439
- "implement"
1440
- ]
1441
- },
1442
1206
  "standards": [
1443
1207
  {
1444
1208
  "id": "frontend-design-system-naming",
@@ -1457,11 +1221,49 @@
1457
1221
  "spawn_prompt": "You are the CSS & Design System Specialist (FASE 5 only). Validate CSS follows design system (no off-palette colors), review naming conventions (BEM), ensure no inline styles with hardcoded values. Run design-system, css, contrast validators."
1458
1222
  }
1459
1223
  },
1460
- "_comment_tier_3_infra": "=== TIER 3: INFRASTRUCTURE SPECIALISTS (6) ===",
1224
+ "seo-growth-hacker": {
1225
+ "tier": 3,
1226
+ "title": "SEO & Growth Specialist",
1227
+ "group": "frontend",
1228
+ "active_phases": [
1229
+ "implement"
1230
+ ],
1231
+ "reports_to": "ui-designer",
1232
+ "domains": [
1233
+ "seo"
1234
+ ],
1235
+ "keywords": [
1236
+ "seo",
1237
+ "landing page",
1238
+ "meta tags",
1239
+ "core web vitals",
1240
+ "schema markup",
1241
+ "organic traffic",
1242
+ "content marketing"
1243
+ ],
1244
+ "validators": [],
1245
+ "standards": [
1246
+ {
1247
+ "id": "core-coding",
1248
+ "scope": "all",
1249
+ "priority": "required"
1250
+ }
1251
+ ],
1252
+ "teammate": {
1253
+ "role": "SEO & Growth Specialist",
1254
+ "icon": "📈",
1255
+ "spawn_prompt": "You are the SEO & Growth Specialist (tier-3). Audit technical SEO (Core Web Vitals, meta tags, schema markup JSON-LD), optimize content for search engines, implement structured data (Product, Article, FAQ, HowTo, Organization). Focus on Next.js/Blazor page optimization, Lighthouse scores, and organic traffic growth."
1256
+ }
1257
+ },
1461
1258
  "bicep-architect": {
1462
1259
  "tier": 3,
1463
- "role": "specialist",
1464
1260
  "title": "Infrastructure as Code Specialist",
1261
+ "group": "infra",
1262
+ "active_phases": [
1263
+ "design",
1264
+ "implement"
1265
+ ],
1266
+ "reports_to": "azure-architect",
1465
1267
  "domains": [
1466
1268
  "infrastructure-iac"
1467
1269
  ],
@@ -1473,24 +1275,9 @@
1473
1275
  "arm template",
1474
1276
  "infrastructure as code"
1475
1277
  ],
1476
- "always_active": false,
1477
1278
  "validators": [
1478
1279
  "architecture"
1479
1280
  ],
1480
- "relationships": {
1481
- "reports_to": "azure-architect",
1482
- "coordinates": [],
1483
- "escalates_to": "azure-architect",
1484
- "collaborates_with": [
1485
- "devops-engineer",
1486
- "container-specialist"
1487
- ],
1488
- "team_role": "specialist",
1489
- "active_phases": [
1490
- "design",
1491
- "implement"
1492
- ]
1493
- },
1494
1281
  "standards": [
1495
1282
  {
1496
1283
  "id": "core-coding",
@@ -1511,13 +1298,17 @@
1511
1298
  "teammate": {
1512
1299
  "role": "Infrastructure as Code Specialist",
1513
1300
  "icon": "📜",
1514
- "spawn_prompt": "You are the Infrastructure as Code Specialist (Bicep). Write main.bicep, modules/*.bicep, parameters.{env}.json. Never create Azure resources manually. Collaborate with azure-architect for resource design, devops-engineer for CI/CD integration."
1301
+ "spawn_prompt": "You are the Infrastructure as Code Specialist (Bicep). Write main.bicep, modules/*.bicep, parameters.{env}.json. Never create Azure resources manually. Also handles Azure Container Apps deployment: env var mapping (config:path → DOUBLE__UNDERSCORE), what-if validation before deploy, Blazor Server sticky sessions, rollback via revision activation, and cost validation."
1515
1302
  }
1516
1303
  },
1517
1304
  "devops-engineer": {
1518
1305
  "tier": 3,
1519
- "role": "specialist",
1520
1306
  "title": "CI/CD Specialist",
1307
+ "group": "infra",
1308
+ "active_phases": [
1309
+ "implement"
1310
+ ],
1311
+ "reports_to": "infra-architect",
1521
1312
  "domains": [
1522
1313
  "infrastructure-cicd"
1523
1314
  ],
@@ -1530,21 +1321,7 @@
1530
1321
  "azure pipelines",
1531
1322
  "deployment"
1532
1323
  ],
1533
- "always_active": false,
1534
1324
  "validators": [],
1535
- "relationships": {
1536
- "reports_to": "infra-architect",
1537
- "coordinates": [],
1538
- "escalates_to": "infra-architect",
1539
- "collaborates_with": [
1540
- "bicep-architect",
1541
- "container-specialist"
1542
- ],
1543
- "team_role": "specialist",
1544
- "active_phases": [
1545
- "implement"
1546
- ]
1547
- },
1548
1325
  "standards": [
1549
1326
  {
1550
1327
  "id": "core-coding",
@@ -1565,8 +1342,12 @@
1565
1342
  },
1566
1343
  "container-specialist": {
1567
1344
  "tier": 3,
1568
- "role": "specialist",
1569
1345
  "title": "Containerization Specialist",
1346
+ "group": "infra",
1347
+ "active_phases": [
1348
+ "implement"
1349
+ ],
1350
+ "reports_to": "infra-architect",
1570
1351
  "domains": [
1571
1352
  "infrastructure-containers"
1572
1353
  ],
@@ -1578,21 +1359,7 @@
1578
1359
  "multi-stage",
1579
1360
  "container apps"
1580
1361
  ],
1581
- "always_active": false,
1582
1362
  "validators": [],
1583
- "relationships": {
1584
- "reports_to": "infra-architect",
1585
- "coordinates": [],
1586
- "escalates_to": "infra-architect",
1587
- "collaborates_with": [
1588
- "bicep-architect",
1589
- "devops-engineer"
1590
- ],
1591
- "team_role": "specialist",
1592
- "active_phases": [
1593
- "implement"
1594
- ]
1595
- },
1596
1363
  "standards": [
1597
1364
  {
1598
1365
  "id": "core-coding",
@@ -1613,8 +1380,12 @@
1613
1380
  },
1614
1381
  "observability-expert": {
1615
1382
  "tier": 3,
1616
- "role": "specialist",
1617
1383
  "title": "Observability Specialist",
1384
+ "group": "infra",
1385
+ "active_phases": [
1386
+ "implement"
1387
+ ],
1388
+ "reports_to": "infra-architect",
1618
1389
  "domains": [
1619
1390
  "infrastructure-observability"
1620
1391
  ],
@@ -1629,23 +1400,9 @@
1629
1400
  "dashboards",
1630
1401
  "alerts"
1631
1402
  ],
1632
- "always_active": false,
1633
1403
  "validators": [
1634
1404
  "observability"
1635
1405
  ],
1636
- "relationships": {
1637
- "reports_to": "infra-architect",
1638
- "coordinates": [],
1639
- "escalates_to": "infra-architect",
1640
- "collaborates_with": [
1641
- "dotnet-senior",
1642
- "ms-agent-expert"
1643
- ],
1644
- "team_role": "specialist",
1645
- "active_phases": [
1646
- "implement"
1647
- ]
1648
- },
1649
1406
  "standards": [
1650
1407
  {
1651
1408
  "id": "core-coding",
@@ -1666,8 +1423,13 @@
1666
1423
  },
1667
1424
  "azure-identity": {
1668
1425
  "tier": 3,
1669
- "role": "specialist",
1670
1426
  "title": "Microsoft Identity Specialist",
1427
+ "group": "infra",
1428
+ "active_phases": [
1429
+ "design",
1430
+ "implement"
1431
+ ],
1432
+ "reports_to": "infra-architect",
1671
1433
  "domains": [
1672
1434
  "infrastructure-identity"
1673
1435
  ],
@@ -1681,23 +1443,7 @@
1681
1443
  "webauthn",
1682
1444
  "managed identity"
1683
1445
  ],
1684
- "always_active": false,
1685
1446
  "validators": [],
1686
- "relationships": {
1687
- "reports_to": "infra-architect",
1688
- "coordinates": [],
1689
- "escalates_to": "infra-architect",
1690
- "collaborates_with": [
1691
- "blazor-builder",
1692
- "nextjs-expert",
1693
- "clerk-auth"
1694
- ],
1695
- "team_role": "specialist",
1696
- "active_phases": [
1697
- "design",
1698
- "implement"
1699
- ]
1700
- },
1701
1447
  "standards": [
1702
1448
  {
1703
1449
  "id": "core-coding",
@@ -1713,14 +1459,17 @@
1713
1459
  "teammate": {
1714
1460
  "role": "Microsoft Identity Specialist",
1715
1461
  "icon": "🔑",
1716
- "spawn_prompt": "You are the Microsoft Identity Specialist. Implement Azure AD B2C, Entra External ID, Managed Identity for Azure resources. Add WebAuthn/Passkeys support (FIDO2 registration/authentication flows). Collaborate with frontend specialists for UI integration."
1462
+ "spawn_prompt": "You are the Microsoft Identity Specialist. Implement Azure AD B2C, Entra External ID, Managed Identity for Azure resources. Add WebAuthn/Passkeys support (FIDO2 registration/authentication flows)."
1717
1463
  }
1718
1464
  },
1719
- "_comment_tier_3_quality": "=== TIER 3: QUALITY SPECIALISTS (6) ===",
1720
1465
  "testing-specialist": {
1721
1466
  "tier": 3,
1722
- "role": "specialist",
1723
1467
  "title": "Testing Specialist",
1468
+ "group": "testing",
1469
+ "active_phases": [
1470
+ "implement"
1471
+ ],
1472
+ "reports_to": "standards-architect",
1724
1473
  "domains": [
1725
1474
  "quality-testing"
1726
1475
  ],
@@ -1735,22 +1484,7 @@
1735
1484
  "testcontainers",
1736
1485
  "bunit"
1737
1486
  ],
1738
- "always_active": false,
1739
1487
  "validators": [],
1740
- "relationships": {
1741
- "reports_to": "standards-architect",
1742
- "coordinates": [],
1743
- "escalates_to": "standards-architect",
1744
- "collaborates_with": [
1745
- "dotnet-senior",
1746
- "blazor-builder",
1747
- "nextjs-expert"
1748
- ],
1749
- "team_role": "specialist",
1750
- "active_phases": [
1751
- "implement"
1752
- ]
1753
- },
1754
1488
  "standards": [
1755
1489
  {
1756
1490
  "id": "core-coding",
@@ -1771,8 +1505,12 @@
1771
1505
  },
1772
1506
  "code-analyzer": {
1773
1507
  "tier": 3,
1774
- "role": "specialist",
1775
1508
  "title": "Code Quality Analyst",
1509
+ "group": "testing",
1510
+ "active_phases": [
1511
+ "implement"
1512
+ ],
1513
+ "reports_to": "standards-architect",
1776
1514
  "domains": [
1777
1515
  "quality-review"
1778
1516
  ],
@@ -1786,21 +1524,7 @@
1786
1524
  "solid",
1787
1525
  "architecture review"
1788
1526
  ],
1789
- "always_active": false,
1790
1527
  "validators": [],
1791
- "relationships": {
1792
- "reports_to": "standards-architect",
1793
- "coordinates": [],
1794
- "escalates_to": "standards-architect",
1795
- "collaborates_with": [
1796
- "dotnet-senior",
1797
- "troubleshooting-expert"
1798
- ],
1799
- "team_role": "specialist",
1800
- "active_phases": [
1801
- "implement"
1802
- ]
1803
- },
1804
1528
  "standards": [
1805
1529
  {
1806
1530
  "id": "core-coding",
@@ -1821,8 +1545,12 @@
1821
1545
  },
1822
1546
  "troubleshooting-expert": {
1823
1547
  "tier": 3,
1824
- "role": "specialist",
1825
1548
  "title": "Troubleshooting & Debug Expert",
1549
+ "group": "support",
1550
+ "active_phases": [
1551
+ "implement"
1552
+ ],
1553
+ "reports_to": "standards-architect",
1826
1554
  "domains": [
1827
1555
  "quality-debug"
1828
1556
  ],
@@ -1834,22 +1562,7 @@
1834
1562
  "investigate",
1835
1563
  "diagnose"
1836
1564
  ],
1837
- "always_active": false,
1838
1565
  "validators": [],
1839
- "relationships": {
1840
- "reports_to": "standards-architect",
1841
- "coordinates": [],
1842
- "escalates_to": "standards-architect",
1843
- "collaborates_with": [
1844
- "code-analyzer",
1845
- "testing-specialist"
1846
- ],
1847
- "team_role": "escalation_specialist",
1848
- "spawn_trigger": "escalation_after_3_failures",
1849
- "active_phases": [
1850
- "implement"
1851
- ]
1852
- },
1853
1566
  "standards": [
1854
1567
  {
1855
1568
  "id": "core-coding",
@@ -1870,8 +1583,12 @@
1870
1583
  },
1871
1584
  "load-testing-expert": {
1872
1585
  "tier": 3,
1873
- "role": "specialist",
1874
1586
  "title": "Load Testing & Performance Specialist",
1587
+ "group": "testing",
1588
+ "active_phases": [
1589
+ "implement"
1590
+ ],
1591
+ "reports_to": "standards-architect",
1875
1592
  "domains": [
1876
1593
  "quality-performance"
1877
1594
  ],
@@ -1886,23 +1603,9 @@
1886
1603
  "scalability",
1887
1604
  "concurrent users"
1888
1605
  ],
1889
- "always_active": false,
1890
1606
  "validators": [
1891
1607
  "performance"
1892
1608
  ],
1893
- "relationships": {
1894
- "reports_to": "standards-architect",
1895
- "coordinates": [],
1896
- "escalates_to": "standards-architect",
1897
- "collaborates_with": [
1898
- "infra-architect",
1899
- "observability-expert"
1900
- ],
1901
- "team_role": "specialist",
1902
- "active_phases": [
1903
- "implement"
1904
- ]
1905
- },
1906
1609
  "standards": [
1907
1610
  {
1908
1611
  "id": "core-coding",
@@ -1918,13 +1621,17 @@
1918
1621
  "teammate": {
1919
1622
  "role": "Load Testing Specialist",
1920
1623
  "icon": "📈",
1921
- "spawn_prompt": "You are the Load Testing Specialist. Write k6 scripts (stress test, spike test, soak test), JMeter test plans. Analyze bottlenecks (DB, CPU, memory). Recommend capacity planning (how many users system supports). Collaborate with observability-expert for metrics."
1624
+ "spawn_prompt": "You are the Load Testing Specialist. Write k6 scripts (stress test, spike test, soak test), JMeter test plans. Analyze bottlenecks (DB, CPU, memory). Recommend capacity planning (how many users system supports)."
1922
1625
  }
1923
1626
  },
1924
1627
  "documentation-specialist": {
1925
1628
  "tier": 3,
1926
- "role": "specialist",
1927
1629
  "title": "Documentation Specialist",
1630
+ "group": "docs",
1631
+ "active_phases": [
1632
+ "implement"
1633
+ ],
1634
+ "reports_to": "standards-architect",
1928
1635
  "domains": [
1929
1636
  "developer-experience-docs"
1930
1637
  ],
@@ -1936,22 +1643,7 @@
1936
1643
  "deployment guide",
1937
1644
  "onboarding"
1938
1645
  ],
1939
- "always_active": false,
1940
1646
  "validators": [],
1941
- "relationships": {
1942
- "reports_to": "standards-architect",
1943
- "coordinates": [],
1944
- "escalates_to": "standards-architect",
1945
- "collaborates_with": [
1946
- "api-designer",
1947
- "devops-engineer"
1948
- ],
1949
- "team_role": "post_implementation",
1950
- "spawn_trigger": "post_fase_5",
1951
- "active_phases": [
1952
- "implement"
1953
- ]
1954
- },
1955
1647
  "standards": [
1956
1648
  {
1957
1649
  "id": "core-coding",
@@ -1972,8 +1664,12 @@
1972
1664
  },
1973
1665
  "vsa-architect": {
1974
1666
  "tier": 3,
1975
- "role": "specialist",
1976
1667
  "title": "Vertical Slice Architecture Specialist",
1668
+ "group": "domain-analysis",
1669
+ "active_phases": [
1670
+ "design",
1671
+ "implement"
1672
+ ],
1977
1673
  "domains": [
1978
1674
  "architecture",
1979
1675
  "backend"
@@ -1990,11 +1686,6 @@
1990
1686
  "scrutor",
1991
1687
  "vertical slice architecture"
1992
1688
  ],
1993
- "always_active": false,
1994
- "active_phases": [
1995
- "design",
1996
- "implement"
1997
- ],
1998
1689
  "standards": [
1999
1690
  {
2000
1691
  "id": "core-coding",
@@ -2013,11 +1704,15 @@
2013
1704
  "spawn_prompt": "Você é o VSA Specialist. Analise a proposta e produza um VSA Blueprint:\n1. ENTITY FIELDS: todos os campos com tipos C# corretos (sem AggregateRoot, sem Value Objects)\n2. OPERATIONS: slices necessários (Create, GetAll, GetById, Update, Delete + operações customizadas)\n3. ROUTES: HTTP method + rota por operação (ex: POST /api/products, GET /api/products/{id:guid})\n4. ERROR TYPES: Error factory methods para {Entity}Errors (apenas NotFound e casos específicos)\n5. VALIDATION RULES: regras FluentValidation por campo por operação\n\nNão use AggregateRoot, DomainEvent, CQRS formal, MediatR, Application Service layer.\nCada operação é um slice autônomo: Request + Response + Handler + Validator + Endpoint.\nRef: framework/standards/architecture/vertical-slice/vertical-slice.md"
2014
1705
  }
2015
1706
  },
2016
- "_comment_tier_3_nodejs": "=== TIER 3: NODEJS/CLI SPECIALISTS (2) ===",
2017
1707
  "morph-spec-architect": {
2018
1708
  "tier": 3,
2019
- "role": "specialist",
2020
1709
  "title": "Morph-Spec Architect",
1710
+ "group": "domain-analysis",
1711
+ "active_phases": [
1712
+ "design",
1713
+ "tasks"
1714
+ ],
1715
+ "reports_to": "feature-lead",
2021
1716
  "domains": [
2022
1717
  "cli",
2023
1718
  "framework-design",
@@ -2032,25 +1727,7 @@
2032
1727
  "plugin",
2033
1728
  "hook design"
2034
1729
  ],
2035
- "negativeKeywords": [
2036
- "blazor",
2037
- "dotnet",
2038
- "react",
2039
- "frontend"
2040
- ],
2041
- "always_active": false,
2042
1730
  "validators": [],
2043
- "relationships": {
2044
- "reports_to": "feature-lead",
2045
- "coordinates": [
2046
- "nodejs-cli-expert",
2047
- "morph-spec-validator"
2048
- ],
2049
- "active_phases": [
2050
- "design",
2051
- "tasks"
2052
- ]
2053
- },
2054
1731
  "standards": [],
2055
1732
  "teammate": {
2056
1733
  "role": "specialist",
@@ -2060,8 +1737,12 @@
2060
1737
  },
2061
1738
  "nodejs-cli-expert": {
2062
1739
  "tier": 3,
2063
- "role": "specialist",
2064
1740
  "title": "Node.js CLI Expert",
1741
+ "group": "testing",
1742
+ "active_phases": [
1743
+ "implement"
1744
+ ],
1745
+ "reports_to": "feature-lead",
2065
1746
  "domains": [
2066
1747
  "nodejs",
2067
1748
  "cli",
@@ -2078,24 +1759,7 @@
2078
1759
  "cli command",
2079
1760
  "morph-spec implementation"
2080
1761
  ],
2081
- "negativeKeywords": [
2082
- "blazor",
2083
- "dotnet",
2084
- "react",
2085
- "typescript"
2086
- ],
2087
- "always_active": false,
2088
1762
  "validators": [],
2089
- "relationships": {
2090
- "reports_to": "feature-lead",
2091
- "coordinates": [
2092
- "morph-spec-architect"
2093
- ],
2094
- "escalates_to": "morph-spec-validator",
2095
- "active_phases": [
2096
- "implement"
2097
- ]
2098
- },
2099
1763
  "standards": [],
2100
1764
  "teammate": {
2101
1765
  "role": "specialist",
@@ -2103,11 +1767,14 @@
2103
1767
  "spawn_prompt": "You are the Node.js CLI Expert for the morph-spec-framework. You implement features in Node.js ESM following the project's conventions: (1) All imports use ESM syntax with .js extensions on relative paths; (2) Commands are registered in bin/morph-spec.js after being defined in src/commands/<domain>/<command>.js; (3) Tests use native node:test runner with mock.fn() for mocking — no external test libraries; (4) Error handling: hooks are fail-open (catch+exit 0), CLI commands exit(1) on fatal errors; (5) Never use require() or module.exports. When implementing a feature, always write the tests alongside the implementation. The test command is: node --test --test-concurrency=1"
2104
1768
  }
2105
1769
  },
2106
- "_comment_tier_4": "=== TIER 4: VALIDATORS (6) ===",
2107
1770
  "security-expert": {
2108
1771
  "tier": 4,
2109
- "role": "validator",
2110
1772
  "title": "Security Validator",
1773
+ "group": "testing",
1774
+ "active_phases": [
1775
+ "*"
1776
+ ],
1777
+ "reports_to": "standards-architect",
2111
1778
  "domains": [
2112
1779
  "security"
2113
1780
  ],
@@ -2120,20 +1787,9 @@
2120
1787
  "csrf",
2121
1788
  "insecure deserialization"
2122
1789
  ],
2123
- "always_active": true,
2124
1790
  "validators": [
2125
1791
  "security"
2126
1792
  ],
2127
- "relationships": {
2128
- "reports_to": "standards-architect",
2129
- "coordinates": [],
2130
- "runs_in": "hooks",
2131
- "hook_triggers": [
2132
- "TeammateIdle",
2133
- "TaskCompleted"
2134
- ],
2135
- "team_role": "validator"
2136
- },
2137
1793
  "standards": [
2138
1794
  {
2139
1795
  "id": "core-coding",
@@ -2165,8 +1821,12 @@
2165
1821
  },
2166
1822
  "architecture-expert": {
2167
1823
  "tier": 4,
2168
- "role": "validator",
2169
1824
  "title": "Architecture Validator",
1825
+ "group": "domain-analysis",
1826
+ "active_phases": [
1827
+ "*"
1828
+ ],
1829
+ "reports_to": "standards-architect",
2170
1830
  "domains": [
2171
1831
  "architecture"
2172
1832
  ],
@@ -2176,20 +1836,9 @@
2176
1836
  "solid",
2177
1837
  "dependency injection"
2178
1838
  ],
2179
- "always_active": true,
2180
1839
  "validators": [
2181
1840
  "architecture"
2182
1841
  ],
2183
- "relationships": {
2184
- "reports_to": "standards-architect",
2185
- "coordinates": [],
2186
- "runs_in": "hooks",
2187
- "hook_triggers": [
2188
- "TeammateIdle",
2189
- "TaskCompleted"
2190
- ],
2191
- "team_role": "validator"
2192
- },
2193
1842
  "standards": [
2194
1843
  {
2195
1844
  "id": "core-coding",
@@ -2220,8 +1869,12 @@
2220
1869
  },
2221
1870
  "packages-validator": {
2222
1871
  "tier": 4,
2223
- "role": "validator",
2224
1872
  "title": "Packages Validator",
1873
+ "group": "testing",
1874
+ "active_phases": [
1875
+ "*"
1876
+ ],
1877
+ "reports_to": "standards-architect",
2225
1878
  "domains": [
2226
1879
  "packages"
2227
1880
  ],
@@ -2231,19 +1884,9 @@
2231
1884
  "dependencies",
2232
1885
  "version conflict"
2233
1886
  ],
2234
- "always_active": true,
2235
1887
  "validators": [
2236
1888
  "packages"
2237
1889
  ],
2238
- "relationships": {
2239
- "reports_to": "standards-architect",
2240
- "coordinates": [],
2241
- "runs_in": "hooks",
2242
- "hook_triggers": [
2243
- "TaskCompleted"
2244
- ],
2245
- "team_role": "validator"
2246
- },
2247
1890
  "standards": [
2248
1891
  {
2249
1892
  "id": "core-coding",
@@ -2268,8 +1911,12 @@
2268
1911
  },
2269
1912
  "design-system-validator": {
2270
1913
  "tier": 4,
2271
- "role": "validator",
2272
1914
  "title": "Design System Validator",
1915
+ "group": "frontend",
1916
+ "active_phases": [
1917
+ "*"
1918
+ ],
1919
+ "reports_to": "ui-designer",
2273
1920
  "domains": [
2274
1921
  "design-system"
2275
1922
  ],
@@ -2279,19 +1926,9 @@
2279
1926
  "color palette",
2280
1927
  "spacing"
2281
1928
  ],
2282
- "always_active": true,
2283
1929
  "validators": [
2284
1930
  "design-system"
2285
1931
  ],
2286
- "relationships": {
2287
- "reports_to": "ui-designer",
2288
- "coordinates": [],
2289
- "runs_in": "hooks",
2290
- "hook_triggers": [
2291
- "TeammateIdle"
2292
- ],
2293
- "team_role": "validator"
2294
- },
2295
1932
  "standards": [
2296
1933
  {
2297
1934
  "id": "frontend-design-system-naming",
@@ -2322,9 +1959,12 @@
2322
1959
  },
2323
1960
  "blazor-concurrency-validator": {
2324
1961
  "tier": 4,
2325
- "role": "validator",
2326
1962
  "title": "Blazor Concurrency Validator",
2327
- "stacks": ["blazor"],
1963
+ "group": "frontend",
1964
+ "active_phases": [
1965
+ "implement"
1966
+ ],
1967
+ "reports_to": "blazor-builder",
2328
1968
  "domains": [
2329
1969
  "blazor-concurrency"
2330
1970
  ],
@@ -2335,19 +1975,9 @@
2335
1975
  "async",
2336
1976
  "concurrency"
2337
1977
  ],
2338
- "always_active": false,
2339
1978
  "validators": [
2340
1979
  "blazor-concurrency"
2341
1980
  ],
2342
- "relationships": {
2343
- "reports_to": "blazor-builder",
2344
- "coordinates": [],
2345
- "runs_in": "hooks",
2346
- "hook_triggers": [
2347
- "TaskCompleted"
2348
- ],
2349
- "team_role": "validator"
2350
- },
2351
1981
  "standards": [
2352
1982
  {
2353
1983
  "id": "frontend-blazor-lifecycle",
@@ -2365,6 +1995,9 @@
2365
1995
  "priority": "required"
2366
1996
  }
2367
1997
  ],
1998
+ "stacks": [
1999
+ "blazor"
2000
+ ],
2368
2001
  "teammate": {
2369
2002
  "icon": "⚡",
2370
2003
  "role": "Blazor Concurrency Validator (read-only)",
@@ -2383,8 +2016,13 @@
2383
2016
  },
2384
2017
  "morph-spec-validator": {
2385
2018
  "tier": 4,
2386
- "role": "validator",
2387
2019
  "title": "Morph-Spec Validator",
2020
+ "group": "testing",
2021
+ "active_phases": [
2022
+ "implement",
2023
+ "validate"
2024
+ ],
2025
+ "reports_to": "qa-lead",
2388
2026
  "domains": [
2389
2027
  "nodejs",
2390
2028
  "cli",
@@ -2396,18 +2034,9 @@
2396
2034
  "node.js validation",
2397
2035
  "cli test"
2398
2036
  ],
2399
- "always_active": false,
2400
2037
  "validators": [
2401
2038
  "morph-spec-standards"
2402
2039
  ],
2403
- "relationships": {
2404
- "reports_to": "qa-lead",
2405
- "runs_in": "post-implement",
2406
- "active_phases": [
2407
- "implement",
2408
- "validate"
2409
- ]
2410
- },
2411
2040
  "standards": [],
2412
2041
  "teammate": {
2413
2042
  "icon": "🔬",
@@ -2431,9 +2060,11 @@
2431
2060
  },
2432
2061
  "nextjs-component-validator": {
2433
2062
  "tier": 4,
2434
- "stacks": ["nextjs"],
2435
2063
  "title": "Next.js Component Validator",
2436
- "description": "Tier-4 validator for Next.js Server/Client component patterns",
2064
+ "group": "frontend",
2065
+ "active_phases": [
2066
+ "implement"
2067
+ ],
2437
2068
  "keywords": [
2438
2069
  "nextjs",
2439
2070
  "tsx",
@@ -2444,7 +2075,14 @@
2444
2075
  "validators": [
2445
2076
  "nextjs-component"
2446
2077
  ],
2447
- "always_active": false,
2078
+ "stacks": [
2079
+ "nextjs"
2080
+ ],
2081
+ "teammate": {
2082
+ "icon": "⚛️",
2083
+ "role": "Next.js Component Validator (read-only)",
2084
+ "spawn_prompt": "You are the Next.js Component Validator (Tier 4, READ-ONLY). Scan all .tsx/.ts files under src/ and validate:\n\n1. \"use client\" directive — must be present when React hooks (useState, useEffect, etc.) are used\n2. Server Components — \"use client\" must be absent for pure Server Components (no hooks, no event handlers)\n3. File naming — component files must use kebab-case naming convention\n4. Import patterns — client components should not import server-only modules\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"message\": string, \"suggestion\": string, \"severity\": \"warning\" }] }"
2085
+ },
2448
2086
  "hook_behavior": {
2449
2087
  "severity": "warning",
2450
2088
  "blocks_on_fail": false,
@@ -2453,11 +2091,6 @@
2453
2091
  "hook usage",
2454
2092
  "file naming"
2455
2093
  ]
2456
- },
2457
- "teammate": {
2458
- "icon": "⚛️",
2459
- "role": "Next.js Component Validator (read-only)",
2460
- "spawn_prompt": "You are the Next.js Component Validator (Tier 4, READ-ONLY). Scan all .tsx/.ts files under src/ and validate:\n\n1. \"use client\" directive — must be present when React hooks (useState, useEffect, etc.) are used\n2. Server Components — \"use client\" must be absent for pure Server Components (no hooks, no event handlers)\n3. File naming — component files must use kebab-case naming convention\n4. Import patterns — client components should not import server-only modules\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"message\": string, \"suggestion\": string, \"severity\": \"warning\" }] }"
2461
2094
  }
2462
2095
  }
2463
2096
  },
@@ -2474,6 +2107,7 @@
2474
2107
  "supabase-expert",
2475
2108
  "vector-search-expert",
2476
2109
  "context-optimizer",
2110
+ "prompt-engineer",
2477
2111
  "asaas-financial",
2478
2112
  "clerk-auth",
2479
2113
  "resend-email"
@@ -2500,13 +2134,15 @@
2500
2134
  "members": [
2501
2135
  "blazor-builder",
2502
2136
  "nextjs-expert",
2503
- "css-specialist"
2137
+ "css-specialist",
2138
+ "seo-growth-hacker"
2504
2139
  ],
2505
2140
  "domains": [
2506
2141
  "frontend-design",
2507
2142
  "frontend-blazor",
2508
2143
  "frontend-nextjs",
2509
- "frontend-css"
2144
+ "frontend-css",
2145
+ "seo"
2510
2146
  ],
2511
2147
  "active_phases": {
2512
2148
  "design": [
@@ -2515,7 +2151,8 @@
2515
2151
  "implement": [
2516
2152
  "blazor-builder",
2517
2153
  "nextjs-expert",
2518
- "css-specialist"
2154
+ "css-specialist",
2155
+ "seo-growth-hacker"
2519
2156
  ]
2520
2157
  }
2521
2158
  },