@polymorphism-tech/morph-spec 4.11.1 → 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 (317) 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 +226 -1454
  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/agent-complete.js +122 -0
  30. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
  31. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
  32. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
  33. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
  34. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
  35. package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
  36. package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
  37. package/framework/hooks/claude-code/statusline.py +4 -5
  38. package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
  39. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
  40. package/framework/hooks/shared/compact-restore.js +28 -5
  41. package/framework/hooks/shared/dispatch-helpers.js +17 -0
  42. package/framework/hooks/shared/phase-utils.js +4 -8
  43. package/framework/hooks/shared/state-reader.js +34 -3
  44. package/framework/phases.json +7 -45
  45. package/framework/rules/ai-agents-standards.md +15 -0
  46. package/framework/rules/asaas-standards.md +13 -0
  47. package/framework/rules/clerk-standards.md +13 -0
  48. package/framework/rules/csharp-standards.md +8 -4
  49. package/framework/rules/data-standards.md +18 -0
  50. package/framework/rules/dotnet-templates.md +87 -0
  51. package/framework/rules/frontend-standards.md +13 -13
  52. package/framework/rules/hangfire-standards.md +13 -0
  53. package/framework/rules/infrastructure-standards.md +27 -16
  54. package/framework/rules/morph-workflow.md +73 -13
  55. package/framework/rules/nextjs-standards.md +1 -0
  56. package/framework/rules/nextjs-templates.md +40 -0
  57. package/framework/rules/resend-standards.md +12 -0
  58. package/framework/rules/supabase-standards.md +29 -0
  59. package/framework/skills/README.md +6 -8
  60. package/framework/skills/level-0-meta/mcp-registry.json +21 -99
  61. package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
  62. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
  63. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  64. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
  65. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
  66. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
  67. package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
  68. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
  69. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
  70. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
  71. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
  72. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
  73. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
  74. package/framework/skills/level-1-workflows/README.md +1 -1
  75. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
  76. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +58 -124
  77. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
  78. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
  79. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
  80. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
  81. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
  82. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
  83. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
  84. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
  85. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +0 -2
  86. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
  87. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +275 -61
  88. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  89. package/framework/squad-templates/backend-only.json +6 -6
  90. package/framework/squad-templates/frontend-only.json +17 -8
  91. package/framework/squad-templates/full-stack.json +29 -24
  92. package/framework/standards/STANDARDS.json +1021 -2338
  93. package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
  94. package/framework/standards/backend/dotnet/result-pattern.md +213 -0
  95. package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
  96. package/framework/standards/backend/dotnet/scrutor.md +158 -0
  97. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
  98. package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
  99. package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
  100. package/framework/standards/integration/mcp/mcp-tools.md +91 -77
  101. package/framework/templates/IDE-SNIPPETS.md +2 -6
  102. package/framework/templates/README.md +709 -814
  103. package/framework/templates/REGISTRY.json +223 -762
  104. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
  105. package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
  106. package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
  107. package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
  108. package/framework/templates/code/dotnet/backend/repository.cs +148 -141
  109. package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
  110. package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
  111. package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
  112. package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
  113. package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
  114. package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
  115. package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
  116. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
  117. package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
  118. package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
  119. package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
  120. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
  121. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
  122. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
  123. package/framework/templates/code/dotnet/jobs/job.cs +21 -17
  124. package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
  125. package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
  126. package/framework/templates/code/dotnet/test.cs +192 -106
  127. package/framework/templates/context/ARCHITECTURE.md +89 -0
  128. package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
  129. package/framework/templates/context/CONTEXT.md +180 -181
  130. package/framework/templates/context/design-system.md +342 -211
  131. package/framework/templates/docs/onboarding.md +2 -3
  132. package/framework/templates/docs/proposal.md +171 -182
  133. package/framework/templates/docs/spec.md +1 -3
  134. package/framework/templates/docs/ui-components.md +0 -72
  135. package/framework/templates/examples/design-system-examples.md +4 -4
  136. package/framework/templates/feature/decisions.md +0 -66
  137. package/framework/templates/feature/recap.md +1 -2
  138. package/framework/templates/infrastructure/github/README.md +56 -593
  139. package/framework/templates/integrations/clerk-config.cs +0 -41
  140. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  141. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
  142. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
  143. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
  144. package/framework/templates/project/validate.js +2 -4
  145. package/framework/templates/ui/design-system.css +1 -1
  146. package/framework/workflows/README.md +8 -8
  147. package/framework/workflows/configs/fast-track.json +51 -0
  148. package/framework/workflows/configs/full.json +68 -0
  149. package/framework/workflows/configs/standard.json +7 -3
  150. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
  151. package/framework/workflows/docs/enforcement-pipeline.md +18 -19
  152. package/framework/workflows/docs/full-morph.md +69 -76
  153. package/framework/workflows/docs/standard.md +49 -44
  154. package/framework/workflows/docs/ui-refresh.md +1 -1
  155. package/package.json +3 -3
  156. package/src/commands/agents/dispatch-agents.js +55 -116
  157. package/src/commands/context/context-refresh.js +79 -0
  158. package/src/commands/mcp/mcp-setup.js +28 -6
  159. package/src/commands/phase/phase-reset.js +1 -1
  160. package/src/commands/project/doctor.js +10 -32
  161. package/src/commands/project/init.js +32 -1
  162. package/src/commands/project/status.js +6 -12
  163. package/src/commands/scaffold/scaffold.js +131 -0
  164. package/src/commands/scope/escalate.js +1 -1
  165. package/src/commands/state/advance-phase.js +15 -29
  166. package/src/commands/state/state.js +20 -5
  167. package/src/commands/tasks/task.js +0 -30
  168. package/src/commands/validation/validate-feature.js +3 -10
  169. package/src/core/paths/output-schema.js +12 -13
  170. package/src/core/state/phase-state-machine.js +211 -217
  171. package/src/core/state/state-manager.js +9 -9
  172. package/src/lib/agents/agents-manager.js +2 -2
  173. package/src/lib/agents/output-collector.js +1 -2
  174. package/src/lib/detectors/design-system-detector.js +4 -4
  175. package/src/lib/detectors/index.js +1 -11
  176. package/src/lib/generators/architecture-scanner.js +640 -0
  177. package/src/lib/generators/context-generator.js +3 -3
  178. package/src/lib/generators/design-system-generator.js +508 -298
  179. package/src/lib/generators/index.js +12 -10
  180. package/src/lib/generators/metadata-extractor.js +386 -387
  181. package/src/lib/generators/recap-generator.js +4 -4
  182. package/src/lib/generators/scaffold-generator.js +317 -0
  183. package/src/lib/generators/settings-generator.js +0 -1
  184. package/src/lib/phase-chain/phase-validator.js +64 -42
  185. package/src/lib/stack/stack-profile.js +2 -2
  186. package/src/lib/standards/digest-builder.js +72 -285
  187. package/src/lib/tasks/task-parser.js +11 -5
  188. package/src/lib/validators/architecture/architecture-validator.js +259 -387
  189. package/src/lib/validators/content/content-validator.js +287 -287
  190. package/src/lib/validators/css/css-validator.js +340 -352
  191. package/src/lib/validators/design-system/design-system-validator.js +11 -5
  192. package/src/lib/validators/packages/package-validator.js +347 -360
  193. package/src/lib/validators/shared/issue-counter.js +14 -18
  194. package/src/lib/validators/validation-runner.js +3 -19
  195. package/src/scripts/setup-infra.js +1 -1
  196. package/src/utils/agents-installer.js +24 -3
  197. package/src/utils/file-copier.js +1 -0
  198. package/src/utils/hooks-installer.js +21 -19
  199. package/src/utils/skills-installer.js +178 -178
  200. package/framework/agents/architecture/prompt-engineer.md +0 -195
  201. package/framework/agents/backend/api-designer.md +0 -106
  202. package/framework/agents/frontend/blazor-builder.md +0 -229
  203. package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
  204. package/framework/agents/infrastructure/azure-architect.md +0 -150
  205. package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
  206. package/framework/agents/infrastructure/bicep-architect.md +0 -132
  207. package/framework/agents/infrastructure/container-specialist.md +0 -137
  208. package/framework/agents/infrastructure/devops-engineer.md +0 -126
  209. package/framework/agents/integrations/azure-identity.md +0 -148
  210. package/framework/agents/quality/code-analyzer.md +0 -239
  211. package/framework/agents/quality/testing-specialist.md +0 -130
  212. package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
  213. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
  214. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
  215. package/framework/index/troubleshooting-index.json +0 -184
  216. package/framework/rules/testing-standards.md +0 -14
  217. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
  218. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
  219. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
  220. package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
  221. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
  222. package/framework/standards/ai-agents/blazor-ui.md +0 -364
  223. package/framework/standards/architecture/ddd/aggregates.md +0 -120
  224. package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
  225. package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
  226. package/framework/standards/architecture/ddd/entities.md +0 -99
  227. package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
  228. package/framework/standards/architecture/ddd/value-objects.md +0 -124
  229. package/framework/standards/backend/api/minimal-api.md +0 -494
  230. package/framework/standards/backend/api/rest.md +0 -492
  231. package/framework/standards/backend/authentication/passkeys.md +0 -428
  232. package/framework/standards/backend/database/ef-core.md +0 -199
  233. package/framework/standards/backend/database/migrations.md +0 -393
  234. package/framework/standards/backend/database/repository-patterns.md +0 -528
  235. package/framework/standards/backend/dotnet/async.md +0 -366
  236. package/framework/standards/backend/dotnet/core.md +0 -117
  237. package/framework/standards/backend/dotnet/di.md +0 -439
  238. package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  239. package/framework/standards/context/analytics.md +0 -96
  240. package/framework/standards/context/bundles.md +0 -110
  241. package/framework/standards/context/priming.md +0 -78
  242. package/framework/standards/core/architecture.md +0 -185
  243. package/framework/standards/core/coding.md +0 -214
  244. package/framework/standards/core/git-branching-strategy.md +0 -403
  245. package/framework/standards/core/git.md +0 -185
  246. package/framework/standards/core/testing.md +0 -295
  247. package/framework/standards/data/nosql/blob-storage.md +0 -102
  248. package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  249. package/framework/standards/frontend/blazor/design-checklist.md +0 -222
  250. package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  251. package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  252. package/framework/standards/frontend/blazor/html-conversion.md +0 -184
  253. package/framework/standards/frontend/blazor/lifecycle.md +0 -195
  254. package/framework/standards/frontend/blazor/pitfalls.md +0 -198
  255. package/framework/standards/frontend/blazor/state.md +0 -191
  256. package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -213
  257. package/framework/standards/infrastructure/azure/azure.md +0 -624
  258. package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  259. package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  260. package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  261. package/framework/standards/infrastructure/azure/services/functions.md +0 -486
  262. package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  263. package/framework/standards/infrastructure/azure/services/storage.md +0 -407
  264. package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
  265. package/framework/standards/integration/api/graphql.md +0 -91
  266. package/framework/standards/integration/api/grpc.md +0 -114
  267. package/framework/standards/integration/api/rest-design.md +0 -95
  268. package/framework/standards/integration/event-driven/cqrs.md +0 -101
  269. package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  270. package/framework/standards/integration/event-driven/service-bus.md +0 -95
  271. package/framework/standards/observability/logging.md +0 -131
  272. package/framework/standards/observability/metrics.md +0 -121
  273. package/framework/standards/observability/monitoring.md +0 -114
  274. package/framework/standards/observability/tracing.md +0 -132
  275. package/framework/standards/workflows/parallel-execution.md +0 -112
  276. package/framework/standards/workflows/thread-management.md +0 -113
  277. package/framework/templates/code/dotnet/backend/service.cs +0 -139
  278. package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  279. package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  280. package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  281. package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  282. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
  283. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
  284. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
  285. package/framework/templates/code/dotnet/frontend/component.razor +0 -239
  286. package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  287. package/framework/templates/infrastructure/azure/README.md +0 -286
  288. package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  289. package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  290. package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  291. package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  292. package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  293. package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  294. package/framework/templates/infrastructure/azure/deploy.sh +0 -208
  295. package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  296. package/framework/templates/infrastructure/azure/main.bicep +0 -189
  297. package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  298. package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  299. package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  300. package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  301. package/framework/templates/infrastructure/azure/storage.bicep +0 -106
  302. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  303. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  304. package/framework/templates/integrations/azure-identity-config.cs +0 -288
  305. package/framework/templates/project-structure/dotnet-ddd.md +0 -70
  306. package/framework/templates/saas/subscription.cs +0 -347
  307. package/framework/templates/saas/tenant.cs +0 -338
  308. package/framework/templates/ui/FluentDesignTheme.cs +0 -149
  309. package/framework/templates/ui/MudTheme.cs +0 -281
  310. package/framework/workflows/configs/nodejs-cli.json +0 -40
  311. package/src/commands/standards/context-budget.js +0 -89
  312. package/src/lib/standards/index.js +0 -7
  313. package/src/lib/standards/standards-context-injector.js +0 -302
  314. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
  315. package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
  316. package/src/lib/validators/blazor/blazor-validator.js +0 -369
  317. 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 (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."
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",
597
+ "id": "frontend-nextjs-naming-conventions",
1514
598
  "scope": "all",
1515
599
  "priority": "required"
1516
600
  },
