@polymorphism-tech/morph-spec 4.12.0 → 4.13.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 (314) hide show
  1. package/README.md +21 -29
  2. package/bin/morph-spec.js +41 -24
  3. package/bin/task-manager.js +962 -1341
  4. package/bin/validate.js +1 -1
  5. package/claude-plugin.json +1 -1
  6. package/docs/CHEATSHEET.md +10 -11
  7. package/docs/QUICKSTART.md +15 -15
  8. package/framework/CLAUDE.md +5 -2
  9. package/framework/agents/README.md +3 -4
  10. package/framework/agents/ai-agents/ai-system-architect.md +6 -10
  11. package/framework/agents/architecture/seo-growth-hacker.md +166 -326
  12. package/framework/agents/architecture/standards-architect.md +21 -31
  13. package/framework/agents/backend/dotnet-senior.md +160 -86
  14. package/framework/agents/backend/ef-modeler.md +2 -6
  15. package/framework/agents/backend/hangfire-orchestrator.md +8 -9
  16. package/framework/agents/backend/ms-agent-expert.md +1 -1
  17. package/framework/agents/frontend/nextjs-expert.md +198 -133
  18. package/framework/agents/frontend/ui-ux-designer.md +226 -267
  19. package/framework/agents/infrastructure/infra-architect.md +191 -27
  20. package/framework/agents/integrations/clerk-auth.md +19 -26
  21. package/framework/agents/integrations/hangfire-integration.md +1 -4
  22. package/framework/agents.json +215 -1453
  23. package/framework/commands/morph-apply.md +4 -4
  24. package/framework/commands/morph-preflight.md +4 -26
  25. package/framework/commands/morph-proposal.md +19 -19
  26. package/framework/commands/morph-status.md +2 -2
  27. package/framework/commands/morph-troubleshoot.md +6 -13
  28. package/framework/hooks/README.md +1 -6
  29. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
  30. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
  31. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
  32. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
  33. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
  34. package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
  35. package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
  36. package/framework/hooks/claude-code/statusline.py +4 -5
  37. package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
  38. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
  39. package/framework/hooks/shared/compact-restore.js +28 -5
  40. package/framework/hooks/shared/phase-utils.js +4 -8
  41. package/framework/hooks/shared/state-reader.js +34 -3
  42. package/framework/phases.json +7 -45
  43. package/framework/rules/ai-agents-standards.md +15 -0
  44. package/framework/rules/asaas-standards.md +13 -0
  45. package/framework/rules/clerk-standards.md +13 -0
  46. package/framework/rules/csharp-standards.md +8 -4
  47. package/framework/rules/data-standards.md +18 -0
  48. package/framework/rules/dotnet-templates.md +87 -0
  49. package/framework/rules/frontend-standards.md +13 -13
  50. package/framework/rules/hangfire-standards.md +13 -0
  51. package/framework/rules/infrastructure-standards.md +27 -16
  52. package/framework/rules/morph-workflow.md +73 -13
  53. package/framework/rules/nextjs-standards.md +1 -0
  54. package/framework/rules/nextjs-templates.md +40 -0
  55. package/framework/rules/resend-standards.md +12 -0
  56. package/framework/rules/supabase-standards.md +29 -0
  57. package/framework/skills/README.md +6 -8
  58. package/framework/skills/level-0-meta/mcp-registry.json +21 -99
  59. package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
  60. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
  61. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  62. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
  63. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
  64. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
  65. package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
  66. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
  67. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
  68. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
  69. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
  70. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
  71. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
  72. package/framework/skills/level-1-workflows/README.md +1 -1
  73. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
  74. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +58 -124
  75. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
  76. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
  77. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
  78. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
  79. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
  80. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
  81. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
  82. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
  83. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +0 -2
  84. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
  85. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +57 -77
  86. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  87. package/framework/squad-templates/backend-only.json +6 -6
  88. package/framework/squad-templates/frontend-only.json +17 -8
  89. package/framework/squad-templates/full-stack.json +29 -24
  90. package/framework/standards/STANDARDS.json +1021 -2369
  91. package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
  92. package/framework/standards/backend/dotnet/result-pattern.md +213 -0
  93. package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
  94. package/framework/standards/backend/dotnet/scrutor.md +158 -0
  95. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
  96. package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
  97. package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
  98. package/framework/standards/integration/mcp/mcp-tools.md +91 -77
  99. package/framework/templates/IDE-SNIPPETS.md +2 -6
  100. package/framework/templates/README.md +709 -814
  101. package/framework/templates/REGISTRY.json +223 -762
  102. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
  103. package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
  104. package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
  105. package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
  106. package/framework/templates/code/dotnet/backend/repository.cs +148 -141
  107. package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
  108. package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
  109. package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
  110. package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
  111. package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
  112. package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
  113. package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
  114. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
  115. package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
  116. package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
  117. package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
  118. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
  119. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
  120. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
  121. package/framework/templates/code/dotnet/jobs/job.cs +21 -17
  122. package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
  123. package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
  124. package/framework/templates/code/dotnet/test.cs +192 -106
  125. package/framework/templates/context/ARCHITECTURE.md +89 -0
  126. package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
  127. package/framework/templates/context/CONTEXT.md +180 -181
  128. package/framework/templates/context/design-system.md +1 -5
  129. package/framework/templates/docs/onboarding.md +2 -3
  130. package/framework/templates/docs/proposal.md +171 -182
  131. package/framework/templates/docs/spec.md +1 -3
  132. package/framework/templates/docs/ui-components.md +0 -72
  133. package/framework/templates/examples/design-system-examples.md +4 -4
  134. package/framework/templates/feature/decisions.md +0 -66
  135. package/framework/templates/feature/recap.md +1 -2
  136. package/framework/templates/infrastructure/github/README.md +56 -593
  137. package/framework/templates/integrations/clerk-config.cs +0 -41
  138. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  139. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
  140. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
  141. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
  142. package/framework/templates/project/validate.js +2 -4
  143. package/framework/templates/ui/design-system.css +1 -1
  144. package/framework/workflows/README.md +8 -8
  145. package/framework/workflows/configs/fast-track.json +51 -0
  146. package/framework/workflows/configs/full.json +68 -0
  147. package/framework/workflows/configs/standard.json +7 -3
  148. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
  149. package/framework/workflows/docs/enforcement-pipeline.md +18 -19
  150. package/framework/workflows/docs/full-morph.md +69 -76
  151. package/framework/workflows/docs/standard.md +49 -44
  152. package/framework/workflows/docs/ui-refresh.md +1 -1
  153. package/package.json +3 -3
  154. package/src/commands/agents/dispatch-agents.js +55 -116
  155. package/src/commands/context/context-refresh.js +79 -0
  156. package/src/commands/phase/phase-reset.js +1 -1
  157. package/src/commands/project/doctor.js +10 -32
  158. package/src/commands/project/init.js +12 -0
  159. package/src/commands/project/status.js +6 -12
  160. package/src/commands/scaffold/scaffold.js +131 -0
  161. package/src/commands/scope/escalate.js +1 -1
  162. package/src/commands/state/advance-phase.js +15 -29
  163. package/src/commands/state/state.js +20 -5
  164. package/src/commands/tasks/task.js +0 -30
  165. package/src/commands/validation/validate-feature.js +3 -10
  166. package/src/core/paths/output-schema.js +12 -13
  167. package/src/core/state/phase-state-machine.js +211 -217
  168. package/src/core/state/state-manager.js +9 -9
  169. package/src/lib/agents/agents-manager.js +2 -2
  170. package/src/lib/agents/output-collector.js +1 -2
  171. package/src/lib/detectors/design-system-detector.js +4 -4
  172. package/src/lib/detectors/index.js +1 -11
  173. package/src/lib/generators/architecture-scanner.js +640 -0
  174. package/src/lib/generators/context-generator.js +3 -3
  175. package/src/lib/generators/design-system-generator.js +508 -587
  176. package/src/lib/generators/index.js +12 -10
  177. package/src/lib/generators/metadata-extractor.js +386 -387
  178. package/src/lib/generators/recap-generator.js +4 -4
  179. package/src/lib/generators/scaffold-generator.js +317 -0
  180. package/src/lib/generators/settings-generator.js +0 -1
  181. package/src/lib/phase-chain/phase-validator.js +64 -42
  182. package/src/lib/stack/stack-profile.js +2 -2
  183. package/src/lib/standards/digest-builder.js +72 -285
  184. package/src/lib/tasks/task-parser.js +11 -5
  185. package/src/lib/validators/architecture/architecture-validator.js +259 -387
  186. package/src/lib/validators/content/content-validator.js +287 -287
  187. package/src/lib/validators/css/css-validator.js +340 -352
  188. package/src/lib/validators/packages/package-validator.js +347 -360
  189. package/src/lib/validators/shared/issue-counter.js +14 -18
  190. package/src/lib/validators/validation-runner.js +3 -19
  191. package/src/scripts/setup-infra.js +1 -1
  192. package/src/utils/agents-installer.js +24 -3
  193. package/src/utils/file-copier.js +1 -0
  194. package/src/utils/hooks-installer.js +11 -19
  195. package/src/utils/skills-installer.js +178 -178
  196. package/framework/agents/architecture/prompt-engineer.md +0 -195
  197. package/framework/agents/backend/api-designer.md +0 -106
  198. package/framework/agents/frontend/blazor-builder.md +0 -229
  199. package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
  200. package/framework/agents/infrastructure/azure-architect.md +0 -150
  201. package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
  202. package/framework/agents/infrastructure/bicep-architect.md +0 -132
  203. package/framework/agents/infrastructure/container-specialist.md +0 -137
  204. package/framework/agents/infrastructure/devops-engineer.md +0 -126
  205. package/framework/agents/integrations/azure-identity.md +0 -148
  206. package/framework/agents/quality/code-analyzer.md +0 -239
  207. package/framework/agents/quality/testing-specialist.md +0 -130
  208. package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
  209. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
  210. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
  211. package/framework/index/troubleshooting-index.json +0 -184
  212. package/framework/rules/testing-standards.md +0 -14
  213. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
  214. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
  215. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
  216. package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
  217. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
  218. package/framework/standards/ai-agents/blazor-ui.md +0 -364
  219. package/framework/standards/architecture/ddd/aggregates.md +0 -120
  220. package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
  221. package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
  222. package/framework/standards/architecture/ddd/entities.md +0 -99
  223. package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
  224. package/framework/standards/architecture/ddd/value-objects.md +0 -124
  225. package/framework/standards/backend/api/minimal-api.md +0 -494
  226. package/framework/standards/backend/api/rest.md +0 -492
  227. package/framework/standards/backend/authentication/passkeys.md +0 -428
  228. package/framework/standards/backend/database/ef-core.md +0 -199
  229. package/framework/standards/backend/database/migrations.md +0 -393
  230. package/framework/standards/backend/database/repository-patterns.md +0 -528
  231. package/framework/standards/backend/dotnet/async.md +0 -366
  232. package/framework/standards/backend/dotnet/core.md +0 -117
  233. package/framework/standards/backend/dotnet/di.md +0 -439
  234. package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  235. package/framework/standards/context/analytics.md +0 -96
  236. package/framework/standards/context/bundles.md +0 -110
  237. package/framework/standards/context/priming.md +0 -78
  238. package/framework/standards/core/architecture.md +0 -185
  239. package/framework/standards/core/coding.md +0 -214
  240. package/framework/standards/core/git-branching-strategy.md +0 -403
  241. package/framework/standards/core/git.md +0 -185
  242. package/framework/standards/core/testing.md +0 -295
  243. package/framework/standards/data/nosql/blob-storage.md +0 -102
  244. package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  245. package/framework/standards/frontend/blazor/design-checklist.md +0 -222
  246. package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  247. package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  248. package/framework/standards/frontend/blazor/html-conversion.md +0 -184
  249. package/framework/standards/frontend/blazor/lifecycle.md +0 -195
  250. package/framework/standards/frontend/blazor/pitfalls.md +0 -198
  251. package/framework/standards/frontend/blazor/state.md +0 -191
  252. package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -266
  253. package/framework/standards/frontend/design-system/design-trends.md +0 -171
  254. package/framework/standards/infrastructure/azure/azure.md +0 -624
  255. package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  256. package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  257. package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  258. package/framework/standards/infrastructure/azure/services/functions.md +0 -486
  259. package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  260. package/framework/standards/infrastructure/azure/services/storage.md +0 -407
  261. package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
  262. package/framework/standards/integration/api/graphql.md +0 -91
  263. package/framework/standards/integration/api/grpc.md +0 -114
  264. package/framework/standards/integration/api/rest-design.md +0 -95
  265. package/framework/standards/integration/event-driven/cqrs.md +0 -101
  266. package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  267. package/framework/standards/integration/event-driven/service-bus.md +0 -95
  268. package/framework/standards/observability/logging.md +0 -131
  269. package/framework/standards/observability/metrics.md +0 -121
  270. package/framework/standards/observability/monitoring.md +0 -114
  271. package/framework/standards/observability/tracing.md +0 -132
  272. package/framework/standards/workflows/parallel-execution.md +0 -112
  273. package/framework/standards/workflows/thread-management.md +0 -113
  274. package/framework/templates/code/dotnet/backend/service.cs +0 -139
  275. package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  276. package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  277. package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  278. package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  279. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
  280. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
  281. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
  282. package/framework/templates/code/dotnet/frontend/component.razor +0 -239
  283. package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  284. package/framework/templates/infrastructure/azure/README.md +0 -286
  285. package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  286. package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  287. package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  288. package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  289. package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  290. package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  291. package/framework/templates/infrastructure/azure/deploy.sh +0 -208
  292. package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  293. package/framework/templates/infrastructure/azure/main.bicep +0 -189
  294. package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  295. package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  296. package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  297. package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  298. package/framework/templates/infrastructure/azure/storage.bicep +0 -106
  299. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  300. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  301. package/framework/templates/integrations/azure-identity-config.cs +0 -288
  302. package/framework/templates/project-structure/dotnet-ddd.md +0 -70
  303. package/framework/templates/saas/subscription.cs +0 -347
  304. package/framework/templates/saas/tenant.cs +0 -338
  305. package/framework/templates/ui/FluentDesignTheme.cs +0 -149
  306. package/framework/templates/ui/MudTheme.cs +0 -281
  307. package/framework/workflows/configs/nodejs-cli.json +0 -40
  308. package/src/commands/standards/context-budget.js +0 -89
  309. package/src/lib/standards/index.js +0 -7
  310. package/src/lib/standards/standards-context-injector.js +0 -302
  311. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
  312. package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
  313. package/src/lib/validators/blazor/blazor-validator.js +0 -369
  314. package/src/lib/validators/blazor/index.js +0 -9
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "$schema": "./agent-schema.json",
3
3
  "version": "4.0.0",
