@luanpdd/kit-mcp 1.33.0 → 1.35.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 (379) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +84 -84
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/COMPATIBILITY.md +70 -70
  6. package/kit/README.md +76 -76
  7. package/kit/agents/advisor-researcher.md +109 -109
  8. package/kit/agents/ai-mutation-tester.md +289 -289
  9. package/kit/agents/assumptions-analyzer.md +110 -110
  10. package/kit/agents/audit-log-implementer.md +314 -314
  11. package/kit/agents/auditor-consistencia-isolamento.md +414 -414
  12. package/kit/agents/b2b-saas-architect.md +157 -157
  13. package/kit/agents/burn-rate-forecaster.md +153 -153
  14. package/kit/agents/cascading-failures-auditor.md +299 -299
  15. package/kit/agents/codebase-mapper.md +769 -769
  16. package/kit/agents/crm-pipeline-implementer.md +257 -257
  17. package/kit/agents/debugger.md +814 -814
  18. package/kit/agents/designer-ui.md +216 -216
  19. package/kit/agents/detector-tenant-quente.md +338 -338
  20. package/kit/agents/evolution-go-integrator.md +201 -201
  21. package/kit/agents/example-reviewer.md +22 -22
  22. package/kit/agents/executor.md +565 -565
  23. package/kit/agents/golden-signals-instrumenter.md +232 -232
  24. package/kit/agents/incident-investigator.md +238 -238
  25. package/kit/agents/integration-checker.md +203 -203
  26. package/kit/agents/invite-flow-implementer.md +190 -190
  27. package/kit/agents/legacy-characterizer.md +369 -369
  28. package/kit/agents/lgpd-compliance-auditor.md +296 -296
  29. package/kit/agents/load-shedding-instrumenter.md +290 -290
  30. package/kit/agents/multi-tenant-isolation-auditor.md +254 -254
  31. package/kit/agents/multi-tenant-rls-writer.md +341 -341
  32. package/kit/agents/nyquist-auditor.md +181 -181
  33. package/kit/agents/observability-coverage-auditor.md +316 -316
  34. package/kit/agents/observability-instrumenter.md +191 -191
  35. package/kit/agents/omm-auditor.md +291 -291
  36. package/kit/agents/org-onboarding-implementer.md +224 -224
  37. package/kit/agents/payload-capture-instrumenter.md +274 -274
  38. package/kit/agents/phase-researcher.md +697 -697
  39. package/kit/agents/plan-checker.md +275 -275
  40. package/kit/agents/planner.md +923 -923
  41. package/kit/agents/postmortem-writer.md +273 -273
  42. package/kit/agents/project-researcher.md +653 -653
  43. package/kit/agents/prr-conductor.md +287 -287
  44. package/kit/agents/refactor-safety-auditor.md +405 -405
  45. package/kit/agents/release-pipeline-auditor.md +364 -364
  46. package/kit/agents/research-synthesizer.md +246 -246
  47. package/kit/agents/roadmapper.md +678 -678
  48. package/kit/agents/schema-checker.md +160 -160
  49. package/kit/agents/seam-finder.md +360 -360
  50. package/kit/agents/shotgun-surgery-detector.md +350 -350
  51. package/kit/agents/slo-engineer.md +217 -217
  52. package/kit/agents/storytelling-analyst.md +300 -300
  53. package/kit/agents/supabase-architect.md +249 -249
  54. package/kit/agents/supabase-auth-bootstrapper.md +400 -400
  55. package/kit/agents/supabase-auth-hook-writer.md +418 -418
  56. package/kit/agents/supabase-branching-architect.md +563 -563
  57. package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -778
  58. package/kit/agents/supabase-column-privileges-writer.md +400 -400
  59. package/kit/agents/supabase-edge-fn-tester.md +288 -288
  60. package/kit/agents/supabase-edge-fn-writer.md +341 -341
  61. package/kit/agents/supabase-mfa-implementer.md +439 -439
  62. package/kit/agents/supabase-migration-writer.md +386 -386
  63. package/kit/agents/supabase-oauth-server-implementer.md +507 -507
  64. package/kit/agents/supabase-rbac-implementer.md +393 -393
  65. package/kit/agents/supabase-realtime-implementer.md +364 -364
  66. package/kit/agents/supabase-rls-hardener.md +522 -522
  67. package/kit/agents/supabase-rls-writer.md +324 -324
  68. package/kit/agents/supabase-roles-implementer.md +356 -356
  69. package/kit/agents/supabase-social-auth-implementer.md +451 -451
  70. package/kit/agents/supabase-sso-saml-architect.md +549 -549
  71. package/kit/agents/supabase-storage-implementer.md +407 -407
  72. package/kit/agents/super-admin-implementer.md +282 -282
  73. package/kit/agents/toil-auditor.md +268 -268
  74. package/kit/agents/ui-auditor.md +438 -438
  75. package/kit/agents/ui-checker.md +305 -305
  76. package/kit/agents/ui-researcher.md +356 -356
  77. package/kit/agents/user-profiler.md +176 -176
  78. package/kit/agents/validador-evolucao-schema.md +336 -336
  79. package/kit/agents/verifier.md +729 -729
  80. package/kit/agents/workflow-generator.md +167 -0
  81. package/kit/commands/adicionar-backlog.md +75 -75
  82. package/kit/commands/adicionar-fase.md +42 -42
  83. package/kit/commands/adicionar-tarefa.md +45 -45
  84. package/kit/commands/adicionar-testes.md +41 -41
  85. package/kit/commands/ajuda.md +21 -21
  86. package/kit/commands/atualizar.md +37 -37
  87. package/kit/commands/auditar-cascading.md +111 -111
  88. package/kit/commands/auditar-marco.md +179 -179
  89. package/kit/commands/auditar-observabilidade-cobertura-workflow.md +121 -0
  90. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  91. package/kit/commands/auditar-refactor.md +219 -219
  92. package/kit/commands/auditar-release.md +109 -109
  93. package/kit/commands/auditar-uat.md +23 -23
  94. package/kit/commands/autonomo.md +40 -40
  95. package/kit/commands/branch-pr.md +24 -24
  96. package/kit/commands/burn-rate-status.md +408 -408
  97. package/kit/commands/capturar-payloads.md +193 -193
  98. package/kit/commands/caracterizar.md +212 -212
  99. package/kit/commands/concluir-marco.md +247 -247
  100. package/kit/commands/configuracoes.md +36 -36
  101. package/kit/commands/criar-workflow.md +158 -0
  102. package/kit/commands/dados-distribuidos.md +188 -188
  103. package/kit/commands/definir-perfil.md +10 -10
  104. package/kit/commands/depurar.md +190 -190
  105. package/kit/commands/detectar-duplicacao.md +197 -197
  106. package/kit/commands/discutir-fase.md +131 -131
  107. package/kit/commands/encontrar-seams.md +136 -136
  108. package/kit/commands/entrar-discord.md +17 -17
  109. package/kit/commands/estatisticas.md +18 -18
  110. package/kit/commands/example-greeting.md +33 -33
  111. package/kit/commands/executar-fase.md +58 -58
  112. package/kit/commands/expresso.md +56 -56
  113. package/kit/commands/fase-ui.md +34 -34
  114. package/kit/commands/fazer.md +57 -57
  115. package/kit/commands/fio.md +125 -125
  116. package/kit/commands/fluxos-trabalho.md +64 -64
  117. package/kit/commands/forense.md +176 -176
  118. package/kit/commands/gerenciador.md +38 -38
  119. package/kit/commands/inserir-fase.md +31 -31
  120. package/kit/commands/legacy.md +263 -263
  121. package/kit/commands/limpeza.md +17 -17
  122. package/kit/commands/listar-hipoteses-fase.md +45 -45
  123. package/kit/commands/listar-workspaces.md +18 -18
  124. package/kit/commands/load-shedding.md +117 -117
  125. package/kit/commands/mapear-codebase.md +70 -70
  126. package/kit/commands/multi-tenant.md +163 -163
  127. package/kit/commands/nota.md +33 -33
  128. package/kit/commands/novo-marco.md +43 -43
  129. package/kit/commands/novo-projeto.md +41 -41
  130. package/kit/commands/novo-workspace.md +43 -43
  131. package/kit/commands/pausar-trabalho.md +37 -37
  132. package/kit/commands/perfil-usuario.md +45 -45
  133. package/kit/commands/pesquisar-fase.md +195 -195
  134. package/kit/commands/planejar-fase.md +67 -67
  135. package/kit/commands/planejar-lacunas.md +33 -33
  136. package/kit/commands/plantar-ideia.md +25 -25
  137. package/kit/commands/progresso.md +24 -24
  138. package/kit/commands/proximo.md +30 -30
  139. package/kit/commands/publicar.md +490 -490
  140. package/kit/commands/rapido.md +35 -35
  141. package/kit/commands/reaplicar-patches.md +124 -124
  142. package/kit/commands/refactor-seguro.md +321 -321
  143. package/kit/commands/relatorio-sessao.md +19 -19
  144. package/kit/commands/remover-fase.md +31 -31
  145. package/kit/commands/remover-workspace.md +26 -26
  146. package/kit/commands/resumo-marco.md +50 -50
  147. package/kit/commands/retomar-trabalho.md +40 -40
  148. package/kit/commands/revisar-backlog.md +60 -60
  149. package/kit/commands/revisar-ui.md +32 -32
  150. package/kit/commands/revisar.md +37 -37
  151. package/kit/commands/saude.md +21 -21
  152. package/kit/commands/setup-notion.md +93 -93
  153. package/kit/commands/storytelling.md +179 -179
  154. package/kit/commands/supabase.md +238 -238
  155. package/kit/commands/sync-main.md +68 -68
  156. package/kit/commands/validar-fase.md +35 -35
  157. package/kit/commands/verificar-tarefas.md +44 -44
  158. package/kit/commands/verificar-trabalho.md +64 -64
  159. package/kit/file-manifest.json +424 -419
  160. package/kit/framework/bin/lib/commands.cjs +959 -959
  161. package/kit/framework/bin/lib/config.cjs +442 -442
  162. package/kit/framework/bin/lib/core.cjs +1230 -1230
  163. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  164. package/kit/framework/bin/lib/init.cjs +1442 -1442
  165. package/kit/framework/bin/lib/milestone.cjs +252 -252
  166. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  167. package/kit/framework/bin/lib/phase.cjs +888 -888
  168. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  169. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  170. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  171. package/kit/framework/bin/lib/security.cjs +382 -382
  172. package/kit/framework/bin/lib/state.cjs +1031 -1031
  173. package/kit/framework/bin/lib/template.cjs +222 -222
  174. package/kit/framework/bin/lib/uat.cjs +282 -282
  175. package/kit/framework/bin/lib/verify.cjs +888 -888
  176. package/kit/framework/bin/lib/workstream.cjs +491 -491
  177. package/kit/framework/bin/tools.cjs +918 -918
  178. package/kit/framework/commands/workstreams.md +63 -63
  179. package/kit/framework/references/checkpoints.md +778 -778
  180. package/kit/framework/references/continuation-format.md +249 -249
  181. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  182. package/kit/framework/references/git-integration.md +295 -295
  183. package/kit/framework/references/git-planning-commit.md +38 -38
  184. package/kit/framework/references/model-profile-resolution.md +36 -36
  185. package/kit/framework/references/model-profiles.md +139 -139
  186. package/kit/framework/references/phase-argument-parsing.md +61 -61
  187. package/kit/framework/references/planning-config.md +202 -202
  188. package/kit/framework/references/questioning.md +162 -162
  189. package/kit/framework/references/tdd.md +263 -263
  190. package/kit/framework/references/ui-brand.md +160 -160
  191. package/kit/framework/references/user-profiling.md +657 -657
  192. package/kit/framework/references/verification-patterns.md +612 -612
  193. package/kit/framework/references/workstream-flag.md +58 -58
  194. package/kit/framework/templates/DEBUG.md +164 -164
  195. package/kit/framework/templates/UAT.md +265 -265
  196. package/kit/framework/templates/UI-SPEC.md +100 -100
  197. package/kit/framework/templates/VALIDATION.md +76 -76
  198. package/kit/framework/templates/claude-md.md +122 -122
  199. package/kit/framework/templates/codebase/architecture.md +185 -185
  200. package/kit/framework/templates/codebase/concerns.md +205 -205
  201. package/kit/framework/templates/codebase/conventions.md +204 -204
  202. package/kit/framework/templates/codebase/integrations.md +192 -192
  203. package/kit/framework/templates/codebase/stack.md +158 -158
  204. package/kit/framework/templates/codebase/structure.md +199 -199
  205. package/kit/framework/templates/codebase/testing.md +301 -301
  206. package/kit/framework/templates/config.json +44 -44
  207. package/kit/framework/templates/context.md +352 -352
  208. package/kit/framework/templates/continue-here.md +78 -78
  209. package/kit/framework/templates/copilot-instructions.md +7 -7
  210. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  211. package/kit/framework/templates/dev-preferences.md +20 -20
  212. package/kit/framework/templates/discovery.md +146 -146
  213. package/kit/framework/templates/discussion-log.md +63 -63
  214. package/kit/framework/templates/milestone-archive.md +123 -123
  215. package/kit/framework/templates/milestone.md +115 -115
  216. package/kit/framework/templates/phase-prompt.md +610 -610
  217. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  218. package/kit/framework/templates/project.md +186 -186
  219. package/kit/framework/templates/requirements.md +231 -231
  220. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  221. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  222. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  223. package/kit/framework/templates/research-project/STACK.md +120 -120
  224. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  225. package/kit/framework/templates/research.md +419 -419
  226. package/kit/framework/templates/retrospective.md +54 -54
  227. package/kit/framework/templates/roadmap.md +202 -202
  228. package/kit/framework/templates/state.md +176 -176
  229. package/kit/framework/templates/summary-complex.md +59 -59
  230. package/kit/framework/templates/summary-minimal.md +41 -41
  231. package/kit/framework/templates/summary-standard.md +48 -48
  232. package/kit/framework/templates/summary.md +209 -209
  233. package/kit/framework/templates/user-profile.md +146 -146
  234. package/kit/framework/templates/user-setup.md +256 -256
  235. package/kit/framework/templates/verification-report.md +258 -258
  236. package/kit/framework/workflows/add-phase.md +112 -112
  237. package/kit/framework/workflows/add-tests.md +351 -351
  238. package/kit/framework/workflows/add-todo.md +158 -158
  239. package/kit/framework/workflows/audit-milestone.md +340 -340
  240. package/kit/framework/workflows/audit-uat.md +109 -109
  241. package/kit/framework/workflows/autonomous.md +891 -891
  242. package/kit/framework/workflows/check-todos.md +177 -177
  243. package/kit/framework/workflows/cleanup.md +152 -152
  244. package/kit/framework/workflows/complete-milestone.md +696 -696
  245. package/kit/framework/workflows/diagnose-issues.md +231 -231
  246. package/kit/framework/workflows/discovery-phase.md +289 -289
  247. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  248. package/kit/framework/workflows/discuss-phase.md +784 -784
  249. package/kit/framework/workflows/do.md +104 -104
  250. package/kit/framework/workflows/execute-phase.md +838 -838
  251. package/kit/framework/workflows/execute-plan.md +510 -510
  252. package/kit/framework/workflows/fast.md +102 -102
  253. package/kit/framework/workflows/forensics.md +265 -265
  254. package/kit/framework/workflows/health.md +181 -181
  255. package/kit/framework/workflows/help.md +619 -619
  256. package/kit/framework/workflows/insert-phase.md +130 -130
  257. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  258. package/kit/framework/workflows/list-workspaces.md +56 -56
  259. package/kit/framework/workflows/manager.md +362 -362
  260. package/kit/framework/workflows/map-codebase.md +377 -377
  261. package/kit/framework/workflows/milestone-summary.md +223 -223
  262. package/kit/framework/workflows/new-milestone.md +486 -486
  263. package/kit/framework/workflows/new-project.md +1159 -1159
  264. package/kit/framework/workflows/new-workspace.md +237 -237
  265. package/kit/framework/workflows/next.md +97 -97
  266. package/kit/framework/workflows/node-repair.md +92 -92
  267. package/kit/framework/workflows/note.md +156 -156
  268. package/kit/framework/workflows/pause-work.md +176 -176
  269. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  270. package/kit/framework/workflows/plan-phase.md +765 -765
  271. package/kit/framework/workflows/plant-seed.md +169 -169
  272. package/kit/framework/workflows/pr-branch.md +129 -129
  273. package/kit/framework/workflows/profile-user.md +450 -450
  274. package/kit/framework/workflows/progress.md +507 -507
  275. package/kit/framework/workflows/quick.md +757 -757
  276. package/kit/framework/workflows/remove-phase.md +155 -155
  277. package/kit/framework/workflows/remove-workspace.md +90 -90
  278. package/kit/framework/workflows/research-phase.md +82 -82
  279. package/kit/framework/workflows/resume-project.md +326 -326
  280. package/kit/framework/workflows/review.md +228 -228
  281. package/kit/framework/workflows/session-report.md +146 -146
  282. package/kit/framework/workflows/settings.md +283 -283
  283. package/kit/framework/workflows/ship.md +228 -228
  284. package/kit/framework/workflows/stats.md +60 -60
  285. package/kit/framework/workflows/transition.md +671 -671
  286. package/kit/framework/workflows/ui-phase.md +302 -302
  287. package/kit/framework/workflows/ui-review.md +165 -165
  288. package/kit/framework/workflows/update.md +323 -323
  289. package/kit/framework/workflows/validate-phase.md +174 -174
  290. package/kit/framework/workflows/verify-phase.md +252 -252
  291. package/kit/framework/workflows/verify-work.md +637 -637
  292. package/kit/hooks/check-update.js +118 -118
  293. package/kit/hooks/context-monitor.js +163 -163
  294. package/kit/hooks/kit-attribution-reminder.cjs +92 -92
  295. package/kit/hooks/kit-router.cjs +137 -137
  296. package/kit/hooks/prompt-guard.js +103 -103
  297. package/kit/hooks/statusline.js +125 -125
  298. package/kit/hooks/workflow-guard.js +101 -101
  299. package/kit/settings.json +45 -45
  300. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  301. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  302. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  303. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  304. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  305. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  306. package/kit/skills/dynamic-workflow-authoring/SKILL.md +223 -0
  307. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  308. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  309. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  310. package/kit/skills/example-skill/SKILL.md +42 -42
  311. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  312. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  313. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  314. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  315. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  316. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  317. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  318. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  319. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  320. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  321. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  322. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  323. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  324. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  325. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  326. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  327. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  328. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  329. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  330. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  331. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  332. package/kit/skills/supabase-auth-hardening/SKILL.md +674 -674
  333. package/kit/skills/supabase-auth-hooks/SKILL.md +875 -875
  334. package/kit/skills/supabase-auth-methods/SKILL.md +486 -486
  335. package/kit/skills/supabase-auth-sessions/SKILL.md +579 -579
  336. package/kit/skills/supabase-auth-ssr/SKILL.md +306 -306
  337. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  338. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  339. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  340. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  341. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  342. package/kit/skills/supabase-edge-functions/SKILL.md +330 -330
  343. package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -309
  344. package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -302
  345. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -279
  346. package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -277
  347. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -357
  348. package/kit/skills/supabase-enterprise-sso-saml/SKILL.md +545 -545
  349. package/kit/skills/supabase-jwt-signing-keys/SKILL.md +399 -399
  350. package/kit/skills/supabase-mfa/SKILL.md +488 -488
  351. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  352. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  353. package/kit/skills/supabase-oauth-server/SKILL.md +537 -537
  354. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  355. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  356. package/kit/skills/supabase-realtime/SKILL.md +460 -460
  357. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  358. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  359. package/kit/skills/supabase-social-oauth/SKILL.md +480 -480
  360. package/kit/skills/supabase-third-party-auth/SKILL.md +450 -450
  361. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  362. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  363. package/kit/skills/ui-anti-padroes-ia/SKILL.md +261 -261
  364. package/kit/skills/ui-contexto-produto/SKILL.md +248 -248
  365. package/kit/skills/ui-cor-estrategia/SKILL.md +213 -213
  366. package/kit/skills/ui-critica-auditoria/SKILL.md +260 -260
  367. package/kit/skills/ui-motion-funcional/SKILL.md +264 -264
  368. package/kit/skills/ui-ritmo-espacial/SKILL.md +259 -259
  369. package/kit/skills/ui-tipografia/SKILL.md +211 -211
  370. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  371. package/kit/workflows/auditar-observabilidade-cobertura.workflow.js +250 -0
  372. package/package.json +65 -63
  373. package/src/core/kit.js +333 -216
  374. package/src/core/reflect.js +247 -247
  375. package/src/core/registry.js +123 -112
  376. package/src/core/reverse-sync.js +448 -372
  377. package/src/core/sync.js +477 -437
  378. package/src/core/watch.js +121 -121
  379. package/src/mcp-server/index.js +794 -794