1517
601
  {
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",
602
+ "id": "frontend-nextjs-project-structure",
1555
603
  "scope": "all",
1556
604
  "priority": "required"
1557
605
  },
1558
606
  {
1559
- "id": "core-architecture",
607
+ "id": "frontend-nextjs-app-router",
1560
608
  "scope": "all",
1561
609
  "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": [
610
+ },
1593
611
  {
1594
- "id": "core-coding",
612
+ "id": "frontend-nextjs-components",
1595
613
  "scope": "all",
1596
614
  "priority": "required"
1597
615
  },
1598
616
  {
1599
- "id": "core-architecture",
1600
- "scope": "all",
617
+ "id": "frontend-nextjs-data-fetching",
618
+ "scope": "implement",
1601
619
  "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": [
620
+ },
1631
621
  {
1632
- "id": "core-coding",
1633
- "scope": "all",
622
+ "id": "frontend-nextjs-forms",
623
+ "scope": "implement",
1634
624
  "priority": "required"
1635
625
  },
1636
626
  {
1637
- "id": "core-architecture",
1638
- "scope": "all",
627
+ "id": "frontend-nextjs-state-management",
628
+ "scope": "implement",
1639
629
  "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": [
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)",
@@ -1988,7 +880,11 @@
1988
880
  "design system",
1989
881
  "css",
1990
882
  "color palette",
1991
- "spacing"
883
+ "spacing",
884
+ "motion tokens",
885
+ "glassmorphism",
886
+ "design trends",
887
+ "advanced effects"
1992
888
  ],
1993
889
  "validators": [
1994
890
  "design-system"
@@ -2008,120 +904,22 @@
2008
904
  "teammate": {
2009
905
  "icon": "🎨",
2010
906
  "role": "Design System Validator (read-only)",
2011
- "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-secondary), etc.)\n2. Spacing — look for hardcoded px/rem values instead of spacing variables (var(--spacing-*))\n3. Typography — look for hardcoded font-size/font-family instead of typography variables (var(--font-*))\n4. Component naming — verify PascalCase for Blazor components (.razor) and kebab-case for CSS classes\n5. Check .morph/context/design-system.md if it exists 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\" }] }"
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\" }] }"
2012
908
  },
2013
909
  "hook_behavior": {
2014
910
  "validates": [
2015
- "CSS color palette compliance (primary, secondary, accent)",
2016
- "Spacing values (use var(--spacing-*))",
2017
- "Typography scale (use var(--font-*))",
2018
- "Component naming (PascalCase for Blazor, kebab-case for CSS)"
911
+ "CSS color palette compliance (primary, accent, surface, text, neutral, semantic)",
912
+ "Spacing values (use var(--space-*))",
913
+ "Typography scale (use var(--font-display), var(--font-body), var(--text-*))",
914
+ "Motion tokens (use var(--duration-*), var(--easing-*))",
915
+ "Shadow tokens (use var(--shadow-*), var(--shadow-colored-*), var(--shadow-layered-*))",
916
+ "Advanced effects (glassmorphism: var(--glass-*), aurora: var(--aurora-*), perspective: var(--perspective-*))",
917
+ "Component naming (kebab-case for CSS)"
2019
918
  ],
2020
919
  "severity": "warning",
2021
920
  "blocks_on_fail": false
2022
921
  }
2023
922
  },
2024
- "blazor-concurrency-validator": {
2025
- "tier": 4,
2026
- "title": "Blazor Concurrency Validator",
2027
- "group": "frontend",
2028
- "active_phases": [
2029
- "implement"
2030
- ],
2031
- "reports_to": "blazor-builder",
2032
- "domains": [
2033
- "blazor-concurrency"
2034
- ],
2035
- "keywords": [
2036
- "blazor",
2037
- "dbcontext",
2038
- "lifecycle",
2039
- "async",
2040
- "concurrency"
2041
- ],
2042
- "validators": [
2043
- "blazor-concurrency"
2044
- ],
2045
- "standards": [
2046
- {
2047
- "id": "frontend-blazor-lifecycle",
2048
- "scope": "all",
2049
- "priority": "required"
2050
- },
2051
- {
2052
- "id": "frontend-blazor-pitfalls",
2053
- "scope": "all",
2054
- "priority": "required"
2055
- },
2056
- {
2057
- "id": "frontend-blazor-state",
2058
- "scope": "all",
2059
- "priority": "required"
2060
- }
2061
- ],
2062
- "stacks": [
2063
- "blazor"
2064
- ],
2065
- "teammate": {
2066
- "icon": "⚡",
2067
- "role": "Blazor Concurrency Validator (read-only)",
2068
- "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\" }] }"
2069
- },
2070
- "hook_behavior": {
2071
- "validates": [
2072
- "DbContext lifecycle violations (dispose, scope issues)",
2073
- "Async void methods (use async Task instead)",
2074
- "JSInterop in OnInitialized (move to OnAfterRender)",
2075
- "State mutation without StateHasChanged"
2076
- ],
2077
- "severity": "error",
2078
- "blocks_on_fail": true
2079
- }
2080
- },
2081
- "morph-spec-validator": {
2082
- "tier": 4,
2083
- "title": "Morph-Spec Validator",
2084
- "group": "testing",
2085
- "active_phases": [
2086
- "implement",
2087
- "validate"
2088
- ],
2089
- "reports_to": "qa-lead",
2090
- "domains": [
2091
- "nodejs",
2092
- "cli",
2093
- "testing",
2094
- "validation"
2095
- ],
2096
- "keywords": [
2097
- "validate morph-spec",
2098
- "node.js validation",
2099
- "cli test"
2100
- ],
2101
- "validators": [
2102
- "morph-spec-standards"
2103
- ],
2104
- "standards": [],
2105
- "teammate": {
2106
- "icon": "🔬",
2107
- "role": "Morph-Spec Validator (read-only)",
2108
- "tools": "Read, Glob, Grep, Bash",
2109
- "maxTurns": 12,
2110
- "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\" }] }"
2111
- },
2112
- "hook_behavior": {
2113
- "validates": [
2114
- "ESM imports use .js extensions on relative paths",
2115
- "New commands are registered in bin/morph-spec.js",
2116
- "Tests exist for new modules (one test file per module)",
2117
- "npm test passes with no failures",
2118
- "No require() or module.exports used",
2119
- "Error handling follows fail-open pattern for hooks"
2120
- ],
2121
- "severity": "error",
2122
- "blocks_on_fail": true
2123
- }
2124
- },
2125
923
  "nextjs-component-validator": {
2126
924
  "tier": 4,
2127
925
  "title": "Next.js Component Validator",
@@ -2129,6 +927,9 @@
2129
927
  "active_phases": [
2130
928
  "implement"
2131
929
  ],
930
+ "domains": [
931
+ "frontend-nextjs"
932
+ ],
2132
933
  "keywords": [
2133
934
  "nextjs",
2134
935
  "tsx",
@@ -2163,15 +964,10 @@
2163
964
  "leader": "dotnet-senior",
2164
965
  "members": [
2165
966
  "ef-modeler",
2166
- "event-architect",
2167
- "api-designer",
2168
- "nosql-cache-expert",
2169
967
  "hangfire-orchestrator",
2170
968
  "ms-agent-expert",
2171
969
  "supabase-expert",
2172
970
  "vector-search-expert",
2173
- "context-optimizer",
2174
- "prompt-engineer",
2175
971
  "asaas-financial",
2176
972
  "clerk-auth",
2177
973
  "resend-email"
@@ -2179,15 +975,11 @@
2179
975
  "domains": [
2180
976
  "backend",
2181
977
  "backend-data",
2182
- "backend-events",
2183
978
  "backend-api",
2184
- "backend-nosql",
2185
- "backend-ddd",
2186
979
  "backend-jobs",
2187
980
  "ai-agents",
2188
981
  "backend-supabase",
2189
982
  "ai-vector",
2190
- "ai-context",
2191
983
  "integration-payment",
2192
984
  "integration-auth",
2193
985
  "integration-email"
@@ -2196,15 +988,14 @@
2196
988
  "frontend_squad": {
2197
989
  "leader": "ui-designer",
2198
990
  "members": [
2199
- "blazor-builder",
2200
991
  "nextjs-expert",
2201
992
  "css-specialist",
2202
993
  "seo-growth-hacker"
2203
994
  ],
2204
995
  "domains": [
2205
996
  "frontend-design",
2206
- "frontend-blazor",
2207
997
  "frontend-nextjs",
998
+ "frontend-nextjs-ui",
2208
999
  "frontend-css",
2209
1000
  "seo"
2210
1001
  ],
@@ -2213,7 +1004,6 @@
2213
1004
  "ui-designer"
2214
1005
  ],
2215
1006
  "implement": [
2216
- "blazor-builder",
2217
1007
  "nextjs-expert",
2218
1008
  "css-specialist",
2219
1009
  "seo-growth-hacker"
@@ -2222,37 +1012,19 @@
2222
1012
  },
2223
1013
  "infrastructure_squad": {
2224
1014
  "leader": "infra-architect",
2225
- "members": [
2226
- "bicep-architect",
2227
- "devops-engineer",
2228
- "container-specialist",
2229
- "observability-expert",
2230
- "azure-identity"
2231
- ],
1015
+ "members": [],
2232
1016
  "domains": [
2233
1017
  "infrastructure",
2234
- "infrastructure-iac",
2235
1018
  "infrastructure-cicd",
2236
- "infrastructure-containers",
2237
- "infrastructure-observability",
2238
- "infrastructure-identity"
1019
+ "infrastructure-containers"
2239
1020
  ]
2240
1021
  },
2241
1022
  "quality_squad": {
2242
1023
  "leader": "standards-architect",
2243
- "members": [
2244
- "testing-specialist",
2245
- "code-analyzer",
2246
- "troubleshooting-expert",
2247
- "load-testing-expert",
2248
- "documentation-specialist"
2249
- ],
1024
+ "members": [],
2250
1025
  "domains": [
2251
1026
  "quality-testing",
2252
- "quality-review",
2253
- "quality-debug",
2254
- "quality-performance",
2255
- "developer-experience-docs"
1027
+ "quality-review"
2256
1028
  ],
2257
1029
  "note": "No permanent leader — standards-architect coordinates directly"
2258
1030
  }