4
- "total_agents": 46,
4
+ "total_agents": 22,
5
5
  "tiers": {
6
- "tier_1_orchestrators": 3,
7
- "tier_2_leaders": 4,
8
- "tier_3_specialists": 31,
9
- "tier_4_validators": 7
6
+ "tier_1_orchestrators": 2,
7
+ "tier_2_leaders": 3,
8
+ "tier_3_specialists": 12,
9
+ "tier_4_validators": 5
10
10
  },
11
11
  "agents": {
12
12
  "standards-architect": {
@@ -23,23 +23,7 @@
23
23
  ],
24
24
  "keywords": [],
25
25
  "validators": [],
26
- "standards": [
27
- {
28
- "id": "core-coding",
29
- "scope": "all",
30
- "priority": "required"
31
- },
32
- {
33
- "id": "core-architecture",
34
- "scope": "all",
35
- "priority": "required"
36
- },
37
- {
38
- "id": "backend-dotnet-program-cs-checklist",
39
- "scope": "implement",
40
- "priority": "required"
41
- }
42
- ],
26
+ "standards": [],
43
27
  "teammate": {
44
28
  "role": "Team Lead (Delegate Mode)",
45
29
  "icon": "🎯",
@@ -68,16 +52,6 @@
68
52
  ],
69
53
  "validators": [],
70
54
  "standards": [
71
- {
72
- "id": "core-coding",
73
- "scope": "all",
74
- "priority": "required"
75
- },
76
- {
77
- "id": "core-architecture",
78
- "scope": "all",
79
- "priority": "required"
80
- },
81
55
  {
82
56
  "id": "ai-agents-setup",
83
57
  "scope": "all",
@@ -92,11 +66,6 @@
92
66
  "id": "ai-agents-production",
93
67
  "scope": "implement",
94
68
  "priority": "required"
95
- },
96
- {
97
- "id": "ai-agents-blazor-ui",
98
- "scope": "implement",
99
- "priority": "reference"
100
69
  }
101
70
  ],
102
71
  "teammate": {
@@ -105,43 +74,6 @@
105
74
  "spawn_prompt": "You are the AI/Agent System Architect. Design agent workflows, tool integrations, and orchestration patterns."
106
75
  }
107
76
  },
108
- "popm-advisor": {
109
- "tier": 1,
110
- "title": "Product/Project Advisor",
111
- "group": "domain-analysis",
112
- "active_phases": [
113
- "proposal",
114
- "setup",
115
- "design"
116
- ],
117
- "reports_to": "user",
118
- "domains": [
119
- "requirements",
120
- "business-value"
121
- ],
122
- "keywords": [
123
- "unclear",
124
- "requirements",
125
- "priority",
126
- "roi",
127
- "business value",
128
- "user story"
129
- ],
130
- "validators": [],
131
- "standards": [
132
- {
133
- "id": "core-coding",
134
- "scope": "all",
135
- "priority": "required"
136
- },
137
- {
138
- "id": "core-architecture",
139
- "scope": "all",
140
- "priority": "required"
141
- }
142
- ],
143
- "teammate": null
144
- },
145
77
  "dotnet-senior": {
146
78
  "tier": 2,
147
79
  "title": "Backend Squad Leader",
@@ -151,7 +83,9 @@
151
83
  ],
152
84
  "reports_to": "standards-architect",
153
85
  "domains": [
154
- "backend"
86
+ "backend",
87
+ "backend-api",
88
+ "architecture"
155
89
  ],
156
90
  "keywords": [
157
91
  "backend",
@@ -161,7 +95,28 @@
161
95
  "csharp",
162
96
  "c#",
163
97
  "web api",
164
- "minimal api"
98
+ "minimal api",
99
+ "vertical slice",
100
+ "vertical-slice",
101
+ "vsa",
102
+ "minimal apis",
103
+ "ihandler",
104
+ "result pattern",
105
+ "feature slice",
106
+ "scrutor",
107
+ "vertical slice architecture",
108
+ "scaffold",
109
+ "feature-slice",
110
+ "vsa-scaffold",
111
+ "rest",
112
+ "graphql",
113
+ "grpc",
114
+ "openapi",
115
+ "swagger",
116
+ "versioning",
117
+ "rate limiting",
118
+ "hot chocolate",
119
+ "endpoint"
165
120
  ],
166
121
  "validators": [
167
122
  "architecture",
@@ -169,34 +124,43 @@
169
124
  ],
170
125
  "standards": [
171
126
  {
172
- "id": "core-coding",
127
+ "id": "architecture-vertical-slice-vertical-slice",
173
128
  "scope": "all",
174
129
  "priority": "required"
175
130
  },
176
131
  {
177
- "id": "core-architecture",
132
+ "id": "backend-dotnet-scrutor",
133
+ "scope": "implement",
134
+ "priority": "required"
135
+ },
136
+ {
137
+ "id": "backend-dotnet-result-pattern",
178
138
  "scope": "all",
179
139
  "priority": "required"
180
140
  },
181
141
  {
182
- "id": "backend-dotnet-core",
142
+ "id": "backend-dotnet-fluent-validation-vsa",
183
143
  "scope": "implement",
184
144
  "priority": "required"
185
145
  },
186
146
  {
187
- "id": "backend-dotnet-program-cs-checklist",
147
+ "id": "backend-dotnet-scalar-ui",
188
148
  "scope": "implement",
149
+ "priority": "reference"
150
+ },
151
+ {
152
+ "id": "backend-dotnet-vsa-handler-patterns",
153
+ "scope": "all",
189
154
  "priority": "required"
190
155
  }
191
156
  ],
192
157
  "stacks": [
193
- "dotnet",
194
- "blazor"
158
+ "dotnet"
195
159
  ],
196
160
  "teammate": {
197
161
  "role": "Backend Squad Leader",
198
162
  "icon": "⚙️",
199
- "spawn_prompt": "You are the Backend Squad Leader. Coordinate backend specialists (ef-modeler, event-architect, api-designer, etc.). Assign tasks, review designs, enforce backend standards. Escalate cross-domain conflicts to standards-architect."
163
+ "spawn_prompt": "You are the Backend Squad Leader. Coordinate backend specialists (ef-modeler, hangfire-orchestrator, etc.). Assign tasks, review designs, enforce backend standards. Escalate cross-domain conflicts to standards-architect.\n\nYou also own VSA Architecture: Analyze proposals and produce VSA Blueprints:\n1. ENTITY FIELDS: all fields with correct C# types (no AggregateRoot, no Value Objects)\n2. OPERATIONS: required slices (Create, GetAll, GetById, Update, Delete + custom operations)\n3. ROUTES: HTTP method + route per operation (e.g., POST /api/products, GET /api/products/{id:guid})\n4. ERROR TYPES: Error factory methods for {Entity}Errors (only NotFound and specific cases)\n5. VALIDATION RULES: FluentValidation rules per field per operation\nEach operation is a self-contained slice: Request + Response + Handler + Validator + Endpoint.\nRef: framework/standards/architecture/vertical-slice/vertical-slice.md\n\nYou also own API Design: Design REST APIs (resource naming, HTTP verbs, status codes), GraphQL schemas with Hot Chocolate, gRPC .proto files. Add OpenAPI/Swagger annotations. Implement API versioning, rate limiting. Review with frontend specialists.\n\nReference: Read `.morph/framework/templates/code/dotnet/feature/` for VSA code patterns. Follow the templates exactly."
200
164
  }
201
165
  },
202
166
  "infra-architect": {
@@ -208,7 +172,9 @@
208
172
  ],
209
173
  "reports_to": "standards-architect",
210
174
  "domains": [
211
- "infrastructure"
175
+ "infrastructure",
176
+ "infrastructure-cicd",
177
+ "infrastructure-containers"
212
178
  ],
213
179
  "keywords": [
214
180
  "infrastructure",
@@ -224,82 +190,24 @@
224
190
  "neon",
225
191
  "planetscale",
226
192
  "serverless database",
227
- "serverless postgres"
193
+ "serverless postgres",
194
+ "docker",
195
+ "containerize",
196
+ "dockerfile",
197
+ "multi-stage",
198
+ "deploy",
199
+ "release",
200
+ "github actions"
228
201
  ],
229
202
  "validators": [],
