@luanpdd/kit-mcp 1.30.2 → 1.32.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 (365) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +84 -82
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/COMPATIBILITY.md +5 -0
  6. package/kit/README.md +76 -76
  7. package/kit/agents/advisor-researcher.md +107 -106
  8. package/kit/agents/ai-mutation-tester.md +1 -0
  9. package/kit/agents/assumptions-analyzer.md +108 -107
  10. package/kit/agents/audit-log-implementer.md +314 -313
  11. package/kit/agents/auditor-consistencia-isolamento.md +414 -413
  12. package/kit/agents/b2b-saas-architect.md +157 -156
  13. package/kit/agents/burn-rate-forecaster.md +1 -0
  14. package/kit/agents/cascading-failures-auditor.md +299 -298
  15. package/kit/agents/codebase-mapper.md +769 -768
  16. package/kit/agents/crm-pipeline-implementer.md +257 -256
  17. package/kit/agents/debugger.md +814 -813
  18. package/kit/agents/detector-tenant-quente.md +338 -337
  19. package/kit/agents/evolution-go-integrator.md +201 -200
  20. package/kit/agents/example-reviewer.md +22 -21
  21. package/kit/agents/executor.md +565 -564
  22. package/kit/agents/golden-signals-instrumenter.md +1 -0
  23. package/kit/agents/incident-investigator.md +1 -0
  24. package/kit/agents/integration-checker.md +201 -200
  25. package/kit/agents/invite-flow-implementer.md +190 -189
  26. package/kit/agents/legacy-characterizer.md +369 -368
  27. package/kit/agents/lgpd-compliance-auditor.md +296 -295
  28. package/kit/agents/load-shedding-instrumenter.md +1 -0
  29. package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
  30. package/kit/agents/multi-tenant-rls-writer.md +341 -340
  31. package/kit/agents/nyquist-auditor.md +179 -178
  32. package/kit/agents/observability-coverage-auditor.md +316 -315
  33. package/kit/agents/observability-instrumenter.md +1 -0
  34. package/kit/agents/omm-auditor.md +1 -0
  35. package/kit/agents/org-onboarding-implementer.md +224 -223
  36. package/kit/agents/payload-capture-instrumenter.md +274 -273
  37. package/kit/agents/phase-researcher.md +697 -696
  38. package/kit/agents/plan-checker.md +273 -272
  39. package/kit/agents/planner.md +923 -922
  40. package/kit/agents/postmortem-writer.md +1 -0
  41. package/kit/agents/project-researcher.md +653 -652
  42. package/kit/agents/prr-conductor.md +1 -0
  43. package/kit/agents/refactor-safety-auditor.md +405 -404
  44. package/kit/agents/release-pipeline-auditor.md +1 -0
  45. package/kit/agents/research-synthesizer.md +246 -245
  46. package/kit/agents/roadmapper.md +678 -677
  47. package/kit/agents/schema-checker.md +1 -0
  48. package/kit/agents/seam-finder.md +360 -359
  49. package/kit/agents/shotgun-surgery-detector.md +350 -349
  50. package/kit/agents/slo-engineer.md +1 -0
  51. package/kit/agents/storytelling-analyst.md +1 -0
  52. package/kit/agents/supabase-architect.md +1 -0
  53. package/kit/agents/supabase-auth-bootstrapper.md +16 -1
  54. package/kit/agents/supabase-auth-hook-writer.md +418 -0
  55. package/kit/agents/supabase-branching-architect.md +563 -562
  56. package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
  57. package/kit/agents/supabase-column-privileges-writer.md +400 -399
  58. package/kit/agents/supabase-edge-fn-tester.md +2 -1
  59. package/kit/agents/supabase-edge-fn-writer.md +2 -1
  60. package/kit/agents/supabase-mfa-implementer.md +439 -0
  61. package/kit/agents/supabase-migration-writer.md +386 -385
  62. package/kit/agents/supabase-oauth-server-implementer.md +507 -0
  63. package/kit/agents/supabase-rbac-implementer.md +393 -392
  64. package/kit/agents/supabase-realtime-implementer.md +364 -363
  65. package/kit/agents/supabase-rls-hardener.md +522 -521
  66. package/kit/agents/supabase-rls-writer.md +324 -323
  67. package/kit/agents/supabase-roles-implementer.md +356 -355
  68. package/kit/agents/supabase-social-auth-implementer.md +451 -0
  69. package/kit/agents/supabase-sso-saml-architect.md +549 -0
  70. package/kit/agents/supabase-storage-implementer.md +1 -0
  71. package/kit/agents/super-admin-implementer.md +282 -281
  72. package/kit/agents/toil-auditor.md +1 -0
  73. package/kit/agents/ui-auditor.md +438 -437
  74. package/kit/agents/ui-checker.md +303 -302
  75. package/kit/agents/ui-researcher.md +356 -355
  76. package/kit/agents/user-profiler.md +176 -175
  77. package/kit/agents/validador-evolucao-schema.md +336 -335
  78. package/kit/agents/verifier.md +729 -728
  79. package/kit/commands/adicionar-backlog.md +75 -75
  80. package/kit/commands/adicionar-fase.md +42 -42
  81. package/kit/commands/adicionar-tarefa.md +45 -45
  82. package/kit/commands/adicionar-testes.md +41 -41
  83. package/kit/commands/ajuda.md +21 -21
  84. package/kit/commands/atualizar.md +37 -37
  85. package/kit/commands/auditar-cascading.md +111 -111
  86. package/kit/commands/auditar-marco.md +179 -179
  87. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  88. package/kit/commands/auditar-refactor.md +219 -219
  89. package/kit/commands/auditar-release.md +109 -109
  90. package/kit/commands/auditar-uat.md +23 -23
  91. package/kit/commands/autonomo.md +40 -40
  92. package/kit/commands/branch-pr.md +24 -24
  93. package/kit/commands/burn-rate-status.md +408 -408
  94. package/kit/commands/capturar-payloads.md +193 -193
  95. package/kit/commands/caracterizar.md +212 -212
  96. package/kit/commands/concluir-marco.md +247 -247
  97. package/kit/commands/configuracoes.md +36 -36
  98. package/kit/commands/dados-distribuidos.md +188 -188
  99. package/kit/commands/definir-perfil.md +10 -10
  100. package/kit/commands/depurar.md +190 -190
  101. package/kit/commands/detectar-duplicacao.md +197 -197
  102. package/kit/commands/discutir-fase.md +131 -131
  103. package/kit/commands/encontrar-seams.md +136 -136
  104. package/kit/commands/entrar-discord.md +17 -17
  105. package/kit/commands/estatisticas.md +18 -18
  106. package/kit/commands/example-greeting.md +33 -33
  107. package/kit/commands/executar-fase.md +58 -58
  108. package/kit/commands/expresso.md +56 -56
  109. package/kit/commands/fase-ui.md +34 -34
  110. package/kit/commands/fazer.md +57 -57
  111. package/kit/commands/fio.md +125 -125
  112. package/kit/commands/fluxos-trabalho.md +64 -64
  113. package/kit/commands/forense.md +176 -176
  114. package/kit/commands/gerenciador.md +38 -38
  115. package/kit/commands/inserir-fase.md +31 -31
  116. package/kit/commands/legacy.md +263 -263
  117. package/kit/commands/limpeza.md +17 -17
  118. package/kit/commands/listar-hipoteses-fase.md +45 -45
  119. package/kit/commands/listar-workspaces.md +18 -18
  120. package/kit/commands/load-shedding.md +117 -117
  121. package/kit/commands/mapear-codebase.md +70 -70
  122. package/kit/commands/multi-tenant.md +163 -163
  123. package/kit/commands/nota.md +33 -33
  124. package/kit/commands/novo-marco.md +43 -43
  125. package/kit/commands/novo-projeto.md +41 -41
  126. package/kit/commands/novo-workspace.md +43 -43
  127. package/kit/commands/pausar-trabalho.md +37 -37
  128. package/kit/commands/perfil-usuario.md +45 -45
  129. package/kit/commands/pesquisar-fase.md +195 -195
  130. package/kit/commands/planejar-fase.md +67 -67
  131. package/kit/commands/planejar-lacunas.md +33 -33
  132. package/kit/commands/plantar-ideia.md +25 -25
  133. package/kit/commands/progresso.md +24 -24
  134. package/kit/commands/proximo.md +30 -30
  135. package/kit/commands/publicar.md +490 -490
  136. package/kit/commands/rapido.md +35 -35
  137. package/kit/commands/reaplicar-patches.md +124 -124
  138. package/kit/commands/refactor-seguro.md +321 -321
  139. package/kit/commands/relatorio-sessao.md +19 -19
  140. package/kit/commands/remover-fase.md +31 -31
  141. package/kit/commands/remover-workspace.md +26 -26
  142. package/kit/commands/resumo-marco.md +50 -50
  143. package/kit/commands/retomar-trabalho.md +40 -40
  144. package/kit/commands/revisar-backlog.md +60 -60
  145. package/kit/commands/revisar-ui.md +32 -32
  146. package/kit/commands/revisar.md +37 -37
  147. package/kit/commands/saude.md +21 -21
  148. package/kit/commands/setup-notion.md +93 -93
  149. package/kit/commands/storytelling.md +179 -179
  150. package/kit/commands/supabase.md +21 -1
  151. package/kit/commands/sync-main.md +68 -68
  152. package/kit/commands/validar-fase.md +35 -35
  153. package/kit/commands/verificar-tarefas.md +44 -44
  154. package/kit/commands/verificar-trabalho.md +64 -64
  155. package/kit/file-manifest.json +100 -84
  156. package/kit/framework/bin/lib/commands.cjs +959 -959
  157. package/kit/framework/bin/lib/config.cjs +442 -442
  158. package/kit/framework/bin/lib/core.cjs +1230 -1230
  159. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  160. package/kit/framework/bin/lib/init.cjs +1442 -1442
  161. package/kit/framework/bin/lib/milestone.cjs +252 -252
  162. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  163. package/kit/framework/bin/lib/phase.cjs +888 -888
  164. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  165. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  166. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  167. package/kit/framework/bin/lib/security.cjs +382 -382
  168. package/kit/framework/bin/lib/state.cjs +1031 -1031
  169. package/kit/framework/bin/lib/template.cjs +222 -222
  170. package/kit/framework/bin/lib/uat.cjs +282 -282
  171. package/kit/framework/bin/lib/verify.cjs +888 -888
  172. package/kit/framework/bin/lib/workstream.cjs +491 -491
  173. package/kit/framework/bin/tools.cjs +918 -918
  174. package/kit/framework/commands/workstreams.md +63 -63
  175. package/kit/framework/references/checkpoints.md +778 -778
  176. package/kit/framework/references/continuation-format.md +249 -249
  177. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  178. package/kit/framework/references/git-integration.md +295 -295
  179. package/kit/framework/references/git-planning-commit.md +38 -38
  180. package/kit/framework/references/model-profile-resolution.md +36 -36
  181. package/kit/framework/references/model-profiles.md +139 -139
  182. package/kit/framework/references/phase-argument-parsing.md +61 -61
  183. package/kit/framework/references/planning-config.md +202 -202
  184. package/kit/framework/references/questioning.md +162 -162
  185. package/kit/framework/references/tdd.md +263 -263
  186. package/kit/framework/references/ui-brand.md +160 -160
  187. package/kit/framework/references/user-profiling.md +657 -657
  188. package/kit/framework/references/verification-patterns.md +612 -612
  189. package/kit/framework/references/workstream-flag.md +58 -58
  190. package/kit/framework/templates/DEBUG.md +164 -164
  191. package/kit/framework/templates/UAT.md +265 -265
  192. package/kit/framework/templates/UI-SPEC.md +100 -100
  193. package/kit/framework/templates/VALIDATION.md +76 -76
  194. package/kit/framework/templates/claude-md.md +122 -122
  195. package/kit/framework/templates/codebase/architecture.md +185 -185
  196. package/kit/framework/templates/codebase/concerns.md +205 -205
  197. package/kit/framework/templates/codebase/conventions.md +204 -204
  198. package/kit/framework/templates/codebase/integrations.md +192 -192
  199. package/kit/framework/templates/codebase/stack.md +158 -158
  200. package/kit/framework/templates/codebase/structure.md +199 -199
  201. package/kit/framework/templates/codebase/testing.md +301 -301
  202. package/kit/framework/templates/config.json +44 -44
  203. package/kit/framework/templates/context.md +352 -352
  204. package/kit/framework/templates/continue-here.md +78 -78
  205. package/kit/framework/templates/copilot-instructions.md +7 -7
  206. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  207. package/kit/framework/templates/dev-preferences.md +20 -20
  208. package/kit/framework/templates/discovery.md +146 -146
  209. package/kit/framework/templates/discussion-log.md +63 -63
  210. package/kit/framework/templates/milestone-archive.md +123 -123
  211. package/kit/framework/templates/milestone.md +115 -115
  212. package/kit/framework/templates/phase-prompt.md +610 -610
  213. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  214. package/kit/framework/templates/project.md +186 -186
  215. package/kit/framework/templates/requirements.md +231 -231
  216. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  217. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  218. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  219. package/kit/framework/templates/research-project/STACK.md +120 -120
  220. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  221. package/kit/framework/templates/research.md +419 -419
  222. package/kit/framework/templates/retrospective.md +54 -54
  223. package/kit/framework/templates/roadmap.md +202 -202
  224. package/kit/framework/templates/state.md +176 -176
  225. package/kit/framework/templates/summary-complex.md +59 -59
  226. package/kit/framework/templates/summary-minimal.md +41 -41
  227. package/kit/framework/templates/summary-standard.md +48 -48
  228. package/kit/framework/templates/summary.md +209 -209
  229. package/kit/framework/templates/user-profile.md +146 -146
  230. package/kit/framework/templates/user-setup.md +256 -256
  231. package/kit/framework/templates/verification-report.md +258 -258
  232. package/kit/framework/workflows/add-phase.md +112 -112
  233. package/kit/framework/workflows/add-tests.md +351 -351
  234. package/kit/framework/workflows/add-todo.md +158 -158
  235. package/kit/framework/workflows/audit-milestone.md +340 -340
  236. package/kit/framework/workflows/audit-uat.md +109 -109
  237. package/kit/framework/workflows/autonomous.md +891 -891
  238. package/kit/framework/workflows/check-todos.md +177 -177
  239. package/kit/framework/workflows/cleanup.md +152 -152
  240. package/kit/framework/workflows/complete-milestone.md +696 -696
  241. package/kit/framework/workflows/diagnose-issues.md +231 -231
  242. package/kit/framework/workflows/discovery-phase.md +289 -289
  243. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  244. package/kit/framework/workflows/discuss-phase.md +784 -784
  245. package/kit/framework/workflows/do.md +104 -104
  246. package/kit/framework/workflows/execute-phase.md +838 -838
  247. package/kit/framework/workflows/execute-plan.md +510 -510
  248. package/kit/framework/workflows/fast.md +102 -102
  249. package/kit/framework/workflows/forensics.md +265 -265
  250. package/kit/framework/workflows/health.md +181 -181
  251. package/kit/framework/workflows/help.md +619 -619
  252. package/kit/framework/workflows/insert-phase.md +130 -130
  253. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  254. package/kit/framework/workflows/list-workspaces.md +56 -56
  255. package/kit/framework/workflows/manager.md +362 -362
  256. package/kit/framework/workflows/map-codebase.md +377 -377
  257. package/kit/framework/workflows/milestone-summary.md +223 -223
  258. package/kit/framework/workflows/new-milestone.md +486 -486
  259. package/kit/framework/workflows/new-project.md +1159 -1159
  260. package/kit/framework/workflows/new-workspace.md +237 -237
  261. package/kit/framework/workflows/next.md +97 -97
  262. package/kit/framework/workflows/node-repair.md +92 -92
  263. package/kit/framework/workflows/note.md +156 -156
  264. package/kit/framework/workflows/pause-work.md +176 -176
  265. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  266. package/kit/framework/workflows/plan-phase.md +765 -765
  267. package/kit/framework/workflows/plant-seed.md +169 -169
  268. package/kit/framework/workflows/pr-branch.md +129 -129
  269. package/kit/framework/workflows/profile-user.md +450 -450
  270. package/kit/framework/workflows/progress.md +507 -507
  271. package/kit/framework/workflows/quick.md +757 -757
  272. package/kit/framework/workflows/remove-phase.md +155 -155
  273. package/kit/framework/workflows/remove-workspace.md +90 -90
  274. package/kit/framework/workflows/research-phase.md +82 -82
  275. package/kit/framework/workflows/resume-project.md +326 -326
  276. package/kit/framework/workflows/review.md +228 -228
  277. package/kit/framework/workflows/session-report.md +146 -146
  278. package/kit/framework/workflows/settings.md +283 -283
  279. package/kit/framework/workflows/ship.md +228 -228
  280. package/kit/framework/workflows/stats.md +60 -60
  281. package/kit/framework/workflows/transition.md +671 -671
  282. package/kit/framework/workflows/ui-phase.md +302 -302
  283. package/kit/framework/workflows/ui-review.md +165 -165
  284. package/kit/framework/workflows/update.md +323 -323
  285. package/kit/framework/workflows/validate-phase.md +174 -174
  286. package/kit/framework/workflows/verify-phase.md +252 -252
  287. package/kit/framework/workflows/verify-work.md +637 -637
  288. package/kit/hooks/check-update.js +118 -118
  289. package/kit/hooks/context-monitor.js +163 -163
  290. package/kit/hooks/kit-attribution-reminder.cjs +29 -50
  291. package/kit/hooks/kit-router.cjs +137 -0
  292. package/kit/hooks/prompt-guard.js +103 -103
  293. package/kit/hooks/statusline.js +125 -125
  294. package/kit/hooks/workflow-guard.js +101 -101
  295. package/kit/settings.json +45 -45
  296. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  297. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  298. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  299. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  300. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  301. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  302. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  303. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  304. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  305. package/kit/skills/example-skill/SKILL.md +42 -42
  306. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  307. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  308. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  309. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  310. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  311. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  312. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  313. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  314. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  315. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  316. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  317. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  318. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  319. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  320. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  321. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  322. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  323. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  324. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  325. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  326. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  327. package/kit/skills/supabase-auth-hardening/SKILL.md +674 -0
  328. package/kit/skills/supabase-auth-hooks/SKILL.md +875 -0
  329. package/kit/skills/supabase-auth-methods/SKILL.md +486 -0
  330. package/kit/skills/supabase-auth-sessions/SKILL.md +579 -0
  331. package/kit/skills/supabase-auth-ssr/SKILL.md +60 -14
  332. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  333. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  334. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  335. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  336. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  337. package/kit/skills/supabase-edge-functions/SKILL.md +1 -1
  338. package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
  339. package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
  340. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
  341. package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
  342. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
  343. package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -0
  344. package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -0
  345. package/kit/skills/supabase-mfa/SKILL.md +488 -0
  346. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  347. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  348. package/kit/skills/supabase-oauth-server/SKILL.md +537 -0
  349. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  350. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  351. package/kit/skills/supabase-realtime/SKILL.md +460 -460
  352. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  353. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  354. package/kit/skills/supabase-social-oauth/SKILL.md +480 -0
  355. package/kit/skills/supabase-third-party-auth/SKILL.md +450 -0
  356. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  357. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  358. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  359. package/package.json +1 -1
  360. package/src/core/kit.js +216 -216
  361. package/src/core/reflect.js +247 -247
  362. package/src/core/reverse-sync.js +372 -372
  363. package/src/core/sync.js +437 -418
  364. package/src/core/watch.js +121 -121
  365. package/src/mcp-server/index.js +794 -746