@@ -1,653 +1,653 @@
1
- <purpose>
2
- Extrair decisões de implementação que agentes downstream precisam — usando análise primeiro da base de código
3
- e surfacing de premissas em vez de questionamento estilo entrevista.
4
-
5
- Você é um parceiro de pensamento, não um entrevistador. Analise a base de código profundamente, surfeie o que
6
- você acredita com base em evidências, e pergunte ao usuário apenas para corrigir o que está errado.
7
- </purpose>
8
-
9
- <available_agent_types>
10
- Tipos de subagentes framework válidos (use nomes exatos — não use 'general-purpose' como fallback):
11
- - assumptions-analyzer — Analisa a base de código para surfaçar premissas de implementação
12
- </available_agent_types>
13
-
14
- <downstream_awareness>
15
- **CONTEXT.md alimenta:**
16
-
17
- 1. **phase-researcher** — Lê CONTEXT.md para saber O QUE pesquisar
18
- 2. **planner** — Lê CONTEXT.md para saber QUAIS decisões estão bloqueadas
19
-
20
- **Seu trabalho:** Capturar decisões de forma clara o suficiente para que agentes downstream possam agir sobre elas
21
- sem perguntar ao usuário novamente. A saída é idêntica ao modo discuss — mesmo formato CONTEXT.md.
22
- </downstream_awareness>
23
-
24
- <philosophy>
25
- **Filosofia do modo assumptions:**
26
-
27
- O usuário é um visionário, não um arqueólogo de base de código. Eles precisam de contexto suficiente para avaliar
28
- se suas premissas correspondem à intenção deles — não para responder perguntas que você poderia descobrir
29
- lendo o código.
30
-
31
- - Leia a base de código PRIMEIRO, forme opiniões SEGUNDO, pergunte APENAS sobre o que é genuinamente incerto
32
- - Cada premissa deve citar evidências (caminhos de arquivo, padrões encontrados)
33
- - Cada premissa deve declarar consequências se estiver errada
34
- - Minimize interações com o usuário: ~2-4 correções vs ~15-20 perguntas
35
- </philosophy>
36
-
37
- <scope_guardrail>
38
- **CRÍTICO: Sem expansão de escopo.**
39
-
40
- O limite da fase vem do ROADMAP.md e é FIXO. A discussão esclarece COMO implementar
41
- o que está no escopo, nunca SE adicionar novas capacidades.
42
-
43
- Quando o usuário sugere expansão de escopo:
44
- "[Funcionalidade X] seria uma nova capacidade — isso é sua própria fase.
45
- Quer que eu anote para o backlog do roadmap? Por enquanto, vamos focar em [domínio da fase]."
46
-
47
- Capturar a ideia em "Ideias Adiadas". Não perder, não agir.
48
- </scope_guardrail>
49
-
50
- <answer_validation>
51
- **IMPORTANTE: Validação de resposta** — Após cada chamada AskUserQuestion, verificar se a resposta
52
- está vazia ou apenas com espaços em branco. Se sim:
53
- 1. Tentar a pergunta novamente uma vez com os mesmos parâmetros
54
- 2. Se ainda vazia, apresentar as opções como uma lista numerada em texto simples
55
-
56
- **Modo texto (`workflow.text_mode: true` na config ou flag `--text`):**
57
- Quando o modo texto estiver ativo, não usar AskUserQuestion de forma alguma. Apresentar cada pergunta como uma
58
- lista numerada em texto simples e pedir ao usuário que digite o número da escolha.
59
- </answer_validation>
60
-
61
- <process>
62
-
63
- <step name="initialize" priority="first">
64
- Número da fase do argumento (obrigatório).
65
-
66
- ```bash
67
- INIT=$(node "./.claude/framework/bin/tools.cjs" init phase-op "${PHASE}")
68
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
69
- AGENT_SKILLS_ANALYZER=$(node "./.claude/framework/bin/tools.cjs" agent-skills assumptions-analyzer 2>/dev/null)
70
- ```
71
-
72
- Analisar JSON para: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`,
73
- `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `has_verification`,
74
- `plan_count`, `roadmap_exists`, `planning_exists`.
75
-
76
- **Se `phase_found` for falso:**
77
- ```
78
- Fase [X] não encontrada no roadmap.
79
-
80
- Use /progresso para ver as fases disponíveis.
81
- ```
82
- Sair do workflow.
83
-
84
- **Se `phase_found` for verdadeiro:** Continuar para check_existing.
85
-
86
- **Modo auto** — Se `--auto` estiver presente em ARGUMENTS:
87
- - Em `check_existing`: auto-selecionar "Atualizar" (se contexto existe) ou continuar sem perguntar
88
- - Em `present_assumptions`: pular portão de confirmação, prosseguir diretamente para escrever CONTEXT.md
89
- - Em `correct_assumptions`: auto-selecionar opção recomendada para cada correção
90
- - Registrar cada escolha auto-selecionada inline
91
- - Após conclusão, avançar automaticamente para plan-phase
92
- </step>
93
-
94
- <step name="check_existing">
95
- Verificar se CONTEXT.md já existe usando `has_context` do init.
96
-
97
- ```bash
98
- ls ${phase_dir}/*-CONTEXT.md 2>/dev/null || true
99
- ```
100
-
101
- **Se existir:**
102
-
103
- **Se `--auto`:** Auto-selecionar "Atualizar". Registrar: `[auto] Contexto existe — atualizando com análise baseada em premissas.`
104
-
105
- **Caso contrário:** Usar AskUserQuestion:
106
- - header: "Contexto"
107
- - question: "A Fase [X] já tem contexto. O que você quer fazer?"
108
- - options:
109
- - "Atualizar" — Re-analisar base de código e atualizar premissas
110
- - "Ver" — Mostrar o que está lá
111
- - "Pular" — Usar contexto existente como está
112
-
113
- Se "Atualizar": Carregar existente, continuar para load_prior_context
114
- Se "Ver": Exibir CONTEXT.md, então oferecer atualizar/pular
115
- Se "Pular": Sair do workflow
116
-
117
- **Se não existir:**
118
-
119
- Verificar `has_plans` e `plan_count` do init. **Se `has_plans` for verdadeiro:**
120
-
121
- **Se `--auto`:** Auto-selecionar "Continuar e replanejar depois". Registrar: `[auto] Planos existem — continuando com análise de premissas, replanejará depois.`
122
-
123
- **Caso contrário:** Usar AskUserQuestion:
124
- - header: "Planos existem"
125
- - question: "A Fase [X] já tem {plan_count} plano(s) criado(s) sem contexto do usuário. Suas decisões aqui não afetarão planos existentes a menos que você replaneje."
126
- - options:
127
- - "Continuar e replanejar depois"
128
- - "Ver planos existentes"
129
- - "Cancelar"
130
-
131
- Se "Continuar e replanejar depois": Continuar para load_prior_context.
132
- Se "Ver planos existentes": Exibir arquivos de plano, então oferecer "Continuar" / "Cancelar".
133
- Se "Cancelar": Sair do workflow.
134
-
135
- **Se `has_plans` for falso:** Continuar para load_prior_context.
136
- </step>
137
-
138
- <step name="load_prior_context">
139
- Ler contexto de nível de projeto e fase anterior para evitar re-fazer perguntas já decididas.
140
-
141
- **Passo 1: Ler arquivos de nível de projeto**
142
- ```bash
143
- cat .planning/PROJECT.md 2>/dev/null || true
144
- cat .planning/REQUIREMENTS.md 2>/dev/null || true
145
- cat .planning/STATE.md 2>/dev/null || true
146
- ```
147
-
148
- Extrair destes:
149
- - **PROJECT.md** — Visão, princípios, não-negociáveis, preferências do usuário
150
- - **REQUIREMENTS.md** — Critérios de aceitação, restrições
151
- - **STATE.md** — Progresso atual, quaisquer flags
152
-
153
- **Passo 2: Ler todos os arquivos CONTEXT.md anteriores**
154
- ```bash
155
- (find .planning/phases -name "*-CONTEXT.md" 2>/dev/null || true) | sort
156
- ```
157
-
158
- Para cada CONTEXT.md onde o número da fase < fase atual:
159
- - Ler a seção `<decisions>` — estas são preferências bloqueadas
160
- - Ler `<specifics>` — referências particulares ou momentos "eu quero como X"
161
- - Notar padrões (ex: "usuário consistentemente prefere UI mínima")
162
-
163
- **Passo 3: Construir contexto interno `<prior_decisions>`**
164
-
165
- Estruturar as informações extraídas para uso na geração de premissas.
166
-
167
- **Se nenhum contexto anterior existir:** Continuar sem — esperado para fases iniciais.
168
- </step>
169
-
170
- <step name="cross_reference_todos">
171
- Verificar se algum todo pendente é relevante para o escopo desta fase.
172
-
173
- ```bash
174
- TODO_MATCHES=$(node "./.claude/framework/bin/tools.cjs" todo match-phase "${PHASE_NUMBER}")
175
- ```
176
-
177
- Analisar JSON para: `todo_count`, `matches[]`.
178
-
179
- **Se `todo_count` for 0:** Pular silenciosamente.
180
-
181
- **Se correspondências encontradas:** Apresentar todos correspondentes, usar AskUserQuestion (multiSelect) para dobrar os relevantes no escopo.
182
-
183
- **Para todos selecionados (dobrados):** Armazenar como `<folded_todos>` para a seção `<decisions>` do CONTEXT.md.
184
- **Para não selecionados:** Armazenar como `<reviewed_todos>` para a seção `<deferred>` do CONTEXT.md.
185
-
186
- **Modo auto (`--auto`):** Dobrar automaticamente todos os todos com score >= 0.4. Registrar a seleção.
187
- </step>
188
-
189
- <step name="scout_codebase">
190
- Varredura leve do código existente para informar a geração de premissas.
191
-
192
- **Passo 1: Verificar mapas de base de código existentes**
193
- ```bash
194
- ls .planning/codebase/*.md 2>/dev/null || true
195
- ```
196
-
197
- **Se mapas de base de código existirem:** Ler os relevantes (CONVENTIONS.md, STRUCTURE.md, STACK.md). Extrair componentes reutilizáveis, padrões, pontos de integração. Pular para o Passo 3.
198
-
199
- **Passo 2: Se não houver mapas de base de código, fazer grep direcionado**
200
-
201
- Extrair termos-chave do objetivo da fase, buscar arquivos relacionados.
202
-
203
- ```bash
204
- grep -rl "{termo1}\|{termo2}" src/ app/ --include="*.ts" --include="*.tsx" 2>/dev/null | head -10
205
- ```
206
-
207
- Ler os 3-5 arquivos mais relevantes.
208
-
209
- **Passo 3: Construir `<codebase_context>` interno**
210
-
211
- Identificar ativos reutilizáveis, padrões estabelecidos, pontos de integração e opções criativas. Armazenar internamente para uso em deep_codebase_analysis.
212
- </step>
213
-
214
- <step name="deep_codebase_analysis">
215
- Criar um agente `assumptions-analyzer` para analisar profundamente a base de código para esta fase. Isso
216
- mantém conteúdos brutos de arquivos fora da janela de contexto principal, protegendo o orçamento de tokens.
217
-
218
- **Resolver tier de calibração (se USER-PROFILE.md existir):**
219
-
220
- ```bash
221
- PROFILE_PATH="./.claude/framework/USER-PROFILE.md"
222
- ```
223
-
224
- Se o arquivo existir em PROFILE_PATH:
225
- - Prioridade 1: Ler config.json > preferences.vendor_philosophy (substituição de nível de projeto)
226
- - Prioridade 2: Ler avaliação de Vendor Choices/Philosophy do USER-PROFILE.md (global)
227
- - Prioridade 3: Padrão para "standard"
228
-
229
- Mapear para tier de calibração:
230
- - conservative OU thorough-evaluator → full_maturity (mais alternativas, evidência detalhada)
231
- - opinionated → minimal_decisive (menos alternativas, recomendações decisivas)
232
- - pragmatic-fast OU qualquer outro valor → standard
233
-
234
- Se não houver USER-PROFILE.md: calibration_tier = "standard"
235
-
236
- **Criar subagente Explore:**
237
-
238
- ```
239
- Task(subagent_type="assumptions-analyzer", prompt="""
240
- Analisar a base de código para a Fase {PHASE}: {phase_name}.
241
-
242
- Objetivo da fase: {roadmap_description}
243
- Decisões anteriores: {prior_decisions_summary}
244
- Dicas do scout de base de código: {codebase_context_summary}
245
- Calibração: {calibration_tier}
246
-
247
- Seu trabalho:
248
- 1. Ler descrição da fase {PHASE} do ROADMAP.md
249
- 2. Ler quaisquer arquivos CONTEXT.md anteriores de fases anteriores
250
- 3. Glob/Grep para arquivos relacionados a: {phase_relevant_terms}
251
- 4. Ler 5-15 arquivos fonte mais relevantes
252
- 5. Retornar premissas estruturadas
253
-
254
- ## Formato de Saída
255
-
256
- Retornar EXATAMENTE esta estrutura:
257
-
258
- ## Premissas
259
-
260
- ### [Nome da Área] (ex: "Abordagem Técnica")
261
- - **Premissa:** [Declaração de decisão]
262
- - **Por quê desta forma:** [Evidência da base de código — citar caminhos de arquivo]
263
- - **Se errado:** [Consequência concreta de estar errado]
264
- - **Confiança:** Confiante | Provável | Incerto
265
-
266
- (3-5 áreas, calibradas por tier:
267
- - full_maturity: 3-5 áreas, 2-3 alternativas por item Provável/Incerto
268
- - standard: 3-4 áreas, 2 alternativas por item Provável/Incerto
269
- - minimal_decisive: 2-3 áreas, recomendação única decisiva por item)
270
-
271
- ## Precisa de Pesquisa Externa
272
- [Tópicos onde a base de código sozinha é insuficiente — compatibilidade de versão de biblioteca,
273
- melhores práticas do ecossistema, etc. Deixar vazio se a base de código fornece evidência suficiente.]
274
-
275
- ${AGENT_SKILLS_ANALYZER}
276
- """)
277
- ```
278
-
279
- Analisar a resposta do subagente. Extrair:
280
- - `assumptions[]` — cada um com área, declaração, evidência, consequência, confiança
281
- - `needs_research[]` — tópicos que requerem pesquisa externa (pode estar vazio)
282
-
283
- **Inicializar acumulador de refs canônicas:**
284
- - Fonte 1: Copiar `Canonical refs:` do ROADMAP.md para esta fase, expandir para caminhos completos
285
- - Fonte 2: Verificar REQUIREMENTS.md e PROJECT.md para specs/ADRs referenciados
286
- - Fonte 3: Adicionar quaisquer docs referenciados nos resultados do scout de base de código
287
- </step>
288
-
289
- <step name="external_research">
290
- **Pular se:** `needs_research` do deep_codebase_analysis estiver vazio.
291
-
292
- Se tópicos de pesquisa foram sinalizados, criar um agente de pesquisa geral:
293
-
294
- ```
295
- Task(subagent_type="general-purpose", prompt="""
296
- Pesquisar os seguintes tópicos para a Fase {PHASE}: {phase_name}.
297
-
298
- Tópicos precisando de pesquisa:
299
- {needs_research_content}
300
-
301
- Para cada tópico, retornar:
302
- - **Achado:** [O que você aprendeu]
303
- - **Fonte:** [URL ou referência de docs de biblioteca]
304
- - **Impacto na confiança:** [Qual premissa isso resolve e para qual nível de confiança]
305
-
306
- Use Context7 (resolve-library-id então query-docs) para perguntas específicas de biblioteca.
307
- Use WebSearch para perguntas de ecossistema/melhores práticas.
308
- """)
309
- ```
310
-
311
- Mesclar achados de volta nas premissas:
312
- - Atualizar níveis de confiança onde a pesquisa resolve ambiguidade
313
- - Adicionar atribuição de fonte às premissas afetadas
314
- - Armazenar achados de pesquisa para DISCUSSION-LOG.md
315
-
316
- **Se nenhuma lacuna sinalizada:** Pular completamente. A maioria das fases pulará esta etapa.
317
- </step>
318
-
319
- <step name="present_assumptions">
320
- Exibir todas as premissas agrupadas por área com badges de confiança.
321
-
322
- **Formato para exibição:**
323
-
324
- ```
325
- ## Fase {PHASE}: {phase_name} — Premissas
326
-
327
- Com base na análise da base de código, aqui está o que eu usaria:
328
-
329
- ### {Nome da Área}
330
- {Badge de confiança} **{Declaração de premissa}**
331
- ↳ Evidência: {caminhos de arquivo citados}
332
- ↳ Se errado: {consequência}
333
-
334
- ### {Nome da Área 2}
335
- ...
336
-
337
- [Se pesquisa externa foi realizada:]
338
- ### Pesquisa Externa Aplicada
339
- - {Tópico}: {Achado} (Fonte: {URL})
340
- ```
341
-
342
- **Se `--auto`:**
343
- - Se todas as premissas são Confiante ou Provável: registrar premissas, pular para write_context.
344
- Registrar: `[auto] Todas as premissas Confiante/Provável — prosseguindo para captura de contexto.`
345
- - Se alguma premissa é Incerto: registrar um aviso, auto-selecionar alternativa recomendada para
346
- cada item Incerto. Registrar: `[auto] {N} premissas Incertas auto-resolvidas com padrões recomendados.`
347
- Prosseguir para write_context.
348
-
349
- **Caso contrário:** Usar AskUserQuestion:
350
- - header: "Premissas"
351
- - question: "Tudo parece correto?"
352
- - options:
353
- - "Sim, prosseguir" — Escrever CONTEXT.md com estas premissas como decisões
354
- - "Deixe-me corrigir algumas" — Selecionar quais premissas mudar
355
-
356
- **Se "Sim, prosseguir":** Pular para write_context.
357
- **Se "Deixe-me corrigir algumas":** Continuar para correct_assumptions.
358
- </step>
359
-
360
- <step name="correct_assumptions">
361
- As premissas já estão exibidas acima do present_assumptions.
362
-
363
- Apresentar um multiSelect onde o rótulo de cada opção é a declaração de premissa e a descrição
364
- é a consequência "Se errado":
365
-
366
- Usar AskUserQuestion (multiSelect):
367
- - header: "Correções"
368
- - question: "Quais premissas precisam de correção?"
369
- - options: [uma por premissa, rótulo = declaração de premissa, descrição = "Se errado: {consequência}"]
370
-
371
- Para cada correção selecionada, fazer UMA pergunta focada:
372
-
373
- Usar AskUserQuestion:
374
- - header: "{Nome da Área}"
375
- - question: "O que devemos fazer em vez disso para: {declaração de premissa}?"
376
- - options: [2-3 alternativas concretas descrevendo resultados visíveis ao usuário, opção recomendada primeiro]
377
-
378
- Registrar cada correção:
379
- - Premissa original
380
- - Alternativa escolhida pelo usuário
381
- - Motivo (se fornecido via texto livre "Outro")
382
-
383
- Após todas as correções processadas, continuar para write_context com premissas atualizadas.
384
-
385
- **Modo auto:** Não deve atingir esta etapa (--auto pula de present_assumptions).
386
- </step>
387
-
388
- <step name="write_context">
389
- Criar diretório de fase se necessário. Escrever CONTEXT.md usando o formato padrão de 6 seções.
390
-
391
- **Arquivo:** `${phase_dir}/${padded_phase}-CONTEXT.md`
392
-
393
- Mapear premissas para seções do CONTEXT.md:
394
- - Premissas → `<decisions>` (cada premissa se torna uma decisão bloqueada: D-01, D-02, etc.)
395
- - Correções → substituir a premissa original em `<decisions>`
396
- - Áreas onde todas as premissas eram Confiante → marcadas como decisões bloqueadas
397
- - Áreas com correções → incluir alternativa escolhida pelo usuário como a decisão
398
- - Todos dobrados → incluídos em `<decisions>` em "### Todos Dobrados"
399
-
400
- ```markdown
401
- # Fase {PHASE}: {phase_name} - Contexto
402
-
403
- **Coletado:** {data} (modo assumptions)
404
- **Status:** Pronto para planejamento
405
-
406
- <domain>
407
- ## Limite da Fase
408
-
409
- {Limite de domínio do ROADMAP.md — declaração clara de âncora de escopo}
410
- </domain>
411
-
412
- <decisions>
413
- ## Decisões de Implementação
414
-
415
- ### {Nome da Área 1}
416
- - **D-01:** {Decisão — de premissa ou correção}
417
- - **D-02:** {Decisão}
418
-
419
- ### {Nome da Área 2}
420
- - **D-03:** {Decisão}
421
-
422
- ### Discrição do Claude
423
- {Quaisquer premissas onde o usuário confirmou "você decide" ou deixou como está com confiança Provável}
424
-
425
- ### Todos Dobrados
426
- {Se algum todo foi dobrado no escopo}
427
- </decisions>
428
-
429
- <canonical_refs>
430
- ## Referências Canônicas
431
-
432
- **Agentes downstream DEVEM ler estas antes de planejar ou implementar.**
433
-
434
- {Refs canônicas acumuladas do passo de análise — caminhos relativos completos}
435
-
436
- [Se não houver specs externas: "Sem specs externas — requisitos totalmente capturados nas decisões acima"]
437
- </canonical_refs>
438
-
439
- <code_context>
440
- ## Insights do Código Existente
441
-
442
- ### Ativos Reutilizáveis
443
- {Do scout de base de código + achados do subagente Explore}
444
-
445
- ### Padrões Estabelecidos
446
- {Padrões que restringem/habilitam esta fase}
447
-
448
- ### Pontos de Integração
449
- {Onde o novo código se conecta ao sistema existente}
450
- </code_context>
451
-
452
- <specifics>
453
- ## Ideias Específicas
454
-
455
- {Quaisquer referências particulares das correções ou input do usuário}
456
-
457
- [Se nenhuma: "Sem requisitos específicos — aberto a abordagens padrão"]
458
- </specifics>
459
-
460
- <deferred>
461
- ## Ideias Adiadas
462
-
463
- {Ideias mencionadas durante correções que estão fora do escopo}
464
-
465
- ### Todos Revisados (não dobrados)
466
- {Todos revisados mas não dobrados — com motivo}
467
-
468
- [Se nenhum: "Nenhum — análise permaneceu dentro do escopo da fase"]
469
- </deferred>
470
- ```
471
-
472
- Escrever arquivo.
473
- </step>
474
-
475
- <step name="write_discussion_log">
476
- Escrever trilha de auditoria das premissas e correções.
477
-
478
- **Arquivo:** `${phase_dir}/${padded_phase}-DISCUSSION-LOG.md`
479
-
480
- ```markdown
481
- # Fase {PHASE}: {phase_name} - Log de Discussão (Modo Assumptions)
482
-
483
- > **Apenas trilha de auditoria.** Não usar como input para agentes de planejamento, pesquisa ou execução.
484
- > Decisões capturadas no CONTEXT.md — este log preserva a análise.
485
-
486
- **Data:** {data ISO}
487
- **Fase:** {padded_phase}-{phase_name}
488
- **Modo:** assumptions
489
- **Áreas analisadas:** {nomes de área separados por vírgula}
490
-
491
- ## Premissas Apresentadas
492
-
493
- ### {Nome da Área}
494
- | Premissa | Confiança | Evidência |
495
- |----------|-----------|-----------|
496
- | {Declaração} | {Confiante/Provável/Incerto} | {caminhos de arquivo} |
497
-
498
- {Repetir para cada área}
499
-
500
- ## Correções Feitas
501
-
502
- {Se correções foram feitas:}
503
-
504
- ### {Nome da Área}
505
- - **Premissa original:** {o que Claude assumiu}
506
- - **Correção do usuário:** {o que o usuário escolheu em vez disso}
507
- - **Motivo:** {raciocínio do usuário, se fornecido}
508
-
509
- {Se nenhuma correção: "Sem correções — todas as premissas confirmadas."}
510
-
511
- ## Auto-Resolvido
512
-
513
- {Se --auto e itens Incertos existiam:}
514
- - {Premissa}: auto-selecionou {opção recomendada}
515
-
516
- {Se não aplicável: omitir esta seção}
517
-
518
- ## Pesquisa Externa
519
-
520
- {Se pesquisa foi realizada:}
521
- - {Tópico}: {Achado} (Fonte: {URL})
522
-
523
- {Se nenhuma pesquisa: omitir esta seção}
524
- ```
525
-
526
- Escrever arquivo.
527
- </step>
528
-
529
- <step name="git_commit">
530
- Commitar contexto da fase e log de discussão:
531
-
532
- ```bash
533
- node "./.claude/framework/bin/tools.cjs" commit "docs(${padded_phase}): capturar contexto da fase (modo assumptions)" --files "${phase_dir}/${padded_phase}-CONTEXT.md" "${phase_dir}/${padded_phase}-DISCUSSION-LOG.md"
534
- ```
535
-
536
- Confirmar: "Commitado: docs(${padded_phase}): capturar contexto da fase (modo assumptions)"
537
- </step>
538
-
539
- <step name="update_state">
540
- Atualizar STATE.md com informações da sessão:
541
-
542
- ```bash
543
- node "./.claude/framework/bin/tools.cjs" state record-session \
544
- --stopped-at "Contexto da Fase ${PHASE} coletado (modo assumptions)" \
545
- --resume-file "${phase_dir}/${padded_phase}-CONTEXT.md"
546
- ```
547
-
548
- Commitar STATE.md:
549
-
550
- ```bash
551
- node "./.claude/framework/bin/tools.cjs" commit "docs(state): registrar sessão de contexto da fase ${PHASE}" --files .planning/STATE.md
552
- ```
553
- </step>
554
-
555
- <step name="confirm_creation">
556
- Apresentar resumo e próximos passos:
557
-
558
- ```
559
- Criado: .planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
560
-
561
- ## Decisões Capturadas (Modo Assumptions)
562
-
563
- ### {Nome da Área}
564
- - {Decisão-chave} (de premissa / corrigida)
565
-
566
- {Repetir por área}
567
-
568
- [Se correções foram feitas:]
569
- ## Correções Aplicadas
570
- - {Área}: {original} → {corrigido}
571
-
572
- [Se ideias adiadas existirem:]
573
- ## Anotado para Depois
574
- - {Ideia adiada} — fase futura
575
-
576
- ---
577
-
578
- ## ▶ Próximo Passo
579
-
580
- **Fase ${PHASE}: {phase_name}** — {Objetivo do ROADMAP.md}
581
-
582
- `/planejar-fase ${PHASE}`
583
-
584
- <sub>`/clear` primeiro → janela de contexto fresca</sub>
585
-
586
- ---
587
-
588
- **Também disponível:**
589
- - `/planejar-fase ${PHASE} --skip-research` — planejar sem pesquisa
590
- - `/fase-ui ${PHASE}` — gerar contrato de design UI (se trabalho de frontend)
591
- - Revisar/editar CONTEXT.md antes de continuar
592
-
593
- ---
594
- ```
595
- </step>
596
-
597
- <step name="auto_advance">
598
- Verificar gatilho de avanço automático:
599
-
600
- 1. Analisar flag `--auto` de $ARGUMENTS
601
- 2. Flag de cadeia de sincronização:
602
- ```bash
603
- if [[ ! "$ARGUMENTS" =~ --auto ]]; then
604
- node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active false 2>/dev/null
605
- fi
606
- ```
607
- 3. Ler flag de cadeia e preferência do usuário:
608
- ```bash
609
- AUTO_CHAIN=$(node "./.claude/framework/bin/tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
610
- AUTO_CFG=$(node "./.claude/framework/bin/tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
611
- ```
612
-
613
- **Se flag `--auto` presente E `AUTO_CHAIN` não for verdadeiro:**
614
- ```bash
615
- node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active true
616
- ```
617
-
618
- **Se flag `--auto` presente OU `AUTO_CHAIN` for verdadeiro OU `AUTO_CFG` for verdadeiro:**
619
-
620
- Exibir banner:
621
- ```
622
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
623
- framework ► AVANÇANDO AUTOMATICAMENTE PARA PLANEJAMENTO
624
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
625
-
626
- Contexto capturado (modo assumptions). Iniciando plan-phase...
627
- ```
628
-
629
- Iniciar: `Skill(skill="framework:planejar-fase", args="${PHASE} --auto")`
630
-
631
- Tratar retorno: PHASE COMPLETE / PLANNING COMPLETE / INCONCLUSIVE / GAPS FOUND
632
- (tratamento idêntico ao passo auto_advance do discuss-phase.md)
633
-
634
- **Se nem `--auto` nem config habilitado:**
635
- Rotear para o passo confirm_creation.
636
- </step>
637
-
638
- </process>
639
-
640
- <success_criteria>
641
- - Fase validada contra o roadmap
642
- - Contexto anterior carregado (sem re-fazer perguntas já decididas)
643
- - Base de código profundamente analisada via subagente Explore (5-15 arquivos lidos)
644
- - Premissas surfaçadas com evidências e níveis de confiança
645
- - Usuário confirmou ou corrigiu premissas (~2-4 interações no máximo)
646
- - Expansão de escopo redirecionada para ideias adiadas
647
- - CONTEXT.md captura decisões reais (formato idêntico ao modo discuss)
648
- - CONTEXT.md inclui canonical_refs com caminhos completos de arquivo (OBRIGATÓRIO)
649
- - CONTEXT.md inclui code_context da análise de base de código
650
- - DISCUSSION-LOG.md registra premissas e correções como trilha de auditoria
651
- - STATE.md atualizado com informações da sessão
652
- - Usuário conhece os próximos passos
653
- </success_criteria>
1
+ <purpose>
2
+ Extrair decisões de implementação que agentes downstream precisam — usando análise primeiro da base de código
3
+ e surfacing de premissas em vez de questionamento estilo entrevista.
4
+
5
+ Você é um parceiro de pensamento, não um entrevistador. Analise a base de código profundamente, surfeie o que
6
+ você acredita com base em evidências, e pergunte ao usuário apenas para corrigir o que está errado.
7
+ </purpose>
8
+
9
+ <available_agent_types>
10
+ Tipos de subagentes framework válidos (use nomes exatos — não use 'general-purpose' como fallback):
11
+ - assumptions-analyzer — Analisa a base de código para surfaçar premissas de implementação
12
+ </available_agent_types>
13
+
14
+ <downstream_awareness>
15
+ **CONTEXT.md alimenta:**
16
+
17
+ 1. **phase-researcher** — Lê CONTEXT.md para saber O QUE pesquisar
18
+ 2. **planner** — Lê CONTEXT.md para saber QUAIS decisões estão bloqueadas
19
+
20
+ **Seu trabalho:** Capturar decisões de forma clara o suficiente para que agentes downstream possam agir sobre elas
21
+ sem perguntar ao usuário novamente. A saída é idêntica ao modo discuss — mesmo formato CONTEXT.md.
22
+ </downstream_awareness>
23
+
24
+ <philosophy>
25
+ **Filosofia do modo assumptions:**
26
+
27
+ O usuário é um visionário, não um arqueólogo de base de código. Eles precisam de contexto suficiente para avaliar
28
+ se suas premissas correspondem à intenção deles — não para responder perguntas que você poderia descobrir
29
+ lendo o código.
30
+
31
+ - Leia a base de código PRIMEIRO, forme opiniões SEGUNDO, pergunte APENAS sobre o que é genuinamente incerto
32
+ - Cada premissa deve citar evidências (caminhos de arquivo, padrões encontrados)
33
+ - Cada premissa deve declarar consequências se estiver errada
34
+ - Minimize interações com o usuário: ~2-4 correções vs ~15-20 perguntas
35
+ </philosophy>
36
+
37
+ <scope_guardrail>
38
+ **CRÍTICO: Sem expansão de escopo.**
39
+
40
+ O limite da fase vem do ROADMAP.md e é FIXO. A discussão esclarece COMO implementar
41
+ o que está no escopo, nunca SE adicionar novas capacidades.
42
+
43
+ Quando o usuário sugere expansão de escopo:
44
+ "[Funcionalidade X] seria uma nova capacidade — isso é sua própria fase.
45
+ Quer que eu anote para o backlog do roadmap? Por enquanto, vamos focar em [domínio da fase]."
46
+
47
+ Capturar a ideia em "Ideias Adiadas". Não perder, não agir.
48
+ </scope_guardrail>
49
+
50
+ <answer_validation>
51
+ **IMPORTANTE: Validação de resposta** — Após cada chamada AskUserQuestion, verificar se a resposta
52
+ está vazia ou apenas com espaços em branco. Se sim:
53
+ 1. Tentar a pergunta novamente uma vez com os mesmos parâmetros
54
+ 2. Se ainda vazia, apresentar as opções como uma lista numerada em texto simples
55
+
56
+ **Modo texto (`workflow.text_mode: true` na config ou flag `--text`):**
57
+ Quando o modo texto estiver ativo, não usar AskUserQuestion de forma alguma. Apresentar cada pergunta como uma
58
+ lista numerada em texto simples e pedir ao usuário que digite o número da escolha.
59
+ </answer_validation>
60
+
61
+ <process>
62
+
63
+ <step name="initialize" priority="first">
64
+ Número da fase do argumento (obrigatório).
65
+
66
+ ```bash
67
+ INIT=$(node "./.claude/framework/bin/tools.cjs" init phase-op "${PHASE}")
68
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
69
+ AGENT_SKILLS_ANALYZER=$(node "./.claude/framework/bin/tools.cjs" agent-skills assumptions-analyzer 2>/dev/null)
70
+ ```
71
+
72
+ Analisar JSON para: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`,
73
+ `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `has_verification`,
74
+ `plan_count`, `roadmap_exists`, `planning_exists`.
75
+
76
+ **Se `phase_found` for falso:**
77
+ ```
78
+ Fase [X] não encontrada no roadmap.
79
+
80
+ Use /progresso para ver as fases disponíveis.
81
+ ```
82
+ Sair do workflow.
83
+
84
+ **Se `phase_found` for verdadeiro:** Continuar para check_existing.
85
+
86
+ **Modo auto** — Se `--auto` estiver presente em ARGUMENTS:
87
+ - Em `check_existing`: auto-selecionar "Atualizar" (se contexto existe) ou continuar sem perguntar
88
+ - Em `present_assumptions`: pular portão de confirmação, prosseguir diretamente para escrever CONTEXT.md
89
+ - Em `correct_assumptions`: auto-selecionar opção recomendada para cada correção
90
+ - Registrar cada escolha auto-selecionada inline
91
+ - Após conclusão, avançar automaticamente para plan-phase
92
+ </step>
93
+
94
+ <step name="check_existing">
95
+ Verificar se CONTEXT.md já existe usando `has_context` do init.
96
+
97
+ ```bash
98
+ ls ${phase_dir}/*-CONTEXT.md 2>/dev/null || true
99
+ ```
100
+
101
+ **Se existir:**
102
+
103
+ **Se `--auto`:** Auto-selecionar "Atualizar". Registrar: `[auto] Contexto existe — atualizando com análise baseada em premissas.`
104
+
105
+ **Caso contrário:** Usar AskUserQuestion:
106
+ - header: "Contexto"
107
+ - question: "A Fase [X] já tem contexto. O que você quer fazer?"
108
+ - options:
109
+ - "Atualizar" — Re-analisar base de código e atualizar premissas
110
+ - "Ver" — Mostrar o que está lá
111
+ - "Pular" — Usar contexto existente como está
112
+
113
+ Se "Atualizar": Carregar existente, continuar para load_prior_context
114
+ Se "Ver": Exibir CONTEXT.md, então oferecer atualizar/pular
115
+ Se "Pular": Sair do workflow
116
+
117
+ **Se não existir:**
118
+
119
+ Verificar `has_plans` e `plan_count` do init. **Se `has_plans` for verdadeiro:**
120
+
121
+ **Se `--auto`:** Auto-selecionar "Continuar e replanejar depois". Registrar: `[auto] Planos existem — continuando com análise de premissas, replanejará depois.`
122
+
123
+ **Caso contrário:** Usar AskUserQuestion:
124
+ - header: "Planos existem"
125
+ - question: "A Fase [X] já tem {plan_count} plano(s) criado(s) sem contexto do usuário. Suas decisões aqui não afetarão planos existentes a menos que você replaneje."
126
+ - options:
127
+ - "Continuar e replanejar depois"
128
+ - "Ver planos existentes"
129
+ - "Cancelar"
130
+
131
+ Se "Continuar e replanejar depois": Continuar para load_prior_context.
132
+ Se "Ver planos existentes": Exibir arquivos de plano, então oferecer "Continuar" / "Cancelar".
133
+ Se "Cancelar": Sair do workflow.
134
+
135
+ **Se `has_plans` for falso:** Continuar para load_prior_context.
136
+ </step>
137
+
138
+ <step name="load_prior_context">
139
+ Ler contexto de nível de projeto e fase anterior para evitar re-fazer perguntas já decididas.
140
+
141
+ **Passo 1: Ler arquivos de nível de projeto**
142
+ ```bash
143
+ cat .planning/PROJECT.md 2>/dev/null || true
144
+ cat .planning/REQUIREMENTS.md 2>/dev/null || true
145
+ cat .planning/STATE.md 2>/dev/null || true
146
+ ```
147
+
148
+ Extrair destes:
149
+ - **PROJECT.md** — Visão, princípios, não-negociáveis, preferências do usuário
150
+ - **REQUIREMENTS.md** — Critérios de aceitação, restrições
151
+ - **STATE.md** — Progresso atual, quaisquer flags
152
+
153
+ **Passo 2: Ler todos os arquivos CONTEXT.md anteriores**
154
+ ```bash
155
+ (find .planning/phases -name "*-CONTEXT.md" 2>/dev/null || true) | sort
156
+ ```
157
+
158
+ Para cada CONTEXT.md onde o número da fase < fase atual:
159
+ - Ler a seção `<decisions>` — estas são preferências bloqueadas
160
+ - Ler `<specifics>` — referências particulares ou momentos "eu quero como X"
161
+ - Notar padrões (ex: "usuário consistentemente prefere UI mínima")
162
+
163
+ **Passo 3: Construir contexto interno `<prior_decisions>`**
164
+
165
+ Estruturar as informações extraídas para uso na geração de premissas.
166
+
167
+ **Se nenhum contexto anterior existir:** Continuar sem — esperado para fases iniciais.
168
+ </step>
169
+
170
+ <step name="cross_reference_todos">
171
+ Verificar se algum todo pendente é relevante para o escopo desta fase.
172
+
173
+ ```bash
174
+ TODO_MATCHES=$(node "./.claude/framework/bin/tools.cjs" todo match-phase "${PHASE_NUMBER}")
175
+ ```
176
+
177
+ Analisar JSON para: `todo_count`, `matches[]`.
178
+
179
+ **Se `todo_count` for 0:** Pular silenciosamente.
180
+
181
+ **Se correspondências encontradas:** Apresentar todos correspondentes, usar AskUserQuestion (multiSelect) para dobrar os relevantes no escopo.
182
+
183
+ **Para todos selecionados (dobrados):** Armazenar como `<folded_todos>` para a seção `<decisions>` do CONTEXT.md.
184
+ **Para não selecionados:** Armazenar como `<reviewed_todos>` para a seção `<deferred>` do CONTEXT.md.
185
+
186
+ **Modo auto (`--auto`):** Dobrar automaticamente todos os todos com score >= 0.4. Registrar a seleção.
187
+ </step>
188
+
189
+ <step name="scout_codebase">
190
+ Varredura leve do código existente para informar a geração de premissas.
191
+
192
+ **Passo 1: Verificar mapas de base de código existentes**
193
+ ```bash
194
+ ls .planning/codebase/*.md 2>/dev/null || true
195
+ ```
196
+
197
+ **Se mapas de base de código existirem:** Ler os relevantes (CONVENTIONS.md, STRUCTURE.md, STACK.md). Extrair componentes reutilizáveis, padrões, pontos de integração. Pular para o Passo 3.
198
+
199
+ **Passo 2: Se não houver mapas de base de código, fazer grep direcionado**
200
+
201
+ Extrair termos-chave do objetivo da fase, buscar arquivos relacionados.
202
+
203
+ ```bash
204
+ grep -rl "{termo1}\|{termo2}" src/ app/ --include="*.ts" --include="*.tsx" 2>/dev/null | head -10
205
+ ```
206
+
207
+ Ler os 3-5 arquivos mais relevantes.
208
+
209
+ **Passo 3: Construir `<codebase_context>` interno**
210
+
211
+ Identificar ativos reutilizáveis, padrões estabelecidos, pontos de integração e opções criativas. Armazenar internamente para uso em deep_codebase_analysis.
212
+ </step>
213
+
214
+ <step name="deep_codebase_analysis">
215
+ Criar um agente `assumptions-analyzer` para analisar profundamente a base de código para esta fase. Isso
216
+ mantém conteúdos brutos de arquivos fora da janela de contexto principal, protegendo o orçamento de tokens.
217
+
218
+ **Resolver tier de calibração (se USER-PROFILE.md existir):**
219
+
220
+ ```bash
221
+ PROFILE_PATH="./.claude/framework/USER-PROFILE.md"
222
+ ```
223
+
224
+ Se o arquivo existir em PROFILE_PATH:
225
+ - Prioridade 1: Ler config.json > preferences.vendor_philosophy (substituição de nível de projeto)
226
+ - Prioridade 2: Ler avaliação de Vendor Choices/Philosophy do USER-PROFILE.md (global)
227
+ - Prioridade 3: Padrão para "standard"
228
+
229
+ Mapear para tier de calibração:
230
+ - conservative OU thorough-evaluator → full_maturity (mais alternativas, evidência detalhada)
231
+ - opinionated → minimal_decisive (menos alternativas, recomendações decisivas)
232
+ - pragmatic-fast OU qualquer outro valor → standard
233
+
234
+ Se não houver USER-PROFILE.md: calibration_tier = "standard"
235
+
236
+ **Criar subagente Explore:**
237
+
238
+ ```
239
+ Task(subagent_type="assumptions-analyzer", prompt="""
240
+ Analisar a base de código para a Fase {PHASE}: {phase_name}.
241
+
242
+ Objetivo da fase: {roadmap_description}
243
+ Decisões anteriores: {prior_decisions_summary}
244
+ Dicas do scout de base de código: {codebase_context_summary}
245
+ Calibração: {calibration_tier}
246
+
247
+ Seu trabalho:
248
+ 1. Ler descrição da fase {PHASE} do ROADMAP.md
249
+ 2. Ler quaisquer arquivos CONTEXT.md anteriores de fases anteriores
250
+ 3. Glob/Grep para arquivos relacionados a: {phase_relevant_terms}
251
+ 4. Ler 5-15 arquivos fonte mais relevantes
252
+ 5. Retornar premissas estruturadas
253
+
254
+ ## Formato de Saída
255
+
256
+ Retornar EXATAMENTE esta estrutura:
257
+
258
+ ## Premissas
259
+
260
+ ### [Nome da Área] (ex: "Abordagem Técnica")
261
+ - **Premissa:** [Declaração de decisão]
262
+ - **Por quê desta forma:** [Evidência da base de código — citar caminhos de arquivo]
263
+ - **Se errado:** [Consequência concreta de estar errado]
264
+ - **Confiança:** Confiante | Provável | Incerto
265
+
266
+ (3-5 áreas, calibradas por tier:
267
+ - full_maturity: 3-5 áreas, 2-3 alternativas por item Provável/Incerto
268
+ - standard: 3-4 áreas, 2 alternativas por item Provável/Incerto
269
+ - minimal_decisive: 2-3 áreas, recomendação única decisiva por item)
270
+
271
+ ## Precisa de Pesquisa Externa
272
+ [Tópicos onde a base de código sozinha é insuficiente — compatibilidade de versão de biblioteca,
273
+ melhores práticas do ecossistema, etc. Deixar vazio se a base de código fornece evidência suficiente.]
274
+
275
+ ${AGENT_SKILLS_ANALYZER}
276
+ """)
277
+ ```
278
+
279
+ Analisar a resposta do subagente. Extrair:
280
+ - `assumptions[]` — cada um com área, declaração, evidência, consequência, confiança
281
+ - `needs_research[]` — tópicos que requerem pesquisa externa (pode estar vazio)
282
+
283
+ **Inicializar acumulador de refs canônicas:**
284
+ - Fonte 1: Copiar `Canonical refs:` do ROADMAP.md para esta fase, expandir para caminhos completos
285
+ - Fonte 2: Verificar REQUIREMENTS.md e PROJECT.md para specs/ADRs referenciados
286
+ - Fonte 3: Adicionar quaisquer docs referenciados nos resultados do scout de base de código
287
+ </step>
288
+
289
+ <step name="external_research">
290
+ **Pular se:** `needs_research` do deep_codebase_analysis estiver vazio.
291
+
292
+ Se tópicos de pesquisa foram sinalizados, criar um agente de pesquisa geral:
293
+
294
+ ```
295
+ Task(subagent_type="general-purpose", prompt="""
296
+ Pesquisar os seguintes tópicos para a Fase {PHASE}: {phase_name}.
297
+
298
+ Tópicos precisando de pesquisa:
299
+ {needs_research_content}
300
+
301
+ Para cada tópico, retornar:
302
+ - **Achado:** [O que você aprendeu]
303
+ - **Fonte:** [URL ou referência de docs de biblioteca]
304
+ - **Impacto na confiança:** [Qual premissa isso resolve e para qual nível de confiança]
305
+
306
+ Use Context7 (resolve-library-id então query-docs) para perguntas específicas de biblioteca.
307
+ Use WebSearch para perguntas de ecossistema/melhores práticas.
308
+ """)
309
+ ```
310
+
311
+ Mesclar achados de volta nas premissas:
312
+ - Atualizar níveis de confiança onde a pesquisa resolve ambiguidade
313
+ - Adicionar atribuição de fonte às premissas afetadas
314
+ - Armazenar achados de pesquisa para DISCUSSION-LOG.md
315
+
316
+ **Se nenhuma lacuna sinalizada:** Pular completamente. A maioria das fases pulará esta etapa.
317
+ </step>
318
+
319
+ <step name="present_assumptions">
320
+ Exibir todas as premissas agrupadas por área com badges de confiança.
321
+
322
+ **Formato para exibição:**
323
+
324
+ ```
325
+ ## Fase {PHASE}: {phase_name} — Premissas
326
+
327
+ Com base na análise da base de código, aqui está o que eu usaria:
328
+
329
+ ### {Nome da Área}
330
+ {Badge de confiança} **{Declaração de premissa}**
331
+ ↳ Evidência: {caminhos de arquivo citados}
332
+ ↳ Se errado: {consequência}
333
+
334
+ ### {Nome da Área 2}
335
+ ...
336
+
337
+ [Se pesquisa externa foi realizada:]
338
+ ### Pesquisa Externa Aplicada
339
+ - {Tópico}: {Achado} (Fonte: {URL})
340
+ ```
341
+
342
+ **Se `--auto`:**
343
+ - Se todas as premissas são Confiante ou Provável: registrar premissas, pular para write_context.
344
+ Registrar: `[auto] Todas as premissas Confiante/Provável — prosseguindo para captura de contexto.`
345
+ - Se alguma premissa é Incerto: registrar um aviso, auto-selecionar alternativa recomendada para
346
+ cada item Incerto. Registrar: `[auto] {N} premissas Incertas auto-resolvidas com padrões recomendados.`
347
+ Prosseguir para write_context.
348
+
349
+ **Caso contrário:** Usar AskUserQuestion:
350
+ - header: "Premissas"
351
+ - question: "Tudo parece correto?"
352
+ - options:
353
+ - "Sim, prosseguir" — Escrever CONTEXT.md com estas premissas como decisões
354
+ - "Deixe-me corrigir algumas" — Selecionar quais premissas mudar
355
+
356
+ **Se "Sim, prosseguir":** Pular para write_context.
357
+ **Se "Deixe-me corrigir algumas":** Continuar para correct_assumptions.
358
+ </step>
359
+
360
+ <step name="correct_assumptions">
361
+ As premissas já estão exibidas acima do present_assumptions.
362
+
363
+ Apresentar um multiSelect onde o rótulo de cada opção é a declaração de premissa e a descrição
364
+ é a consequência "Se errado":
365
+
366
+ Usar AskUserQuestion (multiSelect):
367
+ - header: "Correções"
368
+ - question: "Quais premissas precisam de correção?"
369
+ - options: [uma por premissa, rótulo = declaração de premissa, descrição = "Se errado: {consequência}"]
370
+
371
+ Para cada correção selecionada, fazer UMA pergunta focada:
372
+
373
+ Usar AskUserQuestion:
374
+ - header: "{Nome da Área}"
375
+ - question: "O que devemos fazer em vez disso para: {declaração de premissa}?"
376
+ - options: [2-3 alternativas concretas descrevendo resultados visíveis ao usuário, opção recomendada primeiro]
377
+
378
+ Registrar cada correção:
379
+ - Premissa original
380
+ - Alternativa escolhida pelo usuário
381
+ - Motivo (se fornecido via texto livre "Outro")
382
+
383
+ Após todas as correções processadas, continuar para write_context com premissas atualizadas.
384
+
385
+ **Modo auto:** Não deve atingir esta etapa (--auto pula de present_assumptions).
386
+ </step>
387
+
388
+ <step name="write_context">
389
+ Criar diretório de fase se necessário. Escrever CONTEXT.md usando o formato padrão de 6 seções.
390
+
391
+ **Arquivo:** `${phase_dir}/${padded_phase}-CONTEXT.md`
392
+
393
+ Mapear premissas para seções do CONTEXT.md:
394
+ - Premissas → `<decisions>` (cada premissa se torna uma decisão bloqueada: D-01, D-02, etc.)
395
+ - Correções → substituir a premissa original em `<decisions>`
396
+ - Áreas onde todas as premissas eram Confiante → marcadas como decisões bloqueadas
397
+ - Áreas com correções → incluir alternativa escolhida pelo usuário como a decisão
398
+ - Todos dobrados → incluídos em `<decisions>` em "### Todos Dobrados"
399
+
400
+ ```markdown
401
+ # Fase {PHASE}: {phase_name} - Contexto
402
+
403
+ **Coletado:** {data} (modo assumptions)
404
+ **Status:** Pronto para planejamento
405
+
406
+ <domain>
407
+ ## Limite da Fase
408
+
409
+ {Limite de domínio do ROADMAP.md — declaração clara de âncora de escopo}
410
+ </domain>
411
+
412
+ <decisions>
413
+ ## Decisões de Implementação
414
+
415
+ ### {Nome da Área 1}
416
+ - **D-01:** {Decisão — de premissa ou correção}
417
+ - **D-02:** {Decisão}
418
+
419
+ ### {Nome da Área 2}
420
+ - **D-03:** {Decisão}
421
+
422
+ ### Discrição do Claude
423
+ {Quaisquer premissas onde o usuário confirmou "você decide" ou deixou como está com confiança Provável}
424
+
425
+ ### Todos Dobrados
426
+ {Se algum todo foi dobrado no escopo}
427
+ </decisions>
428
+
429
+ <canonical_refs>
430
+ ## Referências Canônicas
431
+
432
+ **Agentes downstream DEVEM ler estas antes de planejar ou implementar.**
433
+
434
+ {Refs canônicas acumuladas do passo de análise — caminhos relativos completos}
435
+
436
+ [Se não houver specs externas: "Sem specs externas — requisitos totalmente capturados nas decisões acima"]
437
+ </canonical_refs>
438
+
439
+ <code_context>
440
+ ## Insights do Código Existente
441
+
442
+ ### Ativos Reutilizáveis
443
+ {Do scout de base de código + achados do subagente Explore}
444
+
445
+ ### Padrões Estabelecidos
446
+ {Padrões que restringem/habilitam esta fase}
447
+
448
+ ### Pontos de Integração
449
+ {Onde o novo código se conecta ao sistema existente}
450
+ </code_context>
451
+
452
+ <specifics>
453
+ ## Ideias Específicas
454
+
455
+ {Quaisquer referências particulares das correções ou input do usuário}
456
+
457
+ [Se nenhuma: "Sem requisitos específicos — aberto a abordagens padrão"]
458
+ </specifics>
459
+
460
+ <deferred>
461
+ ## Ideias Adiadas
462
+
463
+ {Ideias mencionadas durante correções que estão fora do escopo}
464
+
465
+ ### Todos Revisados (não dobrados)
466
+ {Todos revisados mas não dobrados — com motivo}
467
+
468
+ [Se nenhum: "Nenhum — análise permaneceu dentro do escopo da fase"]
469
+ </deferred>
470
+ ```
471
+
472
+ Escrever arquivo.
473
+ </step>
474
+
475
+ <step name="write_discussion_log">
476
+ Escrever trilha de auditoria das premissas e correções.
477
+
478
+ **Arquivo:** `${phase_dir}/${padded_phase}-DISCUSSION-LOG.md`
479
+
480
+ ```markdown
481
+ # Fase {PHASE}: {phase_name} - Log de Discussão (Modo Assumptions)
482
+
483
+ > **Apenas trilha de auditoria.** Não usar como input para agentes de planejamento, pesquisa ou execução.
484
+ > Decisões capturadas no CONTEXT.md — este log preserva a análise.
485
+
486
+ **Data:** {data ISO}
487
+ **Fase:** {padded_phase}-{phase_name}
488
+ **Modo:** assumptions
489
+ **Áreas analisadas:** {nomes de área separados por vírgula}
490
+
491
+ ## Premissas Apresentadas
492
+
493
+ ### {Nome da Área}
494
+ | Premissa | Confiança | Evidência |
495
+ |----------|-----------|-----------|
496
+ | {Declaração} | {Confiante/Provável/Incerto} | {caminhos de arquivo} |
497
+
498
+ {Repetir para cada área}
499
+
500
+ ## Correções Feitas
501
+
502
+ {Se correções foram feitas:}
503
+
504
+ ### {Nome da Área}
505
+ - **Premissa original:** {o que Claude assumiu}
506
+ - **Correção do usuário:** {o que o usuário escolheu em vez disso}
507
+ - **Motivo:** {raciocínio do usuário, se fornecido}
508
+
509
+ {Se nenhuma correção: "Sem correções — todas as premissas confirmadas."}
510
+
511
+ ## Auto-Resolvido
512
+
513
+ {Se --auto e itens Incertos existiam:}
514
+ - {Premissa}: auto-selecionou {opção recomendada}
515
+
516
+ {Se não aplicável: omitir esta seção}
517
+
518
+ ## Pesquisa Externa
519
+
520
+ {Se pesquisa foi realizada:}
521
+ - {Tópico}: {Achado} (Fonte: {URL})
522
+
523
+ {Se nenhuma pesquisa: omitir esta seção}
524
+ ```
525
+
526
+ Escrever arquivo.
527
+ </step>
528
+
529
+ <step name="git_commit">
530
+ Commitar contexto da fase e log de discussão:
531
+
532
+ ```bash
533
+ node "./.claude/framework/bin/tools.cjs" commit "docs(${padded_phase}): capturar contexto da fase (modo assumptions)" --files "${phase_dir}/${padded_phase}-CONTEXT.md" "${phase_dir}/${padded_phase}-DISCUSSION-LOG.md"
534
+ ```
535
+
536
+ Confirmar: "Commitado: docs(${padded_phase}): capturar contexto da fase (modo assumptions)"
537
+ </step>
538
+
539
+ <step name="update_state">
540
+ Atualizar STATE.md com informações da sessão:
541
+
542
+ ```bash
543
+ node "./.claude/framework/bin/tools.cjs" state record-session \
544
+ --stopped-at "Contexto da Fase ${PHASE} coletado (modo assumptions)" \
545
+ --resume-file "${phase_dir}/${padded_phase}-CONTEXT.md"
546
+ ```
547
+
548
+ Commitar STATE.md:
549
+
550
+ ```bash
551
+ node "./.claude/framework/bin/tools.cjs" commit "docs(state): registrar sessão de contexto da fase ${PHASE}" --files .planning/STATE.md
552
+ ```
553
+ </step>
554
+
555
+ <step name="confirm_creation">
556
+ Apresentar resumo e próximos passos:
557
+
558
+ ```
559
+ Criado: .planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
560
+
561
+ ## Decisões Capturadas (Modo Assumptions)
562
+
563
+ ### {Nome da Área}
564
+ - {Decisão-chave} (de premissa / corrigida)
565
+
566
+ {Repetir por área}
567
+
568
+ [Se correções foram feitas:]
569
+ ## Correções Aplicadas
570
+ - {Área}: {original} → {corrigido}
571
+
572
+ [Se ideias adiadas existirem:]
573
+ ## Anotado para Depois
574
+ - {Ideia adiada} — fase futura
575
+
576
+ ---
577
+
578
+ ## ▶ Próximo Passo
579
+
580
+ **Fase ${PHASE}: {phase_name}** — {Objetivo do ROADMAP.md}
581
+
582
+ `/planejar-fase ${PHASE}`
583
+
584
+ <sub>`/clear` primeiro → janela de contexto fresca</sub>
585
+
586
+ ---
587
+
588
+ **Também disponível:**
589
+ - `/planejar-fase ${PHASE} --skip-research` — planejar sem pesquisa
590
+ - `/fase-ui ${PHASE}` — gerar contrato de design UI (se trabalho de frontend)
591
+ - Revisar/editar CONTEXT.md antes de continuar
592
+
593
+ ---
594
+ ```
595
+ </step>
596
+
597
+ <step name="auto_advance">
598
+ Verificar gatilho de avanço automático:
599
+
600
+ 1. Analisar flag `--auto` de $ARGUMENTS
601
+ 2. Flag de cadeia de sincronização:
602
+ ```bash
603
+ if [[ ! "$ARGUMENTS" =~ --auto ]]; then
604
+ node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active false 2>/dev/null
605
+ fi
606
+ ```
607
+ 3. Ler flag de cadeia e preferência do usuário:
608
+ ```bash
609
+ AUTO_CHAIN=$(node "./.claude/framework/bin/tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
610
+ AUTO_CFG=$(node "./.claude/framework/bin/tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
611
+ ```
612
+
613
+ **Se flag `--auto` presente E `AUTO_CHAIN` não for verdadeiro:**
614
+ ```bash
615
+ node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active true
616
+ ```
617
+
618
+ **Se flag `--auto` presente OU `AUTO_CHAIN` for verdadeiro OU `AUTO_CFG` for verdadeiro:**
619
+
620
+ Exibir banner:
621
+ ```
622
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
623
+ framework ► AVANÇANDO AUTOMATICAMENTE PARA PLANEJAMENTO
624
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
625
+
626
+ Contexto capturado (modo assumptions). Iniciando plan-phase...
627
+ ```
628
+
629
+ Iniciar: `Skill(skill="framework:planejar-fase", args="${PHASE} --auto")`
630
+
631
+ Tratar retorno: PHASE COMPLETE / PLANNING COMPLETE / INCONCLUSIVE / GAPS FOUND
632
+ (tratamento idêntico ao passo auto_advance do discuss-phase.md)
633
+
634
+ **Se nem `--auto` nem config habilitado:**
635
+ Rotear para o passo confirm_creation.
636
+ </step>
637
+
638
+ </process>
639
+
640
+ <success_criteria>
641
+ - Fase validada contra o roadmap
642
+ - Contexto anterior carregado (sem re-fazer perguntas já decididas)
643
+ - Base de código profundamente analisada via subagente Explore (5-15 arquivos lidos)
644
+ - Premissas surfaçadas com evidências e níveis de confiança
645
+ - Usuário confirmou ou corrigiu premissas (~2-4 interações no máximo)
646
+ - Expansão de escopo redirecionada para ideias adiadas
647
+ - CONTEXT.md captura decisões reais (formato idêntico ao modo discuss)
648
+ - CONTEXT.md inclui canonical_refs com caminhos completos de arquivo (OBRIGATÓRIO)
649
+ - CONTEXT.md inclui code_context da análise de base de código
650
+ - DISCUSSION-LOG.md registra premissas e correções como trilha de auditoria
651
+ - STATE.md atualizado com informações da sessão
652
+ - Usuário conhece os próximos passos
653
+ </success_criteria>