230
- "standards": [
231
- {
232
- "id": "core-coding",
233
- "scope": "all",
234
- "priority": "required"
235
- },
236
- {
237
- "id": "core-architecture",
238
- "scope": "all",
239
- "priority": "required"
240
- },
241
- {
242
- "id": "infrastructure-vercel-database",
243
- "scope": "design",
244
- "priority": "required"
245
- }
246
- ],
203
+ "standards": [],
247
204
  "stacks": [
248
- "azure",
249
205
  "docker"
250
206
  ],
251
207
  "teammate": {
252
208
  "role": "Infrastructure Squad Leader",
253
209
  "icon": "🏗️",
254
- "spawn_prompt": "You are the Infrastructure Squad Leader. Coordinate infra specialists regardless of cloud provider (azure-architect, devops-engineer, container-specialist, observability-expert). Focus on IaC, CI/CD, containerization, cost optimization. Delegate to azure-architect for Azure-specific work. IMPORTANT: When deployment target is Vercel, ALWAYS enforce serverless database (Neon, Supabase/PgBouncer, PlanetScale) — never TCP connection pools. Escalate to standards-architect on conflicts."
255
- }
256
- },
257
- "azure-architect": {
258
- "tier": 3,
259
- "title": "Azure Infrastructure Specialist",
260
- "group": "infra",
261
- "active_phases": [
262
- "design",
263
- "implement"
264
- ],
265
- "reports_to": "infra-architect",
266
- "domains": [
267
- "infrastructure"
268
- ],
269
- "keywords": [
270
- "azure",
271
- "bicep",
272
- "arm template",
273
- "azure resources",
274
- "container apps",
275
- "azure sql",
276
- "key vault",
277
- "app insights"
278
- ],
279
- "validators": [
280
- "architecture"
281
- ],
282
- "standards": [
283
- {
284
- "id": "core-coding",
285
- "scope": "all",
286
- "priority": "required"
287
- },
288
- {
289
- "id": "core-architecture",
290
- "scope": "all",
291
- "priority": "required"
292
- },
293
- {
294
- "id": "infrastructure-azure-azure",
295
- "scope": "all",
296
- "priority": "required"
297
- }
298
- ],
299
- "teammate": {
300
- "role": "Infrastructure Squad Leader",
301
- "icon": "☁️",
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."
210
+ "spawn_prompt": "You are the Infrastructure Squad Leader. Coordinate infra work: CI/CD pipelines, containerization, cost optimization. Delegate to cloud-specific specialists as needed. IMPORTANT: When deployment target is Vercel, ALWAYS enforce serverless database (Neon, Supabase/PgBouncer, PlanetScale) — never TCP connection pools. Escalate to standards-architect on conflicts.\n\nYou also own Containerization: Write Dockerfiles (multi-stage builds), .dockerignore. Deploy to Docker/EasyPanel (scale-to-zero). Optimize image size, configure health checks.\n\nYou also own CI/CD: Build GitHub Actions workflows. Implement Blue-Green, Canary, Rolling deployment strategies. Integrate IaC deployment with container image builds.\n\nReference: Read `.morph/framework/templates/infrastructure/` for Docker/CI templates."
303
211
  }
304
212
  },
305
213
  "ui-designer": {
@@ -337,11 +245,6 @@
337
245
  "contrast"
338
246
  ],
339
247
  "standards": [
340
- {
341
- "id": "frontend-blazor-fluent-ui",
342
- "scope": "uiux",
343
- "priority": "required"
344
- },
345
248
  {
346
249
  "id": "frontend-design-system-naming",
347
250
  "scope": "all",
@@ -354,9 +257,9 @@
354
257
  }
355
258
  ],
356
259
  "teammate": {
357
- "role": "UI/UX Squad Leader (FASE 1.5)",
260
+ "role": "UI/UX Squad Leader (FASE 2)",
358
261
  "icon": "🎨",
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)."
262
+ "spawn_prompt": "You are the UI/UX Squad Leader for FASE 2. 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 shadcn/ui component selection. Enforce WCAG AA accessibility (4.5:1 contrast, focus visible, ARIA)."
360
263
  }
361
264
  },
362
265
  "ef-modeler": {
@@ -381,127 +284,100 @@
381
284
  "dbcontext"
382
285
  ],
383
286
  "validators": [
384
- "architecture",
385
- "blazor-concurrency"
386
- ],
387
- "standards": [
388
- {
389
- "id": "core-coding",
390
- "scope": "all",
391
- "priority": "required"
392
- },
393
- {
394
- "id": "backend-database-ef-core",
395
- "scope": "all",
396
- "priority": "required"
397
- },
398
- {
399
- "id": "backend-dotnet-core",
400
- "scope": "implement",
401
- "priority": "required"
402
- }
287
+ "architecture"
403
288
  ],
289
+ "standards": [],
404
290
  "teammate": {
405
291
  "role": "Data Persistence Specialist",
406
292
  "icon": "🗄️",
407
- "spawn_prompt": "You are the Data Persistence Specialist (EF Core). Focus on Models/, Migrations/, DbContext. Follow blazor-efcore.md standards. Use IDbContextFactory for background ops. Message blazor-builder when entities ready for UI binding."
293
+ "spawn_prompt": "You are the Data Persistence Specialist (EF Core). Focus on Models/, Migrations/, DbContext. Follow .NET standards. Use IDbContextFactory for background ops. Message nextjs-expert when entities ready for UI binding."
408
294
  }
409
295
  },