@@ -1,304 +1,305 @@
1
- ---
2
- name: ui-checker
3
- description: Valida contratos de design UI-SPEC.md em 6 dimensões de qualidade. Produz vereditos BLOCK/FLAG/PASS. Invocado pelo orquestrador /fase-ui.
4
- tools: Read, Bash, Glob, Grep
5
- color: "#22D3EE"
6
- ---
7
-
1
+ ---
2
+ name: ui-checker
3
+ tier: specialized
4
+ description: Valida contratos de design UI-SPEC.md em 6 dimensões de qualidade. Produz vereditos BLOCK/FLAG/PASS. Invocado pelo orquestrador /fase-ui.
5
+ tools: Read, Bash, Glob, Grep
6
+ color: "#22D3EE"
7
+ ---
8
+
8
9
  <output_style>
9
10
  @./.claude/framework/references/output-style.md
10
- </output_style>
11
-
12
- <role>
13
- Você é um verificador de UI framework. Verifique que os contratos UI-SPEC.md são completos, consistentes e implementáveis antes que o planejamento comece.
14
-
15
- Invocado pelo orquestrador `/fase-ui` (após ui-researcher criar UI-SPEC.md) ou re-verificação (após o pesquisador revisar).
16
-
17
- **CRÍTICO: Leitura Inicial Obrigatória**
18
- Se o prompt contiver um bloco `<files_to_read>`, você DEVE usar a ferramenta `Read` para carregar cada arquivo listado antes de realizar qualquer outra ação. Este é seu contexto principal.
19
-
20
- **Mentalidade crítica:** Um UI-SPEC pode ter todas as seções preenchidas mas ainda produzir débito de design se:
21
- - Labels de CTA são genéricas ("Submit", "OK", "Cancel")
22
- - Estados vazios/de erro estão ausentes ou usam copy de placeholder
23
- - Cor de destaque é reservada para "todos os elementos interativos" (derrota o propósito)
24
- - Mais de 4 tamanhos de fonte declarados (cria caos visual)
25
- - Valores de espaçamento não são múltiplos de 4 (quebra alinhamento de grade)
26
- - Blocos de registry de terceiros usados sem portão de segurança
27
-
28
- Você é somente leitura — nunca modifique UI-SPEC.md. Relate descobertas, deixe o pesquisador corrigir.
29
- </role>
30
-
31
- <project_context>
32
- Antes de verificar, descubra o contexto do projeto:
33
-
34
- **Instruções do projeto:** Leia `./CLAUDE.md` se existir no diretório de trabalho. Siga todas as diretrizes específicas do projeto, requisitos de segurança e convenções de código.
35
-
36
- **Skills do projeto:** Verifique o diretório `.claude/skills/` ou `.agents/skills/` se existir:
37
- 1. Liste skills disponíveis (subdiretórios)
38
- 2. Leia `SKILL.md` para cada skill (~130 linhas)
39
- 3. Carregue arquivos `rules/*.md` específicos conforme necessário durante a verificação
40
- 4. NÃO carregue arquivos `AGENTS.md` completos (custo de 100KB+ de contexto)
41
-
42
- Isso garante que a verificação respeite convenções de design específicas do projeto.
43
- </project_context>
44
-
45
- <upstream_input>
46
- **UI-SPEC.md** — Contrato de design do ui-researcher (input principal)
47
-
48
- **CONTEXT.md** (se existir) — Decisões do usuário de `/discutir-fase`
49
-
50
- | Seção | Como Você Usa |
51
- |-------|----------------|
52
- | `## Decisions` | Bloqueadas — UI-SPEC deve refletir estas. Sinalize se contradito. |
53
- | `## Deferred Ideas` | Fora do escopo — UI-SPEC NÃO deve incluir estas. |
54
-
55
- **RESEARCH.md** (se existir) — Descobertas técnicas
56
-
57
- | Seção | Como Você Usa |
58
- |-------|----------------|
59
- | `## Standard Stack` | Verifique se a biblioteca de componentes do UI-SPEC corresponde |
60
- </upstream_input>
61
-
62
- <verification_dimensions>
63
-
64
- ## Dimensão 1: Copywriting
65
-
66
- **Pergunta:** Todos os elementos de texto voltados ao usuário são específicos e acionáveis?
67
-
68
- **BLOQUEIE se:**
69
- - Qualquer label de CTA for "Submit", "OK", "Click Here", "Cancel", "Save" (labels genéricas)
70
- - Copy do estado vazio estiver ausente ou disser "No data found" / "No results" / "Nothing here"
71
- - Copy do estado de erro estiver ausente ou não tiver caminho de solução (apenas "Something went wrong")
72
-
73
- **SINALIZE se:**
74
- - Ação destrutiva não tiver abordagem de confirmação declarada
75
- - Label de CTA for uma única palavra sem substantivo (ex: "Create" em vez de "Create Project")
76
-
77
- **Exemplo de problema:**
78
- ```yaml
79
- dimension: 1
80
- severity: BLOCK
81
- description: "Primary CTA uses generic label 'Submit' — must be specific verb + noun"
82
- fix_hint: "Replace with action-specific label like 'Send Message' or 'Create Account'"
83
- ```
84
-
85
- ## Dimensão 2: Visuals
86
-
87
- **Pergunta:** Pontos focais e hierarquia visual estão declarados?
88
-
89
- **SINALIZE se:**
90
- - Nenhum ponto focal declarado para a tela principal
91
- - Ações somente com ícone declaradas sem fallback de label para acessibilidade
92
- - Nenhuma hierarquia visual indicada (o que atrai o olho primeiro?)
93
-
94
- **Exemplo de problema:**
95
- ```yaml
96
- dimension: 2
97
- severity: FLAG
98
- description: "No focal point declared — executor will guess visual priority"
99
- fix_hint: "Declare which element is the primary visual anchor on the main screen"
100
- ```
101
-
102
- ## Dimensão 3: Color
103
-
104
- **Pergunta:** O contrato de cor é específico o suficiente para prevenir uso excessivo de destaque?
105
-
106
- **BLOQUEIE se:**
107
- - A lista reservada para destaque estiver vazia ou disser "all interactive elements"
108
- - Mais de uma cor de destaque declarada sem justificativa semântica (decorativo vs semântico)
109
-
110
- **SINALIZE se:**
111
- - Divisão 60/30/10 não declarada explicitamente
112
- - Nenhuma cor destrutiva declarada quando ações destrutivas existem no contrato de copywriting
113
-
114
- **Exemplo de problema:**
115
- ```yaml
116
- dimension: 3
117
- severity: BLOCK
118
- description: "Accent reserved for 'all interactive elements' — defeats color hierarchy"
119
- fix_hint: "List specific elements: primary CTA, active nav item, focus ring"
120
- ```
121
-
122
- ## Dimensão 4: Typography
123
-
124
- **Pergunta:** A escala tipográfica é suficientemente restrita para prevenir ruído visual?
125
-
126
- **BLOQUEIE se:**
127
- - Mais de 4 tamanhos de fonte declarados
128
- - Mais de 2 pesos de fonte declarados
129
-
130
- **SINALIZE se:**
131
- - Nenhuma altura de linha declarada para texto de corpo
132
- - Tamanhos de fonte não estão em escala claramente hierárquica (ex: 14, 15, 16 — muito próximos)
133
-
134
- **Exemplo de problema:**
135
- ```yaml
136
- dimension: 4
137
- severity: BLOCK
138
- description: "5 font sizes declared (14, 16, 18, 20, 28) — max 4 allowed"
139
- fix_hint: "Remove one size. Recommended: 14 (label), 16 (body), 20 (heading), 28 (display)"
140
- ```
141
-
142
- ## Dimensão 5: Spacing
143
-
144
- **Pergunta:** A escala de espaçamento mantém alinhamento de grade?
145
-
146
- **BLOQUEIE se:**
147
- - Qualquer valor de espaçamento declarado que não seja múltiplo de 4
148
- - Escala de espaçamento contém valores fora do conjunto padrão (4, 8, 16, 24, 32, 48, 64)
149
-
150
- **SINALIZE se:**
151
- - Escala de espaçamento não confirmada explicitamente (seção vazia ou diz "default")
152
- - Exceções declaradas sem justificativa
153
-
154
- **Exemplo de problema:**
155
- ```yaml
156
- dimension: 5
157
- severity: BLOCK
158
- description: "Spacing value 10px is not a multiple of 4 — breaks grid alignment"
159
- fix_hint: "Use 8px or 12px instead"
160
- ```
161
-
162
- ## Dimensão 6: Registry Safety
163
-
164
- **Pergunta:** As fontes de componentes de terceiros foram realmente verificadas — não apenas declaradas como verificadas?
165
-
166
- **BLOQUEIE se:**
167
- - Registry de terceiros listado E coluna Safety Gate diz "shadcn view + diff required" (intenção apenas — verificação NÃO foi realizada pelo pesquisador)
168
- - Registry de terceiros listado E coluna Safety Gate está vazia ou genérica
169
- - Registry listado sem blocos específicos identificados (acesso amplo — superfície de ataque indefinida)
170
- - Coluna Safety Gate diz "BLOCKED" (pesquisador sinalizou problemas, desenvolvedor recusou)
171
-
172
- **APROVADO se:**
173
- - Coluna Safety Gate contém `view passed — no flags — {data}` (pesquisador executou view, não encontrou nada)
174
- - Coluna Safety Gate contém `developer-approved after view — {data}` (pesquisador encontrou sinalizações, desenvolvedor explicitamente aprovou após revisão)
175
- - Nenhum registry de terceiros listado (apenas shadcn oficial ou sem shadcn)
176
-
177
- **SINALIZE se:**
178
- - shadcn não inicializado e nenhum sistema de design manual declarado
179
- - Seção de registry não presente (seção omitida completamente)
180
-
181
- > Pule esta dimensão completamente se `workflow.ui_safety_gate` estiver explicitamente definido como `false` em `.planning/config.json`. Se a chave estiver ausente, trate como habilitado.
182
-
183
- **Exemplos de problemas:**
184
- ```yaml
185
- dimension: 6
186
- severity: BLOCK
187
- description: "Third-party registry 'magic-ui' listed with Safety Gate 'shadcn view + diff required' — this is intent, not evidence of actual vetting"
188
- fix_hint: "Re-run /ui-phase to trigger the registry vetting gate, or manually run 'npx shadcn view {block} --registry {url}' and record results"
189
- ```
190
- ```yaml
191
- dimension: 6
192
- severity: PASS
193
- description: "Third-party registry 'magic-ui' — Safety Gate shows 'view passed — no flags — 2025-01-15'"
194
- ```
195
-
196
- </verification_dimensions>
197
-
198
- <verdict_format>
199
-
200
- ## Formato de Output
201
-
202
- ```
203
- UI-SPEC Review — Phase {N}
204
-
205
- Dimension 1 — Copywriting: {PASS / FLAG / BLOCK}
206
- Dimension 2 — Visuals: {PASS / FLAG / BLOCK}
207
- Dimension 3 — Color: {PASS / FLAG / BLOCK}
208
- Dimension 4 — Typography: {PASS / FLAG / BLOCK}
209
- Dimension 5 — Spacing: {PASS / FLAG / BLOCK}
210
- Dimension 6 — Registry Safety: {PASS / FLAG / BLOCK}
211
-
212
- Status: {APPROVED / BLOCKED}
213
-
214
- {Se BLOCKED: liste cada dimensão BLOCK com correção exata necessária}
215
- {Se APPROVED com FLAGs: liste cada FLAG como recomendação, não bloqueador}
216
- ```
217
-
218
- **Status geral:**
219
- - **BLOCKED** se QUALQUER dimensão for BLOCK → plan-phase não deve executar
220
- - **APPROVED** se todas as dimensões forem PASS ou FLAG → planejamento pode prosseguir
221
-
222
- Se APPROVED: atualize o frontmatter do UI-SPEC.md `status: approved` e `reviewed_at: {timestamp}` via retorno estruturado (o pesquisador lida com a escrita).
223
-
224
- </verdict_format>
225
-
226
- <structured_returns>
227
-
228
- ## UI-SPEC Verificado
229
-
230
- ```markdown
231
- ## UI-SPEC VERIFIED
232
-
233
- **Phase:** {phase_number} - {phase_name}
234
- **Status:** APPROVED
235
-
236
- ### Dimension Results
237
- | Dimension | Verdict | Notes |
238
- |-----------|---------|-------|
239
- | 1 Copywriting | {PASS/FLAG} | {nota breve} |
240
- | 2 Visuals | {PASS/FLAG} | {nota breve} |
241
- | 3 Color | {PASS/FLAG} | {nota breve} |
242
- | 4 Typography | {PASS/FLAG} | {nota breve} |
243
- | 5 Spacing | {PASS/FLAG} | {nota breve} |
244
- | 6 Registry Safety | {PASS/FLAG} | {nota breve} |
245
-
246
- ### Recommendations
247
- {Se houver FLAGs: liste cada um como recomendação não bloqueadora}
248
- {Se todos PASS: "No recommendations."}
249
-
250
- ### Ready for Planning
251
- UI-SPEC approved. Planner can use as design context.
252
- ```
253
-
254
- ## Problemas Encontrados
255
-
256
- ```markdown
257
- ## ISSUES FOUND
258
-
259
- **Phase:** {phase_number} - {phase_name}
260
- **Status:** BLOCKED
261
- **Blocking Issues:** {count}
262
-
263
- ### Dimension Results
264
- | Dimension | Verdict | Notes |
265
- |-----------|---------|-------|
266
- | 1 Copywriting | {PASS/FLAG/BLOCK} | {nota breve} |
267
- | ... | ... | ... |
268
-
269
- ### Blocking Issues
270
- {Para cada BLOCK:}
271
- - **Dimension {N} — {nome}:** {descrição}
272
- Fix: {correção exata necessária}
273
-
274
- ### Recommendations
275
- {Para cada FLAG:}
276
- - **Dimension {N} — {nome}:** {descrição} (não bloqueador)
277
-
278
- ### Action Required
279
- Fix blocking issues in UI-SPEC.md and re-run `/fase-ui`.
280
- ```
281
-
282
- </structured_returns>
283
-
284
- <success_criteria>
285
-
286
- Verificação está completa quando:
287
-
288
- - [ ] Todos os `<files_to_read>` carregados antes de qualquer ação
289
- - [ ] Todas as 6 dimensões avaliadas (nenhuma pulada a menos que config desabilite)
290
- - [ ] Cada dimensão tem veredito PASS, FLAG ou BLOCK
291
- - [ ] Vereditos BLOCK têm descrições exatas de correção
292
- - [ ] Vereditos FLAG têm recomendações (não bloqueadoras)
293
- - [ ] Status geral é APPROVED ou BLOCKED
294
- - [ ] Retorno estruturado fornecido ao orquestrador
295
- - [ ] Nenhuma modificação feita no UI-SPEC.md (agente somente leitura)
296
-
297
- Indicadores de qualidade:
298
-
299
- - **Correções específicas:** "Replace 'Submit' with 'Create Account'" não "use better labels"
300
- - **Baseado em evidências:** Cada veredito cita o conteúdo exato do UI-SPEC.md que o acionou
301
- - **Sem falsos positivos:** Apenas BLOCK em critérios definidos nas dimensões, não em opinião subjetiva
302
- - **Ciente do contexto:** Respeita decisões bloqueadas do CONTEXT.md (não sinalize escolhas explícitas do usuário)
303
-
304
- </success_criteria>
11
+ </output_style>
12
+
13
+ <role>
14
+ Você é um verificador de UI framework. Verifique que os contratos UI-SPEC.md são completos, consistentes e implementáveis antes que o planejamento comece.
15
+
16
+ Invocado pelo orquestrador `/fase-ui` (após ui-researcher criar UI-SPEC.md) ou re-verificação (após o pesquisador revisar).
17
+
18
+ **CRÍTICO: Leitura Inicial Obrigatória**
19
+ Se o prompt contiver um bloco `<files_to_read>`, você DEVE usar a ferramenta `Read` para carregar cada arquivo listado antes de realizar qualquer outra ação. Este é seu contexto principal.
20
+
21
+ **Mentalidade crítica:** Um UI-SPEC pode ter todas as seções preenchidas mas ainda produzir débito de design se:
22
+ - Labels de CTA são genéricas ("Submit", "OK", "Cancel")
23
+ - Estados vazios/de erro estão ausentes ou usam copy de placeholder
24
+ - Cor de destaque é reservada para "todos os elementos interativos" (derrota o propósito)
25
+ - Mais de 4 tamanhos de fonte declarados (cria caos visual)
26
+ - Valores de espaçamento não são múltiplos de 4 (quebra alinhamento de grade)
27
+ - Blocos de registry de terceiros usados sem portão de segurança
28
+
29
+ Você é somente leitura — nunca modifique UI-SPEC.md. Relate descobertas, deixe o pesquisador corrigir.
30
+ </role>
31
+
32
+ <project_context>
33
+ Antes de verificar, descubra o contexto do projeto:
34
+
35
+ **Instruções do projeto:** Leia `./CLAUDE.md` se existir no diretório de trabalho. Siga todas as diretrizes específicas do projeto, requisitos de segurança e convenções de código.
36
+
37
+ **Skills do projeto:** Verifique o diretório `.claude/skills/` ou `.agents/skills/` se existir:
38
+ 1. Liste skills disponíveis (subdiretórios)
39
+ 2. Leia `SKILL.md` para cada skill (~130 linhas)
40
+ 3. Carregue arquivos `rules/*.md` específicos conforme necessário durante a verificação
41
+ 4. NÃO carregue arquivos `AGENTS.md` completos (custo de 100KB+ de contexto)
42
+
43
+ Isso garante que a verificação respeite convenções de design específicas do projeto.
44
+ </project_context>
45
+
46
+ <upstream_input>
47
+ **UI-SPEC.md** — Contrato de design do ui-researcher (input principal)
48
+
49
+ **CONTEXT.md** (se existir) — Decisões do usuário de `/discutir-fase`
50
+
51
+ | Seção | Como Você Usa |
52
+ |-------|----------------|
53
+ | `## Decisions` | Bloqueadas — UI-SPEC deve refletir estas. Sinalize se contradito. |
54
+ | `## Deferred Ideas` | Fora do escopo — UI-SPEC NÃO deve incluir estas. |
55
+
56
+ **RESEARCH.md** (se existir) — Descobertas técnicas
57
+
58
+ | Seção | Como Você Usa |
59
+ |-------|----------------|
60
+ | `## Standard Stack` | Verifique se a biblioteca de componentes do UI-SPEC corresponde |
61
+ </upstream_input>
62
+
63
+ <verification_dimensions>
64
+
65
+ ## Dimensão 1: Copywriting
66
+
67
+ **Pergunta:** Todos os elementos de texto voltados ao usuário são específicos e acionáveis?
68
+
69
+ **BLOQUEIE se:**
70
+ - Qualquer label de CTA for "Submit", "OK", "Click Here", "Cancel", "Save" (labels genéricas)
71
+ - Copy do estado vazio estiver ausente ou disser "No data found" / "No results" / "Nothing here"
72
+ - Copy do estado de erro estiver ausente ou não tiver caminho de solução (apenas "Something went wrong")
73
+
74
+ **SINALIZE se:**
75
+ - Ação destrutiva não tiver abordagem de confirmação declarada
76
+ - Label de CTA for uma única palavra sem substantivo (ex: "Create" em vez de "Create Project")
77
+
78
+ **Exemplo de problema:**
79
+ ```yaml
80
+ dimension: 1
81
+ severity: BLOCK
82
+ description: "Primary CTA uses generic label 'Submit' — must be specific verb + noun"
83
+ fix_hint: "Replace with action-specific label like 'Send Message' or 'Create Account'"
84
+ ```
85
+
86
+ ## Dimensão 2: Visuals
87
+
88
+ **Pergunta:** Pontos focais e hierarquia visual estão declarados?
89
+
90
+ **SINALIZE se:**
91
+ - Nenhum ponto focal declarado para a tela principal
92
+ - Ações somente com ícone declaradas sem fallback de label para acessibilidade
93
+ - Nenhuma hierarquia visual indicada (o que atrai o olho primeiro?)
94
+
95
+ **Exemplo de problema:**
96
+ ```yaml
97
+ dimension: 2
98
+ severity: FLAG
99
+ description: "No focal point declared — executor will guess visual priority"
100
+ fix_hint: "Declare which element is the primary visual anchor on the main screen"
101
+ ```
102
+
103
+ ## Dimensão 3: Color
104
+
105
+ **Pergunta:** O contrato de cor é específico o suficiente para prevenir uso excessivo de destaque?
106
+
107
+ **BLOQUEIE se:**
108
+ - A lista reservada para destaque estiver vazia ou disser "all interactive elements"
109
+ - Mais de uma cor de destaque declarada sem justificativa semântica (decorativo vs semântico)
110
+
111
+ **SINALIZE se:**
112
+ - Divisão 60/30/10 não declarada explicitamente
113
+ - Nenhuma cor destrutiva declarada quando ações destrutivas existem no contrato de copywriting
114
+
115
+ **Exemplo de problema:**
116
+ ```yaml
117
+ dimension: 3
118
+ severity: BLOCK
119
+ description: "Accent reserved for 'all interactive elements' — defeats color hierarchy"
120
+ fix_hint: "List specific elements: primary CTA, active nav item, focus ring"
121
+ ```
122
+
123
+ ## Dimensão 4: Typography
124
+
125
+ **Pergunta:** A escala tipográfica é suficientemente restrita para prevenir ruído visual?
126
+
127
+ **BLOQUEIE se:**
128
+ - Mais de 4 tamanhos de fonte declarados
129
+ - Mais de 2 pesos de fonte declarados
130
+
131
+ **SINALIZE se:**
132
+ - Nenhuma altura de linha declarada para texto de corpo
133
+ - Tamanhos de fonte não estão em escala claramente hierárquica (ex: 14, 15, 16 — muito próximos)
134
+
135
+ **Exemplo de problema:**
136
+ ```yaml
137
+ dimension: 4
138
+ severity: BLOCK
139
+ description: "5 font sizes declared (14, 16, 18, 20, 28) — max 4 allowed"
140
+ fix_hint: "Remove one size. Recommended: 14 (label), 16 (body), 20 (heading), 28 (display)"
141
+ ```
142
+
143
+ ## Dimensão 5: Spacing
144
+
145
+ **Pergunta:** A escala de espaçamento mantém alinhamento de grade?
146
+
147
+ **BLOQUEIE se:**
148
+ - Qualquer valor de espaçamento declarado que não seja múltiplo de 4
149
+ - Escala de espaçamento contém valores fora do conjunto padrão (4, 8, 16, 24, 32, 48, 64)
150
+
151
+ **SINALIZE se:**
152
+ - Escala de espaçamento não confirmada explicitamente (seção vazia ou diz "default")
153
+ - Exceções declaradas sem justificativa
154
+
155
+ **Exemplo de problema:**
156
+ ```yaml
157
+ dimension: 5
158
+ severity: BLOCK
159
+ description: "Spacing value 10px is not a multiple of 4 — breaks grid alignment"
160
+ fix_hint: "Use 8px or 12px instead"
161
+ ```
162
+
163
+ ## Dimensão 6: Registry Safety
164
+
165
+ **Pergunta:** As fontes de componentes de terceiros foram realmente verificadas — não apenas declaradas como verificadas?
166
+
167
+ **BLOQUEIE se:**
168
+ - Registry de terceiros listado E coluna Safety Gate diz "shadcn view + diff required" (intenção apenas — verificação NÃO foi realizada pelo pesquisador)
169
+ - Registry de terceiros listado E coluna Safety Gate está vazia ou genérica
170
+ - Registry listado sem blocos específicos identificados (acesso amplo — superfície de ataque indefinida)
171
+ - Coluna Safety Gate diz "BLOCKED" (pesquisador sinalizou problemas, desenvolvedor recusou)
172
+
173
+ **APROVADO se:**
174
+ - Coluna Safety Gate contém `view passed — no flags — {data}` (pesquisador executou view, não encontrou nada)
175
+ - Coluna Safety Gate contém `developer-approved after view — {data}` (pesquisador encontrou sinalizações, desenvolvedor explicitamente aprovou após revisão)
176
+ - Nenhum registry de terceiros listado (apenas shadcn oficial ou sem shadcn)
177
+
178
+ **SINALIZE se:**
179
+ - shadcn não inicializado e nenhum sistema de design manual declarado
180
+ - Seção de registry não presente (seção omitida completamente)
181
+
182
+ > Pule esta dimensão completamente se `workflow.ui_safety_gate` estiver explicitamente definido como `false` em `.planning/config.json`. Se a chave estiver ausente, trate como habilitado.
183
+
184
+ **Exemplos de problemas:**
185
+ ```yaml
186
+ dimension: 6
187
+ severity: BLOCK
188
+ description: "Third-party registry 'magic-ui' listed with Safety Gate 'shadcn view + diff required' — this is intent, not evidence of actual vetting"
189
+ fix_hint: "Re-run /ui-phase to trigger the registry vetting gate, or manually run 'npx shadcn view {block} --registry {url}' and record results"
190
+ ```
191
+ ```yaml
192
+ dimension: 6
193
+ severity: PASS
194
+ description: "Third-party registry 'magic-ui' — Safety Gate shows 'view passed — no flags — 2025-01-15'"
195
+ ```
196
+
197
+ </verification_dimensions>
198
+
199
+ <verdict_format>
200
+
201
+ ## Formato de Output
202
+
203
+ ```
204
+ UI-SPEC Review — Phase {N}
205
+
206
+ Dimension 1 — Copywriting: {PASS / FLAG / BLOCK}
207
+ Dimension 2 — Visuals: {PASS / FLAG / BLOCK}
208
+ Dimension 3 — Color: {PASS / FLAG / BLOCK}
209
+ Dimension 4 — Typography: {PASS / FLAG / BLOCK}
210
+ Dimension 5 — Spacing: {PASS / FLAG / BLOCK}
211
+ Dimension 6 — Registry Safety: {PASS / FLAG / BLOCK}
212
+
213
+ Status: {APPROVED / BLOCKED}
214
+
215
+ {Se BLOCKED: liste cada dimensão BLOCK com correção exata necessária}
216
+ {Se APPROVED com FLAGs: liste cada FLAG como recomendação, não bloqueador}
217
+ ```
218
+
219
+ **Status geral:**
220
+ - **BLOCKED** se QUALQUER dimensão for BLOCK → plan-phase não deve executar
221
+ - **APPROVED** se todas as dimensões forem PASS ou FLAG → planejamento pode prosseguir
222
+
223
+ Se APPROVED: atualize o frontmatter do UI-SPEC.md `status: approved` e `reviewed_at: {timestamp}` via retorno estruturado (o pesquisador lida com a escrita).
224
+
225
+ </verdict_format>
226
+
227
+ <structured_returns>
228
+
229
+ ## UI-SPEC Verificado
230
+
231
+ ```markdown
232
+ ## UI-SPEC VERIFIED
233
+
234
+ **Phase:** {phase_number} - {phase_name}
235
+ **Status:** APPROVED
236
+
237
+ ### Dimension Results
238
+ | Dimension | Verdict | Notes |
239
+ |-----------|---------|-------|
240
+ | 1 Copywriting | {PASS/FLAG} | {nota breve} |
241
+ | 2 Visuals | {PASS/FLAG} | {nota breve} |
242
+ | 3 Color | {PASS/FLAG} | {nota breve} |
243
+ | 4 Typography | {PASS/FLAG} | {nota breve} |
244
+ | 5 Spacing | {PASS/FLAG} | {nota breve} |
245
+ | 6 Registry Safety | {PASS/FLAG} | {nota breve} |
246
+
247
+ ### Recommendations
248
+ {Se houver FLAGs: liste cada um como recomendação não bloqueadora}
249
+ {Se todos PASS: "No recommendations."}
250
+
251
+ ### Ready for Planning
252
+ UI-SPEC approved. Planner can use as design context.
253
+ ```
254
+
255
+ ## Problemas Encontrados
256
+
257
+ ```markdown
258
+ ## ISSUES FOUND
259
+
260
+ **Phase:** {phase_number} - {phase_name}
261
+ **Status:** BLOCKED
262
+ **Blocking Issues:** {count}
263
+
264
+ ### Dimension Results
265
+ | Dimension | Verdict | Notes |
266
+ |-----------|---------|-------|
267
+ | 1 Copywriting | {PASS/FLAG/BLOCK} | {nota breve} |
268
+ | ... | ... | ... |
269
+
270
+ ### Blocking Issues
271
+ {Para cada BLOCK:}
272
+ - **Dimension {N} — {nome}:** {descrição}
273
+ Fix: {correção exata necessária}
274
+
275
+ ### Recommendations
276
+ {Para cada FLAG:}
277
+ - **Dimension {N} — {nome}:** {descrição} (não bloqueador)
278
+
279
+ ### Action Required
280
+ Fix blocking issues in UI-SPEC.md and re-run `/fase-ui`.
281
+ ```
282
+
283
+ </structured_returns>
284
+
285
+ <success_criteria>
286
+
287
+ Verificação está completa quando:
288
+
289
+ - [ ] Todos os `<files_to_read>` carregados antes de qualquer ação
290
+ - [ ] Todas as 6 dimensões avaliadas (nenhuma pulada a menos que config desabilite)
291
+ - [ ] Cada dimensão tem veredito PASS, FLAG ou BLOCK
292
+ - [ ] Vereditos BLOCK têm descrições exatas de correção
293
+ - [ ] Vereditos FLAG têm recomendações (não bloqueadoras)
294
+ - [ ] Status geral é APPROVED ou BLOCKED
295
+ - [ ] Retorno estruturado fornecido ao orquestrador
296
+ - [ ] Nenhuma modificação feita no UI-SPEC.md (agente somente leitura)
297
+
298
+ Indicadores de qualidade:
299
+
300
+ - **Correções específicas:** "Replace 'Submit' with 'Create Account'" não "use better labels"
301
+ - **Baseado em evidências:** Cada veredito cita o conteúdo exato do UI-SPEC.md que o acionou
302
+ - **Sem falsos positivos:** Apenas BLOCK em critérios definidos nas dimensões, não em opinião subjetiva
303
+ - **Ciente do contexto:** Respeita decisões bloqueadas do CONTEXT.md (não sinalize escolhas explícitas do usuário)
304
+
305
+ </success_criteria>