410
- "event-architect": {
296
+ "hangfire-orchestrator": {
411
297
  "tier": 3,
412
- "title": "Event-Driven Architecture Specialist",
298
+ "title": "Background Jobs Specialist",
413
299
  "group": "backend",
414
300
  "active_phases": [
415
- "design",
416
301
  "implement"
417
302
  ],
418
303
  "reports_to": "dotnet-senior",
419
304
  "domains": [
420
- "backend-events"
305
+ "backend-jobs"
421
306
  ],
422
307
  "keywords": [
423
- "event",
424
- "service bus",
425
- "rabbitmq",
426
- "cqrs",
427
- "event sourcing",
428
- "messaging",
429
- "pub/sub",
430
- "domain events",
431
- "saga",
432
- "real-time",
433
- "realtime",
434
- "websocket",
435
- "live updates"
308
+ "scheduled",
309
+ "job",
310
+ "background",
311
+ "cron",
312
+ "hangfire",
313
+ "recurring",
314
+ "fire and forget",
315
+ "delayed"
436
316
  ],
437
317
  "validators": [
438
- "architecture",
439
- "event-driven"
440
- ],
441
- "standards": [
442
- {
443
- "id": "core-coding",
444
- "scope": "all",
445
- "priority": "required"
446
- },
447
- {
448
- "id": "core-architecture",
449
- "scope": "all",
450
- "priority": "required"
451
- }
318
+ "architecture"
452
319
  ],
320
+ "standards": [],
453
321
  "teammate": {
454
- "role": "Event-Driven Architecture Specialist",
455
- "icon": "📨",
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."
322
+ "role": "Background Jobs Specialist",
323
+ "icon": "⏰",
324
+ "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."
457
325
  }
458
326
  },
459
- "api-designer": {
327
+ "ms-agent-expert": {
460
328
  "tier": 3,
461
- "title": "API Design Specialist",
462
- "group": "backend",
329
+ "title": "Microsoft Agent Framework Expert",
330
+ "group": "ai",
463
331
  "active_phases": [
464
332
  "design",
465
333
  "implement"
466
334
  ],
467
- "reports_to": "dotnet-senior",
335
+ "reports_to": "ai-system-architect",
468
336
  "domains": [
469
- "backend-api"
337
+ "ai-agents"
470
338
  ],
471
339
  "keywords": [
472
- "rest",
473
- "graphql",
474
- "grpc",
475
- "api",
476
- "openapi",
477
- "swagger",
478
- "versioning",
479
- "rate limiting",
480
- "hot chocolate",
481
- "endpoint"
340
+ "agent",
341
+ "ai",
342
+ "llm",
343
+ "rag",
344
+ "embedding",
345
+ "mcp",
346
+ "a2a",
347
+ "middleware",
348
+ "microsoft agent framework",
349
+ "ichatclient"
350
+ ],
351
+ "validators": [
352
+ "architecture",
353
+ "packages"
482
354
  ],
483
- "validators": [],
484
355
  "standards": [
485
356
  {
486
- "id": "core-coding",
357
+ "id": "ai-agents-setup",
487
358
  "scope": "all",
488
359
  "priority": "required"
489
360
  },
490
361
  {
491
- "id": "core-architecture",
492
- "scope": "all",
362
+ "id": "ai-agents-workflows",
363
+ "scope": "design",
364
+ "priority": "required"
365
+ },
366
+ {
367
+ "id": "ai-agents-production",
368
+ "scope": "implement",
493
369
  "priority": "required"
494
370
  }
495
371
  ],
496
372
  "teammate": {
497
- "role": "API Design Specialist",
498
- "icon": "🔌",
499
- "spawn_prompt": "You are the API Design Specialist. Design REST APIs (resource naming, HTTP verbs, status codes), GraphQL schemas with Hot Chocolate, gRPC .proto files. Add OpenAPI/Swagger annotations. Implement API versioning, rate limiting. Review with frontend specialists."
373
+ "role": "Microsoft Agent Framework Expert",
374
+ "icon": "🤖",
375
+ "spawn_prompt": "You are the Microsoft Agent Framework Expert. Implement ChatClientAgent, AIFunctionFactory, agent workflows (sequential, handoff, group chat). Integrate MCP tools (McpClientFactory, ListToolsAsync, Cast<AITool>). Host agents via A2A protocol (MapA2A, agent cards). Add middleware pipeline, observability (WithOpenTelemetry)."
500
376
  }
501
377
  },
502
- "nosql-cache-expert": {
378
+ "supabase-expert": {
503
379
  "tier": 3,
504
- "title": "NoSQL & Cache Specialist",
380
+ "title": "Supabase & PostgreSQL Specialist",
505
381
  "group": "backend",
506
382
  "active_phases": [
507
383
  "design",
@@ -509,258 +385,23 @@
509
385
  ],
510
386
  "reports_to": "dotnet-senior",
511
387
  "domains": [
512
- "backend-nosql"
388
+ "backend-supabase"
513
389
  ],
514
390
  "keywords": [
515
- "cosmos",
516
- "cosmosdb",
517
- "redis",
518
- "cache",
519
- "blob storage",
520
- "nosql",
521
- "document db",
522
- "key-value",
523
- "azure storage"
391
+ "supabase",
392
+ "postgresql",
393
+ "rls",
394
+ "realtime",
395
+ "pgvector",
396
+ "row level security",
397
+ "edge functions"
524
398
  ],
525
399
  "validators": [],
526
- "standards": [
527
- {
528
- "id": "core-coding",
529
- "scope": "all",
530
- "priority": "required"
531
- },
532
- {
533
- "id": "core-architecture",
534
- "scope": "all",
535
- "priority": "required"
536
- }
537
- ],
400
+ "standards": [],
538
401
  "teammate": {
539
- "role": "NoSQL & Cache Specialist",
540
- "icon": "💾",
541
- "spawn_prompt": "You are the NoSQL & Cache Specialist. Implement Azure Cosmos DB (SQL API, partition keys, RUs), Redis Cache (cache-aside, read-through, write-behind), Blob Storage (hot/cool/archive tiers). Design cache invalidation strategies."
542
- }
543
- },
544
- "domain-architect": {
545
- "tier": 2,
546
- "title": "Domain Modeling Leader",
547
- "group": "domain-analysis",
548
- "active_phases": [
549
- "design",
550
- "implement"
551
- ],
552
- "reports_to": "standards-architect",
553
- "domains": [
554
- "backend-ddd"
555
- ],
556
- "keywords": [
557
- "ddd",
558
- "domain driven design",
559
- "aggregate",
560
- "aggregate root",
561
- "entity",
562
- "value object",
563
- "domain event",
564
- "bounded context",
565
- "ubiquitous language",
566
- "domain modeling",
567
- "aggregateroot",
568
- "domainevents",
569
- "integration event"
570
- ],
571
- "validators": [
572
- "architecture"
573
- ],
574
- "standards": [
575
- {
576
- "id": "core-coding",
577
- "scope": "all",
578
- "priority": "required"
579
- },
580
- {
581
- "id": "core-architecture",
582
- "scope": "all",
583
- "priority": "required"
584
- },
585
- {
586
- "id": "architecture-ddd-complexity-levels",
587
- "scope": "design",
588
- "priority": "required"
589
- },
590
- {
591
- "id": "architecture-ddd-aggregates",
592
- "scope": "design",
593
- "priority": "required"
594
- },
595
- {
596
- "id": "architecture-ddd-entities",
597
- "scope": "design",
598
- "priority": "required"
599
- },
600
- {
601
- "id": "architecture-ddd-value-objects",
602
- "scope": "design",
603
- "priority": "required"
604
- },
605
- {
606
- "id": "architecture-ddd-bounded-contexts",
607
- "scope": "design",
608
- "priority": "required"
609
- },
610
- {
611
- "id": "architecture-ddd-ubiquitous-language",
612
- "scope": "design",
613
- "priority": "required"
614
- }
615
- ],
616
- "teammate": {
617
- "role": "Domain Modeling Leader",
618
- "icon": "📐",
619
- "spawn_prompt": "You are the Domain Modeling Leader for MORPH-SPEC. Your primary responsibility is detecting the correct domain complexity level and producing the Aggregate Blueprint before any contracts are generated.\n\nALWAYS start with the 5-question complexity detection:\n1. Does the main entity have state transitions? (Draft → Confirmed → Shipped) → Yes = Level 2+\n2. Are there business invariants? (\"can only cancel if Active\") → Yes = Level 2+\n3. Are there derived calculations? (Total, Balance, Discount) → Yes = Level 2+\n4. Do other modules need to react to changes? (Domain Events with consumers) → Yes = Level 2+\n5. Did the user explicitly declare a Bounded Context? Or are there 3+ domains with conflicting models? → Yes = Level 3\nIf none of the above: Level 1 (CRUD)\n\nFor Level 1: Use contracts-level1.cs template. No AggregateRoot, no Domain Events.\nFor Level 2: Use contracts-level2.cs template. Design AggregateRoot with factory methods, invariants, Value Objects, Domain Events.\nFor Level 3: Use contracts-level3.cs template. Add BOUNDED_CONTEXT namespace, Integration Events, cross-BC ID references only.\n\nDocument in spec.md under ## Domain Complexity and ## Aggregate Blueprint (Level 2+).\nCoordinate ef-modeler for persistence design and event-architect for Domain Event patterns.\nRef: framework/standards/architecture/ddd/complexity-levels.md"
620
- }
621
- },
622
- "hangfire-orchestrator": {
623
- "tier": 3,
624
- "title": "Background Jobs Specialist",
625
- "group": "backend",
626
- "active_phases": [
627
- "implement"
628
- ],
629
- "reports_to": "dotnet-senior",
630
- "domains": [
631
- "backend-jobs"
632
- ],
633
- "keywords": [
634
- "scheduled",
635
- "job",
636
- "background",
637
- "cron",
638
- "hangfire",
639
- "recurring",
640
- "fire and forget",
641
- "delayed"
642
- ],
643
- "validators": [
644
- "architecture",
645
- "blazor-concurrency"
646
- ],
647
- "standards": [
648
- {
649
- "id": "core-coding",
650
- "scope": "all",
651
- "priority": "required"
652
- },
653
- {
654
- "id": "core-architecture",
655
- "scope": "all",
656
- "priority": "required"
657
- }
658
- ],
659
- "teammate": {
660
- "role": "Background Jobs Specialist",
661
- "icon": "⏰",
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."
663
- }
664
- },
665
- "ms-agent-expert": {
666
- "tier": 3,
667
- "title": "Microsoft Agent Framework Expert",
668
- "group": "ai",
669
- "active_phases": [
670
- "design",
671
- "implement"
672
- ],
673
- "reports_to": "ai-system-architect",
674
- "domains": [
675
- "ai-agents"
676
- ],
677
- "keywords": [
678
- "agent",
679
- "ai",
680
- "llm",
681
- "rag",
682
- "embedding",
683
- "mcp",
684
- "a2a",
685
- "middleware",
686
- "microsoft agent framework",
687
- "ichatclient"
688
- ],
689
- "validators": [
690
- "architecture",
691
- "packages"
692
- ],
693
- "standards": [
694
- {
695
- "id": "core-coding",
696
- "scope": "all",
697
- "priority": "required"
698
- },
699
- {
700
- "id": "ai-agents-setup",
701
- "scope": "all",
702
- "priority": "required"
703
- },
704
- {
705
- "id": "ai-agents-workflows",
706
- "scope": "design",
707
- "priority": "required"
708
- },
709
- {
710
- "id": "ai-agents-production",
711
- "scope": "implement",
712
- "priority": "required"
713
- },
714
- {
715
- "id": "ai-agents-blazor-ui",
716
- "scope": "implement",
717
- "priority": "reference"
718
- }
719
- ],
720
- "teammate": {
721
- "role": "Microsoft Agent Framework Expert",
722
- "icon": "🤖",
723
- "spawn_prompt": "You are the Microsoft Agent Framework Expert. Implement ChatClientAgent, AIFunctionFactory, agent workflows (sequential, handoff, group chat). Integrate MCP tools (McpClientFactory, ListToolsAsync, Cast<AITool>). Host agents via A2A protocol (MapA2A, agent cards). Add middleware pipeline, observability (WithOpenTelemetry)."
724
- }
725
- },
726
- "supabase-expert": {
727
- "tier": 3,
728
- "title": "Supabase & PostgreSQL Specialist",
729
- "group": "backend",
730
- "active_phases": [
731
- "design",
732
- "implement"
733
- ],
734
- "reports_to": "dotnet-senior",
735
- "domains": [
736
- "backend-supabase"
737
- ],
738
- "keywords": [
739
- "supabase",
740
- "postgresql",
741
- "rls",
742
- "realtime",
743
- "pgvector",
744
- "row level security",
745
- "edge functions"
746
- ],
747
- "validators": [],
748
- "standards": [
749
- {
750
- "id": "core-coding",
751
- "scope": "all",
752
- "priority": "required"
753
- },
754
- {
755
- "id": "core-architecture",
756
- "scope": "all",
757
- "priority": "required"
758
- }
759
- ],
760
- "teammate": {
761
- "role": "Supabase & PostgreSQL Specialist",
762
- "icon": "🐘",
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."
402
+ "role": "Supabase & PostgreSQL Specialist",
403
+ "icon": "🐘",
404
+ "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."
764
405
  }
765
406
  },
766
407
  "vector-search-expert": {
@@ -786,11 +427,6 @@
786
427
  ],
787
428
  "validators": [],
788
429
  "standards": [
789
- {
790
- "id": "core-coding",
791
- "scope": "all",
792
- "priority": "required"
793
- },
794
430
  {
795
431
  "id": "ai-agents-setup",
796
432
  "scope": "all",
@@ -805,80 +441,7 @@
805
441
  "teammate": {
806
442
  "role": "Vector Search & RAG Specialist",
807
443
  "icon": "🔎",
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)."
809
- }
810
- },
811
- "context-optimizer": {
812
- "tier": 3,
813
- "title": "Context & Token Optimization Specialist",
814
- "group": "ai",
815
- "active_phases": [
816
- "implement"
817
- ],
818
- "reports_to": "ai-system-architect",
819
- "domains": [
820
- "ai-context"
821
- ],
822
- "keywords": [
823
- "context window",
824
- "token optimization",
825
- "chunking",
826
- "context compression",
827
- "summarization",
828
- "token budget"
829
- ],
830
- "validators": [],
831
- "standards": [
832
- {
833
- "id": "core-coding",
834
- "scope": "all",
835
- "priority": "required"
836
- },
837
- {
838
- "id": "ai-agents-workflows",
839
- "scope": "all",
840
- "priority": "required"
841
- }
842
- ],
843
- "teammate": {
844
- "role": "Context & Token Optimization Specialist",
845
- "icon": "🧠",
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."
444
+ "spawn_prompt": "You are the Vector Search & RAG Specialist. Implement vector embeddings (OpenAI), similarity search (pgvector), RAG pipelines (chunking, embedding, retrieval). Design hybrid search (vector + full-text). Optimize embedding dimensions and index types (HNSW, IVFFlat)."
882
445
  }
883
446
  },
884
447
  "asaas-financial": {
@@ -906,18 +469,7 @@
906
469
  "architecture",
907
470
  "contract-compliance"
908
471
  ],
909
- "standards": [
910
- {
911
- "id": "core-coding",
912
- "scope": "all",
913
- "priority": "required"
914
- },
915
- {
916
- "id": "core-architecture",
917
- "scope": "all",
918
- "priority": "required"
919
- }
920
- ],
472
+ "standards": [],
921
473
  "teammate": {
922
474
  "role": "Payment Integration Specialist",
923
475
  "icon": "💳",
@@ -946,22 +498,11 @@
946
498
  "oauth"
947
499
  ],
948
500
  "validators": [],
949
- "standards": [
950
- {
951
- "id": "core-coding",
952
- "scope": "all",
953
- "priority": "required"
954
- },
955
- {
956
- "id": "core-architecture",
957
- "scope": "all",
958
- "priority": "required"
959
- }
960
- ],
501
+ "standards": [],
961
502
  "teammate": {
962
503
  "role": "Auth SaaS Integration Specialist",
963
504
  "icon": "🔐",
964
- "spawn_prompt": "You are the Auth SaaS Integration Specialist (Clerk SDK). Implement Clerk authentication flows (login, signup, OAuth), session management, user profile. Integrate with Blazor or Next.js frontend."
505
+ "spawn_prompt": "You are the Auth SaaS Integration Specialist (Clerk SDK). Implement Clerk authentication flows (login, signup, OAuth), session management, user profile. Integrate with Next.js frontend."
965
506
  }
966
507
  },
967
508
  "resend-email": {
@@ -988,107 +529,27 @@
988
529
  "architecture",
989
530
  "contract-compliance"
990
531
  ],
991
- "standards": [
992
- {
993
- "id": "core-coding",
994
- "scope": "all",
995
- "priority": "required"
996
- },
997
- {
998
- "id": "core-architecture",
999
- "scope": "all",
1000
- "priority": "required"
1001
- }
1002
- ],
532
+ "standards": [],
1003
533
  "teammate": {
1004
534
  "role": "Email Integration Specialist",
1005
535
  "icon": "📧",
1006
536
  "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."
1007
537
  }
1008
538
  },
1009
- "blazor-builder": {
1010
- "tier": 3,
1011
- "title": "Blazor Development Specialist",
1012
- "group": "frontend",
1013
- "active_phases": [
1014
- "uiux",
1015
- "tasks",
1016
- "implement"
1017
- ],
1018
- "reports_to": "ui-designer",
1019
- "domains": [
1020
- "frontend-blazor"
1021
- ],
1022
- "keywords": [
1023
- "blazor",
1024
- "razor",
1025
- "server-side",
1026
- "component",
1027
- "fluent ui",
1028
- "mudblazor",
1029
- "signalr",
1030
- "page",
1031
- "view",
1032
- "form"
1033
- ],
1034
- "validators": [
1035
- "architecture",
1036
- "blazor",
1037
- "blazor-concurrency",
1038
- "blazor-state",
1039
- "css",
1040
- "design-system"
1041
- ],
1042
- "standards": [
1043
- {
1044
- "id": "core-coding",
1045
- "scope": "all",
1046
- "priority": "required"
1047
- },
1048
- {
1049
- "id": "frontend-blazor-lifecycle",
1050
- "scope": "all",
1051
- "priority": "required"
1052
- },
1053
- {
1054
- "id": "frontend-blazor-state",
1055
- "scope": "all",
1056
- "priority": "required"
1057
- },
1058
- {
1059
- "id": "frontend-blazor-pitfalls",
1060
- "scope": "all",
1061
- "priority": "required"
1062
- },
1063
- {
1064
- "id": "backend-database-ef-core",
1065
- "scope": "implement",
1066
- "priority": "reference"
1067
- },
1068
- {
1069
- "id": "frontend-blazor-fluent-ui",
1070
- "scope": "all",
1071
- "priority": "required"
1072
- }
1073
- ],
1074
- "teammate": {
1075
- "role": "Blazor Development Specialist",
1076
- "icon": "⚡",
1077
- "spawn_prompt": "You are the Blazor Development Specialist. Build Blazor Server components (Fluent UI or MudBlazor). Follow component-per-file pattern, use @inject for DI, implement loading states and error boundaries. Integrate SignalR for real-time features. Message ef-modeler for data, css-specialist for design system validation."
1078
- }
1079
- },
1080
539
  "nextjs-expert": {
1081
540
  "tier": 3,
1082
541
  "title": "Next.js Development Specialist",
1083
542
  "group": "frontend",
1084
543
  "active_phases": [
1085
544
  "uiux",
545
+ "design",
1086
546
  "tasks",
1087
547
  "implement"
1088
548
  ],
1089
549
  "reports_to": "ui-designer",
1090
550
  "domains": [
1091
- "frontend-nextjs"
551
+ "frontend-nextjs",
552
+ "frontend-nextjs-ui"
1092
553
  ],
1093
554
  "keywords": [
1094
555
  "next.js",
@@ -1106,96 +567,12 @@
1106
567
  "client component",
1107
568
  "vercel",
1108
569
  "neon",
1109
- "planetscale"
1110
- ],
1111
- "validators": [
1112
- "nextjs-component"
1113
- ],
1114
- "standards": [
1115
- {
1116
- "id": "core-coding",
1117
- "scope": "all",
1118
- "priority": "required"
1119
- },
1120
- {
1121
- "id": "core-architecture",
1122
- "scope": "all",
1123
- "priority": "required"
1124
- },
1125
- {
1126
- "id": "frontend-nextjs-naming-conventions",
1127
- "scope": "all",
1128
- "priority": "required"
1129
- },
1130
- {
1131
- "id": "frontend-nextjs-project-structure",
1132
- "scope": "all",
1133
- "priority": "required"
1134
- },
1135
- {
1136
- "id": "frontend-nextjs-app-router",
1137
- "scope": "all",
1138
- "priority": "required"
1139
- },
1140
- {
1141
- "id": "frontend-nextjs-components",
1142
- "scope": "all",
1143
- "priority": "required"
1144
- },
1145
- {
1146
- "id": "frontend-nextjs-data-fetching",
1147
- "scope": "implement",
1148
- "priority": "required"
1149
- },
1150
- {
1151
- "id": "frontend-nextjs-forms",
1152
- "scope": "implement",
1153
- "priority": "required"
1154
- },
1155
- {
1156
- "id": "frontend-nextjs-state-management",
1157
- "scope": "implement",
1158
- "priority": "required"
1159
- },
1160
- {
1161
- "id": "frontend-nextjs-testing",
1162
- "scope": "implement",
1163
- "priority": "reference"
1164
- },
1165
- {
1166
- "id": "frontend-nextjs-nextjs-patterns",
1167
- "scope": "all",
1168
- "priority": "required"
1169
- },
1170
- {
1171
- "id": "infrastructure-vercel-database",
1172
- "scope": "design",
1173
- "priority": "required"
1174
- }
1175
- ],
1176
- "teammate": {
1177
- "role": "Next.js Development Specialist",
1178
- "icon": "⚛️",
1179
- "spawn_prompt": "You are the Next.js Development Specialist. Build Next.js 14+ applications with shadcn/ui components, TanStack Query for data fetching, Server Actions for mutations. Implement Route Handlers for API routes. Message api-designer for backend endpoints, css-specialist for design system. IMPORTANT: When deployment target is Vercel, database must be serverless (Neon, Supabase/PgBouncer port 6543, PlanetScale) — never a plain TCP connection pool."
1180
- }
1181
- },
1182
- "nextjs-ui-specialist": {
1183
- "tier": 3,
1184
- "title": "Next.js UI Specialist",
1185
- "group": "frontend",
1186
- "active_phases": [
1187
- "design",
1188
- "tasks",
1189
- "implement"
1190
- ],
1191
- "reports_to": "ui-designer",
1192
- "domains": [
1193
- "frontend-nextjs-ui"
1194
- ],
1195
- "keywords": [
570
+ "planetscale",
1196
571
  "framer-motion",
1197
572
  "animation",
1198
573
  "transition",
574
+ "scaffold",
575
+ "feature-page",
1199
576
  "motion design",
1200
577
  "shadcn theme",
1201
578
  "tailwind tokens",
@@ -1212,560 +589,135 @@
1212
589
  "AnimatePresence"
1213
590
  ],
1214
591
  "validators": [
1215
- "design-system",
1216
- "nextjs-component"
1217
- ],
1218
- "standards": [
1219
- {
1220
- "id": "core-coding",
1221
- "scope": "all",
1222
- "priority": "required"
1223
- },
1224
- {
1225
- "id": "frontend-nextjs-components",
1226
- "scope": "all",
1227
- "priority": "required"
1228
- },
1229
- {
1230
- "id": "frontend-nextjs-nextjs-patterns",
1231
- "scope": "all",
1232
- "priority": "required"
1233
- },
1234
- {
1235
- "id": "frontend-nextjs-motion-patterns",
1236
- "scope": "all",
1237
- "priority": "required"
1238
- }
1239
- ],
1240
- "teammate": {
1241
- "role": "Next.js UI Specialist",
1242
- "icon": "✨",
1243
- "spawn_prompt": "You are the Next.js UI Specialist (Tier 3). Focus exclusively on the visual layer: Framer Motion animations (variants, AnimatePresence, useInView, gestures), shadcn/ui theming via CSS vars without editing primitives, Tailwind token bridging from design-system.md, and Lucide icon consistency. ALWAYS read .morph/context/design-system.md first and use only defined tokens. ALWAYS implement useReducedMotion() for WCAG compliance. Do NOT handle data-fetching, routing, or API routes — that's nextjs-expert's domain."
1244
- }
1245
- },
1246
- "css-specialist": {
1247
- "tier": 3,
1248
- "title": "CSS & Design System Specialist",
1249
- "group": "frontend",
1250
- "active_phases": [
1251
- "implement"
1252
- ],
1253
- "reports_to": "ui-designer",
1254
- "domains": [
1255
- "frontend-css"
1256
- ],
1257
- "keywords": [
1258
- "css",
1259
- "design system",
1260
- "styling",
1261
- "theme",
1262
- "design tokens",
1263
- "palette"
1264
- ],
1265
- "validators": [
1266
- "css",
1267
- "contrast",
592
+ "nextjs-component",
1268
593
  "design-system"
1269
594
  ],
1270
595
  "standards": [
1271
596
  {
1272
- "id": "frontend-design-system-naming",
1273
- "scope": "all",
1274
- "priority": "required"
1275
- },
1276
- {
1277
- "id": "frontend-design-system-animations",
1278
- "scope": "all",
1279
- "priority": "required"
1280
- }
1281
- ],
1282
- "teammate": {
1283
- "role": "CSS & Design System Specialist",
1284
- "icon": "🎨",
1285
- "spawn_prompt": "You are the CSS & Design System Specialist (FASE 5 only). MANDATORY FIRST STEP: Read .morph/context/design-system.md. Validate all CSS follows the design system — colors (var(--color-*)), spacing (var(--space-*)), typography (var(--font-*, --text-*)), motion (var(--duration-*, --easing-*)), shadows (var(--shadow-*)), and advanced effects (var(--glass-*, --aurora-*, --perspective-*)). No off-palette hardcoded colors, no inline styles with raw values. Enforce naming conventions (BEM for custom classes). Verify WCAG AA contrast (4.5:1 text, 3:1 UI). Ref: framework/standards/frontend/design-system/design-trends.md for modern technique catalog. Run design-system, css, contrast validators. Any missing tokens must be added to design-system.md before proceeding."
1286
- }
1287
- },
1288
- "seo-growth-hacker": {
1289
- "tier": 3,
1290
- "title": "SEO & Growth Specialist",
1291
- "group": "frontend",
1292
- "active_phases": [
1293
- "implement"
1294
- ],
1295
- "reports_to": "ui-designer",
1296
- "domains": [
1297
- "seo"
1298
- ],
1299
- "keywords": [
1300
- "seo",
1301
- "landing page",
1302
- "meta tags",
1303
- "core web vitals",
1304
- "schema markup",
1305
- "organic traffic",
1306
- "content marketing"
1307
- ],
1308
- "validators": [],
1309
- "standards": [
1310
- {
1311
- "id": "core-coding",
1312
- "scope": "all",
1313
- "priority": "required"
1314
- }
1315
- ],
1316
- "teammate": {
1317
- "role": "SEO & Growth Specialist",
1318
- "icon": "📈",
1319
- "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."
1320
- }
1321
- },
1322
- "bicep-architect": {
1323
- "tier": 3,
1324
- "title": "Infrastructure as Code Specialist",
1325
- "group": "infra",
1326
- "active_phases": [
1327
- "design",
1328
- "implement"
1329
- ],
1330
- "reports_to": "azure-architect",
1331
- "domains": [
1332
- "infrastructure-iac"
1333
- ],
1334
- "keywords": [
1335
- "bicep",
1336
- "iac",
1337
- "infra",
1338
- "provision",
1339
- "arm template",
1340
- "infrastructure as code"
1341
- ],
1342
- "validators": [
1343
- "architecture"
1344
- ],
1345
- "standards": [
1346
- {
1347
- "id": "core-coding",
1348
- "scope": "all",
1349
- "priority": "required"
1350
- },
1351
- {
1352
- "id": "core-architecture",
1353
- "scope": "all",
1354
- "priority": "required"
1355
- },
1356
- {
1357
- "id": "infrastructure-azure-azure",
1358
- "scope": "all",
1359
- "priority": "required"
1360
- }
1361
- ],
1362
- "teammate": {
1363
- "role": "Infrastructure as Code Specialist",
1364
- "icon": "📜",
1365
- "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."
1366
- }
1367
- },
1368
- "devops-engineer": {
1369
- "tier": 3,
1370
- "title": "CI/CD Specialist",
1371
- "group": "infra",
1372
- "active_phases": [
1373
- "implement"
1374
- ],
1375
- "reports_to": "infra-architect",
1376
- "domains": [
1377
- "infrastructure-cicd"
1378
- ],
1379
- "keywords": [
1380
- "pipeline",
1381
- "ci/cd",
1382
- "deploy",
1383
- "release",
1384
- "github actions",
1385
- "azure pipelines",
1386
- "deployment"
1387
- ],
1388
- "validators": [],
1389
- "standards": [
1390
- {
1391
- "id": "core-coding",
1392
- "scope": "all",
1393
- "priority": "required"
1394
- },
1395
- {
1396
- "id": "core-architecture",
1397
- "scope": "all",
1398
- "priority": "required"
1399
- }
1400
- ],
1401
- "teammate": {
1402
- "role": "CI/CD Specialist",
1403
- "icon": "🚀",
1404
- "spawn_prompt": "You are the CI/CD Specialist. Build Azure Pipelines or GitHub Actions workflows. Implement Blue-Green, Canary, Rolling deployment strategies. Integrate with bicep-architect for IaC deployment, container-specialist for image builds."
1405
- }
1406
- },
1407
- "container-specialist": {
1408
- "tier": 3,
1409
- "title": "Containerization Specialist",
1410
- "group": "infra",
1411
- "active_phases": [
1412
- "implement"
1413
- ],
1414
- "reports_to": "infra-architect",
1415
- "domains": [
1416
- "infrastructure-containers"
1417
- ],
1418
- "keywords": [
1419
- "docker",
1420
- "container",
1421
- "containerize",
1422
- "dockerfile",
1423
- "multi-stage",
1424
- "container apps"
1425
- ],
1426
- "validators": [],
1427
- "standards": [
1428
- {
1429
- "id": "core-coding",
1430
- "scope": "all",
1431
- "priority": "required"
1432
- },
1433
- {
1434
- "id": "core-architecture",
1435
- "scope": "all",
1436
- "priority": "required"
1437
- }
1438
- ],
1439
- "teammate": {
1440
- "role": "Containerization Specialist",
1441
- "icon": "🐳",
1442
- "spawn_prompt": "You are the Containerization Specialist. Write Dockerfiles (multi-stage builds), .dockerignore. Deploy to Azure Container Apps (scale-to-zero, KEDA scaling). Optimize image size, configure health checks."
1443
- }
1444
- },
1445
- "observability-expert": {
1446
- "tier": 3,
1447
- "title": "Observability Specialist",
1448
- "group": "infra",
1449
- "active_phases": [
1450
- "implement"
1451
- ],
1452
- "reports_to": "infra-architect",
1453
- "domains": [
1454
- "infrastructure-observability"
1455
- ],
1456
- "keywords": [
1457
- "monitoring",
1458
- "logging",
1459
- "tracing",
1460
- "metrics",
1461
- "app insights",
1462
- "serilog",
1463
- "opentelemetry",
1464
- "dashboards",
1465
- "alerts"
1466
- ],
1467
- "validators": [
1468
- "observability"
1469
- ],
1470
- "standards": [
1471
- {
1472
- "id": "core-coding",
1473
- "scope": "all",
1474
- "priority": "required"
1475
- },
1476
- {
1477
- "id": "core-architecture",
1478
- "scope": "all",
1479
- "priority": "required"
1480
- }
1481
- ],
1482
- "teammate": {
1483
- "role": "Observability Specialist",
1484
- "icon": "📊",
1485
- "spawn_prompt": "You are the Observability Specialist. Setup Application Insights (connection strings, sampling), configure Serilog (sinks, enrichers), instrument OpenTelemetry (.NET SDK). Create custom metrics, dashboards, alert rules. Write Log Analytics queries (KQL)."
1486
- }
1487
- },
1488
- "azure-identity": {
1489
- "tier": 3,
1490
- "title": "Microsoft Identity Specialist",
1491
- "group": "infra",
1492
- "active_phases": [
1493
- "design",
1494
- "implement"
1495
- ],
1496
- "reports_to": "infra-architect",
1497
- "domains": [
1498
- "infrastructure-identity"
1499
- ],
1500
- "keywords": [
1501
- "identity",
1502
- "entra",
1503
- "microsoft auth",
1504
- "azure ad",
1505
- "b2c",
1506
- "passkeys",
1507
- "webauthn",
1508
- "managed identity"
1509
- ],
1510
- "validators": [],
1511
- "standards": [
1512
- {
1513
- "id": "core-coding",
1514
- "scope": "all",
1515
- "priority": "required"
1516
- },
1517
- {
1518
- "id": "core-architecture",
1519
- "scope": "all",
1520
- "priority": "required"
1521
- }
1522
- ],
1523
- "teammate": {
1524
- "role": "Microsoft Identity Specialist",
1525
- "icon": "🔑",
1526
- "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)."
1527
- }
1528
- },
1529
- "testing-specialist": {
1530
- "tier": 3,
1531
- "title": "Testing Specialist",
1532
- "group": "testing",
1533
- "active_phases": [
1534
- "implement"
1535
- ],
1536
- "reports_to": "standards-architect",
1537
- "domains": [
1538
- "quality-testing"
1539
- ],
1540
- "keywords": [
1541
- "test",
1542
- "testing",
1543
- "unit",
1544
- "integration",
1545
- "e2e",
1546
- "xunit",
1547
- "moq",
1548
- "testcontainers",
1549
- "bunit"
1550
- ],
1551
- "validators": [],
1552
- "standards": [
1553
- {
1554
- "id": "core-coding",
597
+ "id": "frontend-nextjs-naming-conventions",
1555
598
  "scope": "all",
1556
599
  "priority": "required"
1557
600
  },
1558
601
  {
1559
- "id": "core-architecture",
602
+ "id": "frontend-nextjs-project-structure",
1560
603
  "scope": "all",
1561
604
  "priority": "required"
1562
- }
1563
- ],
1564
- "teammate": {
1565
- "role": "Testing Specialist",
1566
- "icon": "🧪",
1567
- "spawn_prompt": "You are the Testing Specialist. Write unit tests (xUnit, Moq/NSubstitute, FluentAssertions), integration tests (TestContainers, Respawn for DB reset), Blazor component tests (bUnit), HTTP mocking (WireMock). Follow Arrange-Act-Assert (AAA) pattern."
1568
- }
1569
- },
1570
- "code-analyzer": {
1571
- "tier": 3,
1572
- "title": "Code Quality Analyst",
1573
- "group": "testing",
1574
- "active_phases": [
1575
- "implement"
1576
- ],
1577
- "reports_to": "standards-architect",
1578
- "domains": [
1579
- "quality-review"
1580
- ],
1581
- "keywords": [
1582
- "analyze",
1583
- "review",
1584
- "refactor",
1585
- "clean code",
1586
- "smell",
1587
- "duplicate",
1588
- "solid",
1589
- "architecture review"
1590
- ],
1591
- "validators": [],
1592
- "standards": [
605
+ },
1593
606
  {
1594
- "id": "core-coding",
607
+ "id": "frontend-nextjs-app-router",
1595
608
  "scope": "all",
1596
609
  "priority": "required"
1597
610
  },
1598
611
  {
1599
- "id": "core-architecture",
612
+ "id": "frontend-nextjs-components",
1600
613
  "scope": "all",
1601
614
  "priority": "required"
1602
- }
1603
- ],
1604
- "teammate": {
1605
- "role": "Code Quality Analyst",
1606
- "icon": "🔍",
1607
- "spawn_prompt": "You are the Code Quality Analyst. Review code for architecture violations, clean code principles (naming, complexity, duplication), SOLID principles. Identify code smells, suggest refactorings. Run architecture and packages validators."
1608
- }
1609
- },
1610
- "troubleshooting-expert": {
1611
- "tier": 3,
1612
- "title": "Troubleshooting & Debug Expert",
1613
- "group": "support",
1614
- "active_phases": [
1615
- "implement"
1616
- ],
1617
- "reports_to": "standards-architect",
1618
- "domains": [
1619
- "quality-debug"
1620
- ],
1621
- "keywords": [
1622
- "debug",
1623
- "troubleshoot",
1624
- "root cause",
1625
- "analyze error",
1626
- "investigate",
1627
- "diagnose"
1628
- ],
1629
- "validators": [],
1630
- "standards": [
615
+ },
1631
616
  {
1632
- "id": "core-coding",
1633
- "scope": "all",
617
+ "id": "frontend-nextjs-data-fetching",
618
+ "scope": "implement",
1634
619
  "priority": "required"
1635
620
  },
1636
621
  {
1637
- "id": "core-architecture",
1638
- "scope": "all",
622
+ "id": "frontend-nextjs-forms",
623
+ "scope": "implement",
1639
624
  "priority": "required"
1640
- }
1641
- ],
1642
- "teammate": {
1643
- "role": "Troubleshooting Expert (Escalation)",
1644
- "icon": "🔧",
1645
- "spawn_prompt": "You are the Troubleshooting Expert (spawned after 3 failed attempts). Analyze root cause of failures: validation errors, compilation errors, runtime exceptions. Review attempt logs from recovery-tracker. Propose alternative approaches. Message standards-architect with findings."
1646
- }
1647
- },
1648
- "load-testing-expert": {
1649
- "tier": 3,
1650
- "title": "Load Testing & Performance Specialist",
1651
- "group": "testing",
1652
- "active_phases": [
1653
- "implement"
1654
- ],
1655
- "reports_to": "standards-architect",
1656
- "domains": [
1657
- "quality-performance"
1658
- ],
1659
- "keywords": [
1660
- "load test",
1661
- "performance test",
1662
- "k6",
1663
- "jmeter",
1664
- "stress test",
1665
- "capacity planning",
1666
- "bottleneck",
1667
- "scalability",
1668
- "concurrent users"
1669
- ],
1670
- "validators": [
1671
- "performance"
1672
- ],
1673
- "standards": [
625
+ },
626
+ {
627
+ "id": "frontend-nextjs-state-management",
628
+ "scope": "implement",
629
+ "priority": "required"
630
+ },
631
+ {
632
+ "id": "frontend-nextjs-testing",
633
+ "scope": "implement",
634
+ "priority": "reference"
635
+ },
1674
636
  {
1675
- "id": "core-coding",
637
+ "id": "frontend-nextjs-nextjs-patterns",
1676
638
  "scope": "all",
1677
639
  "priority": "required"
1678
640
  },
1679
641
  {
1680
- "id": "core-architecture",
642
+ "id": "frontend-nextjs-motion-patterns",
1681
643
  "scope": "all",
1682
644
  "priority": "required"
1683
645
  }
1684
646
  ],
1685
647
  "teammate": {
1686
- "role": "Load Testing Specialist",
1687
- "icon": "📈",
1688
- "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)."
648
+ "role": "Next.js Development Specialist",
649
+ "icon": "⚛️",
650
+ "spawn_prompt": "You are the Next.js Development Specialist. Build Next.js 14+ applications with shadcn/ui components, TanStack Query for data fetching, Server Actions for mutations. Implement Route Handlers for API routes. IMPORTANT: When deployment target is Vercel, database must be serverless (Neon, Supabase/PgBouncer port 6543, PlanetScale) — never a plain TCP connection pool.\n\nYou also own UI/animation: Focus on Framer Motion animations (variants, AnimatePresence, useInView, gestures), shadcn/ui theming via CSS vars without editing primitives, Tailwind token bridging from design-system.md, and Lucide icon consistency. ALWAYS read .morph/context/design-system.md first and use only defined tokens. ALWAYS implement useReducedMotion() for WCAG compliance.\n\nReference: Read `.morph/framework/templates/frontend/nextjs/` for Next.js code patterns."
1689
651
  }
1690
652
  },
1691
- "documentation-specialist": {
653
+ "css-specialist": {
1692
654
  "tier": 3,
1693
- "title": "Documentation Specialist",
1694
- "group": "docs",
655
+ "title": "CSS & Design System Specialist",
656
+ "group": "frontend",
1695
657
  "active_phases": [
1696
658
  "implement"
1697
659
  ],
1698
- "reports_to": "standards-architect",
660
+ "reports_to": "ui-designer",
1699
661
  "domains": [
1700
- "developer-experience-docs"
662
+ "frontend-css"
1701
663
  ],
1702
664
  "keywords": [
1703
- "readme",
1704
- "documentation",
1705
- "api docs",
1706
- "contributing",
1707
- "deployment guide",
1708
- "onboarding"
665
+ "css",
666
+ "design system",
667
+ "styling",
668
+ "theme",
669
+ "design tokens",
670
+ "palette"
671
+ ],
672
+ "validators": [
673
+ "css",
674
+ "contrast",
675
+ "design-system"
1709
676
  ],
1710
- "validators": [],
1711
677
  "standards": [
1712
678
  {
1713
- "id": "core-coding",
679
+ "id": "frontend-design-system-naming",
1714
680
  "scope": "all",
1715
681
  "priority": "required"
1716
682
  },
1717
683
  {
1718
- "id": "core-architecture",
684
+ "id": "frontend-design-system-animations",
1719
685
  "scope": "all",
1720
686
  "priority": "required"
1721
687
  }
1722
688
  ],
1723
689
  "teammate": {
1724
- "role": "Documentation Specialist (Post-FASE 5)",
1725
- "icon": "📝",
1726
- "spawn_prompt": "You are the Documentation Specialist (runs after FASE 5). Generate README.md (how to run project), CONTRIBUTING.md (contributor guide), API documentation (Swagger annotations, markdown docs), deployment guides (infra setup). Update existing docs with new features."
690
+ "role": "CSS & Design System Specialist",
691
+ "icon": "🎨",
692
+ "spawn_prompt": "You are the CSS & Design System Specialist (FASE 7 only). MANDATORY FIRST STEP: Read .morph/context/design-system.md. Validate all CSS follows the design system — colors (var(--color-*)), spacing (var(--space-*)), typography (var(--font-*, --text-*)), motion (var(--duration-*, --easing-*)), shadows (var(--shadow-*)), and advanced effects (var(--glass-*, --aurora-*, --perspective-*)). No off-palette hardcoded colors, no inline styles with raw values. Enforce naming conventions (BEM for custom classes). Verify WCAG AA contrast (4.5:1 text, 3:1 UI). Run design-system, css, contrast validators. Any missing tokens must be added to design-system.md before proceeding."
1727
693
  }
1728
694
  },
1729
- "vsa-architect": {
695
+ "seo-growth-hacker": {
1730
696
  "tier": 3,
1731
- "title": "Vertical Slice Architecture Specialist",
1732
- "group": "domain-analysis",
697
+ "title": "SEO & Growth Specialist",
698
+ "group": "frontend",
1733
699
  "active_phases": [
1734
- "design",
1735
700
  "implement"
1736
701
  ],
702
+ "reports_to": "ui-designer",
1737
703
  "domains": [
1738
- "architecture",
1739
- "backend"
704
+ "seo"
1740
705
  ],
1741
706
  "keywords": [
1742
- "vertical slice",
1743
- "vertical-slice",
1744
- "vsa",
1745
- "minimal api",
1746
- "minimal apis",
1747
- "ihandler",
1748
- "result pattern",
1749
- "feature slice",
1750
- "scrutor",
1751
- "vertical slice architecture"
1752
- ],
1753
- "standards": [
1754
- {
1755
- "id": "core-coding",
1756
- "scope": "all",
1757
- "priority": "required"
1758
- },
1759
- {
1760
- "id": "architecture-vertical-slice-vertical-slice",
1761
- "scope": "all",
1762
- "priority": "required"
1763
- }
707
+ "seo",
708
+ "landing page",
709
+ "meta tags",
710
+ "core web vitals",
711
+ "schema markup",
712
+ "organic traffic",
713
+ "content marketing"
1764
714
  ],
715
+ "validators": [],
716
+ "standards": [],
1765
717
  "teammate": {
1766
- "role": "VSA Architecture Specialist",
1767
- "icon": "🍕",
1768
- "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"
718
+ "role": "SEO & Growth Specialist",
719
+ "icon": "📈",
720
+ "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 page optimization, Lighthouse scores, and organic traffic growth."
1769
721
  }
1770
722
  },
1771
723
  "morph-spec-architect": {
@@ -1799,38 +751,6 @@
1799
751
  "spawn_prompt": "You are the Morph-Spec Architect. You deeply understand the morph-spec-framework codebase: its 4-tier agent hierarchy, state machine (with filesystem-based phase derivation), Commander.js CLI surface (~25 commands registered in bin/morph-spec.js), hooks system, skills system, and the .morph/ directory layout. Your job is to design new features that fit naturally into the existing architecture. Before proposing implementation, always: (1) identify which existing modules can be reused, (2) determine where the new command should live in src/commands/, (3) define the state impact (does it need new state fields?), (4) list which tests need to be written. Follow ESM module patterns throughout."
1800
752
  }
1801
753
  },
1802
- "nodejs-cli-expert": {
1803
- "tier": 3,
1804
- "title": "Node.js CLI Expert",
1805
- "group": "testing",
1806
- "active_phases": [
1807
- "implement"
1808
- ],
1809
- "reports_to": "feature-lead",
1810
- "domains": [
1811
- "nodejs",
1812
- "cli",
1813
- "javascript",
1814
- "esm",
1815
- "testing"
1816
- ],
1817
- "keywords": [
1818
- "nodejs",
1819
- "javascript",
1820
- "esm",
1821
- "commander",
1822
- "node --test",
1823
- "cli command",
1824
- "morph-spec implementation"
1825
- ],
1826
- "validators": [],
1827
- "standards": [],
1828
- "teammate": {
1829
- "role": "specialist",
1830
- "icon": "🟢",
1831
- "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"
1832
- }
1833
- },
1834
754
  "security-expert": {
1835
755
  "tier": 4,
1836
756
  "title": "Security Validator",
@@ -1854,28 +774,17 @@
1854
774
  "validators": [
1855
775
  "security"
1856
776
  ],
1857
- "standards": [
1858
- {
1859
- "id": "core-coding",
1860
- "scope": "all",
1861
- "priority": "required"
1862
- },
1863
- {
1864
- "id": "core-architecture",
1865
- "scope": "all",
1866
- "priority": "required"
1867
- }
1868
- ],
777
+ "standards": [],
1869
778
  "teammate": {
1870
779
  "icon": "🛡️",
1871
780
  "role": "Security Validator (read-only)",
1872
- "spawn_prompt": "You are the Security Validator (Tier 4, READ-ONLY). Scan ALL source files (.cs, .razor, .tsx, .ts, .js) in the project for security vulnerabilities:\n\n1. SQL injection — string concatenation in queries (look for $\"...{var}...\" inside SQL/EF raw queries)\n2. Hardcoded secrets — API keys, passwords, connection strings in source code (not in appsettings)\n3. XSS — @Html.Raw usage in Razor/Blazor without sanitization\n4. Insecure deserialization — BinaryFormatter usage\n5. CSRF — POST forms/endpoints missing anti-forgery tokens ([ValidateAntiForgeryToken] or @Html.AntiForgeryToken)\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"error\" }] }"
781
+ "spawn_prompt": "You are the Security Validator (Tier 4, READ-ONLY). Scan ALL source files (.cs, .tsx, .ts, .js) in the project for security vulnerabilities:\n\n1. SQL injection — string concatenation in queries (look for $\"...{var}...\" inside SQL/EF raw queries)\n2. Hardcoded secrets — API keys, passwords, connection strings in source code (not in appsettings)\n3. XSS — unsanitized HTML rendering\n4. Insecure deserialization — BinaryFormatter usage\n5. CSRF — POST forms/endpoints missing anti-forgery tokens\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"error\" }] }"
1873
782
  },
1874
783
  "hook_behavior": {
1875
784
  "validates": [
1876
785
  "SQL injection (string concatenation in queries)",
1877
786
  "Hardcoded secrets (API keys, passwords, connection strings)",
1878
- "XSS (@Html.Raw usage in Razor/Blazor)",
787
+ "XSS (unsanitized HTML rendering)",
1879
788
  "Insecure deserialization (BinaryFormatter)",
1880
789
  "CSRF (missing anti-forgery tokens)"
1881
790
  ],
@@ -1903,29 +812,18 @@
1903
812
  "validators": [
1904
813
  "architecture"
1905
814
  ],
1906
- "standards": [
1907
- {
1908
- "id": "core-coding",
1909
- "scope": "all",
1910
- "priority": "required"
1911
- },
1912
- {
1913
- "id": "core-architecture",
1914
- "scope": "all",
1915
- "priority": "required"
1916
- }
1917
- ],
815
+ "standards": [],
1918
816
  "teammate": {
1919
817
  "icon": "🏗️",
1920
818
  "role": "Architecture Validator (read-only)",
1921
- "spawn_prompt": "You are the Architecture Validator (Tier 4, READ-ONLY). Scan the project for architectural violations:\n\n1. DbContext injection — look for direct DbContext injection instead of IDbContextFactory in Blazor components (.razor, .razor.cs)\n2. Async/await anti-patterns — search for .Result, .Wait(), .GetAwaiter().GetResult() in async code\n3. DI registration order — in Program.cs, verify services are registered before middleware (app.Use*/Map*)\n4. Blazor render mode — verify InteractiveServer/InteractiveWebAssembly components don't use incompatible patterns\n5. Layer violations — Domain/Application projects must not reference Infrastructure or Web projects\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"error\" }] }"
819
+ "spawn_prompt": "You are the Architecture Validator (Tier 4, READ-ONLY). Scan the project for architectural violations:\n\n1. DbContext injection — look for direct DbContext injection instead of IDbContextFactory in background services\n2. Async/await anti-patterns — search for .Result, .Wait(), .GetAwaiter().GetResult() in async code\n3. DI registration order — in Program.cs, verify services are registered before middleware (app.Use*/Map*)\n4. Layer violations — Domain/Application projects must not reference Infrastructure or Web projects\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"error\" }] }"
1922
820
  },
1923
821
  "hook_behavior": {
1924
822
  "validates": [
1925
823
  "DbContext injection (IDbContextFactory required)",
1926
824
  "Async/await patterns (no .Result or .Wait)",
1927
825
  "DI registration order (services before middleware)",
1928
- "Blazor render mode compatibility"
826
+ "Layer violations"
1929
827
  ],
1930
828
  "severity": "error",
1931
829
  "blocks_on_fail": true
@@ -1951,13 +849,7 @@
1951
849
  "validators": [
1952
850
  "packages"
1953
851
  ],
1954
- "standards": [
1955
- {
1956
- "id": "core-coding",
1957
- "scope": "all",
1958
- "priority": "required"
1959
- }
1960
- ],
852
+ "standards": [],
1961
853
  "teammate": {
1962
854
  "icon": "📦",
1963
855
  "role": "Packages Validator (read-only)",
@@ -2012,7 +904,7 @@
2012
904
  "teammate": {
2013
905
  "icon": "🎨",
2014
906
  "role": "Design System Validator (read-only)",
2015
- "spawn_prompt": "You are the Design System Validator (Tier 4, READ-ONLY). Scan CSS/SCSS and component files for design system compliance:\n\n1. Color palette — look for hardcoded hex/rgb colors instead of CSS variables (var(--color-primary), var(--color-accent), var(--color-surface-*), var(--color-text-*), etc.)\n2. Spacing — look for hardcoded px/rem values instead of spacing variables (var(--space-*))\n3. Typography — look for hardcoded font-size/font-family instead of typography variables (var(--font-display), var(--font-body), var(--text-*))\n4. Motion — look for hardcoded transition/animation durations instead of motion tokens (var(--duration-*), var(--easing-*))\n5. Shadows — look for hardcoded box-shadow instead of shadow tokens (var(--shadow-*), var(--shadow-colored-*), var(--shadow-layered-*))\n6. Advanced effects — verify glassmorphism uses tokens (var(--glass-*)), aurora uses tokens (var(--aurora-*)), perspective uses tokens (var(--perspective-*))\n7. Component naming — verify PascalCase for Blazor components (.razor) and kebab-case for CSS classes\n8. Check .morph/context/design-system.md for project-specific design tokens\n9. Ref: framework/standards/frontend/design-system/design-trends.md for modern technique catalog\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"warning\" }] }"
907
+ "spawn_prompt": "You are the Design System Validator (Tier 4, READ-ONLY). Scan CSS/SCSS and component files for design system compliance:\n\n1. Color palette — look for hardcoded hex/rgb colors instead of CSS variables (var(--color-primary), var(--color-accent), var(--color-surface-*), var(--color-text-*), etc.)\n2. Spacing — look for hardcoded px/rem values instead of spacing variables (var(--space-*))\n3. Typography — look for hardcoded font-size/font-family instead of typography variables (var(--font-display), var(--font-body), var(--text-*))\n4. Motion — look for hardcoded transition/animation durations instead of motion tokens (var(--duration-*), var(--easing-*))\n5. Shadows — look for hardcoded box-shadow instead of shadow tokens (var(--shadow-*), var(--shadow-colored-*), var(--shadow-layered-*))\n6. Advanced effects — verify glassmorphism uses tokens (var(--glass-*)), aurora uses tokens (var(--aurora-*)), perspective uses tokens (var(--perspective-*))\n7. Component naming — verify kebab-case for CSS classes\n8. Check .morph/context/design-system.md for project-specific design tokens\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"warning\" }] }"
2016
908
  },
2017
909
  "hook_behavior": {
2018
910
  "validates": [
@@ -2022,113 +914,12 @@
2022
914
  "Motion tokens (use var(--duration-*), var(--easing-*))",
2023
915
  "Shadow tokens (use var(--shadow-*), var(--shadow-colored-*), var(--shadow-layered-*))",
2024
916
  "Advanced effects (glassmorphism: var(--glass-*), aurora: var(--aurora-*), perspective: var(--perspective-*))",
2025
- "Component naming (PascalCase for Blazor, kebab-case for CSS)"
917
+ "Component naming (kebab-case for CSS)"
2026
918
  ],
2027
919
  "severity": "warning",
2028
920
  "blocks_on_fail": false
2029
921
  }
2030
922
  },
2031
- "blazor-concurrency-validator": {
2032
- "tier": 4,
2033
- "title": "Blazor Concurrency Validator",
2034
- "group": "frontend",
2035
- "active_phases": [
2036
- "implement"
2037
- ],
2038
- "reports_to": "blazor-builder",
2039
- "domains": [
2040
- "blazor-concurrency"
2041
- ],
2042
- "keywords": [
2043
- "blazor",
2044
- "dbcontext",
2045
- "lifecycle",
2046
- "async",
2047
- "concurrency"
2048
- ],
2049
- "validators": [
2050
- "blazor-concurrency"
2051
- ],
2052
- "standards": [
2053
- {
2054
- "id": "frontend-blazor-lifecycle",
2055
- "scope": "all",
2056
- "priority": "required"
2057
- },
2058
- {
2059
- "id": "frontend-blazor-pitfalls",
2060
- "scope": "all",
2061
- "priority": "required"
2062
- },
2063
- {
2064
- "id": "frontend-blazor-state",
2065
- "scope": "all",
2066
- "priority": "required"
2067
- }
2068
- ],
2069
- "stacks": [
2070
- "blazor"
2071
- ],
2072
- "teammate": {
2073
- "icon": "⚡",
2074
- "role": "Blazor Concurrency Validator (read-only)",
2075
- "spawn_prompt": "You are the Blazor Concurrency Validator (Tier 4, READ-ONLY). Scan all Blazor component files (.razor, .razor.cs) for concurrency and lifecycle violations:\n\n1. DbContext lifecycle — look for injected DbContext (not IDbContextFactory), disposed context usage, scope issues\n2. Async void — search for 'async void' methods (must be 'async Task' except event handlers)\n3. JSInterop in OnInitialized — look for IJSRuntime calls in OnInitialized/OnInitializedAsync (must be in OnAfterRender/OnAfterRenderAsync)\n4. State mutation — look for property changes without calling StateHasChanged() or InvokeAsync(StateHasChanged)\n5. Thread safety — look for shared mutable state without synchronization in Blazor Server components\n\nUse Grep and Glob to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"error\" }] }"
2076
- },
2077
- "hook_behavior": {
2078
- "validates": [
2079
- "DbContext lifecycle violations (dispose, scope issues)",
2080
- "Async void methods (use async Task instead)",
2081
- "JSInterop in OnInitialized (move to OnAfterRender)",
2082
- "State mutation without StateHasChanged"
2083
- ],
2084
- "severity": "error",
2085
- "blocks_on_fail": true
2086
- }
2087
- },
2088
- "morph-spec-validator": {
2089
- "tier": 4,
2090
- "title": "Morph-Spec Validator",
2091
- "group": "testing",
2092
- "active_phases": [
2093
- "implement",
2094
- "validate"
2095
- ],
2096
- "reports_to": "qa-lead",
2097
- "domains": [
2098
- "nodejs",
2099
- "cli",
2100
- "testing",
2101
- "validation"
2102
- ],
2103
- "keywords": [
2104
- "validate morph-spec",
2105
- "node.js validation",
2106
- "cli test"
2107
- ],
2108
- "validators": [
2109
- "morph-spec-standards"
2110
- ],
2111
- "standards": [],
2112
- "teammate": {
2113
- "icon": "🔬",
2114
- "role": "Morph-Spec Validator (read-only)",
2115
- "tools": "Read, Glob, Grep, Bash",
2116
- "maxTurns": 12,
2117
- "spawn_prompt": "You are the Morph-Spec Validator (Tier 4, READ-ONLY). Scan the morph-spec framework codebase for standards compliance:\n\n1. ESM imports — all relative imports must use .js extensions (e.g., './foo.js' not './foo')\n2. Command registration — new commands in src/commands/ must be imported and registered in bin/morph-spec.js\n3. Test coverage — each module in src/ should have a corresponding test file in tests/\n4. No CommonJS — search for require() or module.exports (must use import/export)\n5. Hook fail-open — all hooks in framework/hooks/ must have try/catch with exit(0) fallback\n6. Run 'npm test' to verify all tests pass\n\nUse Grep, Glob, and Bash to scan. Do NOT modify any files.\n\nOutput a JSON object: { \"passed\": boolean, \"issues\": [{ \"file\": string, \"line\": number, \"message\": string, \"severity\": \"error\" }] }"
2118
- },
2119
- "hook_behavior": {
2120
- "validates": [
2121
- "ESM imports use .js extensions on relative paths",
2122
- "New commands are registered in bin/morph-spec.js",
2123
- "Tests exist for new modules (one test file per module)",
2124
- "npm test passes with no failures",
2125
- "No require() or module.exports used",
2126
- "Error handling follows fail-open pattern for hooks"
2127
- ],
2128
- "severity": "error",
2129
- "blocks_on_fail": true
2130
- }
2131
- },
2132
923
  "nextjs-component-validator": {
2133
924
  "tier": 4,
2134
925
  "title": "Next.js Component Validator",
@@ -2173,15 +964,10 @@
2173
964
  "leader": "dotnet-senior",
2174
965
  "members": [
2175
966
  "ef-modeler",
2176
- "event-architect",
2177
- "api-designer",
2178
- "nosql-cache-expert",
2179
967
  "hangfire-orchestrator",
2180
968
  "ms-agent-expert",
2181
969
  "supabase-expert",
2182
970
  "vector-search-expert",
2183
- "context-optimizer",
2184
- "prompt-engineer",
2185
971
  "asaas-financial",
2186
972
  "clerk-auth",
2187
973
  "resend-email"
@@ -2189,15 +975,11 @@
2189
975
  "domains": [
2190
976
  "backend",
2191
977
  "backend-data",
2192
- "backend-events",
2193
978
  "backend-api",
2194
- "backend-nosql",
2195
- "backend-ddd",
2196
979
  "backend-jobs",
2197
980
  "ai-agents",
2198
981
  "backend-supabase",
2199
982
  "ai-vector",
2200
- "ai-context",
2201
983
  "integration-payment",
2202
984
  "integration-auth",
2203
985
  "integration-email"
@@ -2206,15 +988,14 @@
2206
988
  "frontend_squad": {
2207
989
  "leader": "ui-designer",
2208
990
  "members": [
2209
- "blazor-builder",
2210
991
  "nextjs-expert",
2211
992
  "css-specialist",
2212
993
  "seo-growth-hacker"
2213
994
  ],
2214
995
  "domains": [
2215
996
  "frontend-design",
2216
- "frontend-blazor",
2217
997
  "frontend-nextjs",
998
+ "frontend-nextjs-ui",
2218
999
  "frontend-css",
2219
1000
  "seo"
2220
1001
  ],
@@ -2223,7 +1004,6 @@
2223
1004
  "ui-designer"
2224
1005
  ],
2225
1006
  "implement": [
2226
- "blazor-builder",
2227
1007
  "nextjs-expert",
2228
1008
  "css-specialist",
2229
1009
  "seo-growth-hacker"
@@ -2232,37 +1012,19 @@
2232
1012
  },
2233
1013
  "infrastructure_squad": {
2234
1014
  "leader": "infra-architect",
2235
- "members": [
2236
- "bicep-architect",
2237
- "devops-engineer",
2238
- "container-specialist",
2239
- "observability-expert",
2240
- "azure-identity"
2241
- ],
1015
+ "members": [],
2242
1016
  "domains": [
2243
1017
  "infrastructure",
2244
- "infrastructure-iac",
2245
1018
  "infrastructure-cicd",
2246
- "infrastructure-containers",
2247
- "infrastructure-observability",
2248
- "infrastructure-identity"
1019
+ "infrastructure-containers"
2249
1020
  ]
2250
1021
  },
2251
1022
  "quality_squad": {
2252
1023
  "leader": "standards-architect",
2253
- "members": [
2254
- "testing-specialist",
2255
- "code-analyzer",
2256
- "troubleshooting-expert",
2257
- "load-testing-expert",
2258
- "documentation-specialist"
2259
- ],
1024
+ "members": [],
2260
1025
  "domains": [
2261
1026
  "quality-testing",
2262
- "quality-review",
2263
- "quality-debug",
2264
- "quality-performance",
2265
- "developer-experience-docs"
1027
+ "quality-review"
2266
1028
  ],
2267
1029
  "note": "No permanent leader — standards-architect coordinates directly"
2268
1030
  }