@luanpdd/kit-mcp 1.29.0 → 1.30.1

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 (331) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -168
  3. package/gates/agent-no-recursive-dispatch.md +82 -82
  4. package/kit/COMANDOS.md +138 -138
  5. package/kit/README.md +76 -76
  6. package/kit/agents/advisor-researcher.md +106 -106
  7. package/kit/agents/assumptions-analyzer.md +107 -107
  8. package/kit/agents/audit-log-implementer.md +313 -313
  9. package/kit/agents/auditor-consistencia-isolamento.md +413 -413
  10. package/kit/agents/b2b-saas-architect.md +156 -156
  11. package/kit/agents/cascading-failures-auditor.md +298 -298
  12. package/kit/agents/codebase-mapper.md +768 -768
  13. package/kit/agents/crm-pipeline-implementer.md +256 -256
  14. package/kit/agents/debugger.md +813 -813
  15. package/kit/agents/detector-tenant-quente.md +337 -337
  16. package/kit/agents/evolution-go-integrator.md +200 -200
  17. package/kit/agents/example-reviewer.md +21 -21
  18. package/kit/agents/executor.md +564 -564
  19. package/kit/agents/integration-checker.md +200 -200
  20. package/kit/agents/invite-flow-implementer.md +189 -189
  21. package/kit/agents/legacy-characterizer.md +368 -368
  22. package/kit/agents/lgpd-compliance-auditor.md +295 -295
  23. package/kit/agents/multi-tenant-isolation-auditor.md +253 -253
  24. package/kit/agents/multi-tenant-rls-writer.md +340 -340
  25. package/kit/agents/nyquist-auditor.md +178 -178
  26. package/kit/agents/observability-coverage-auditor.md +315 -315
  27. package/kit/agents/org-onboarding-implementer.md +223 -223
  28. package/kit/agents/payload-capture-instrumenter.md +273 -273
  29. package/kit/agents/phase-researcher.md +696 -696
  30. package/kit/agents/plan-checker.md +272 -272
  31. package/kit/agents/planner.md +922 -922
  32. package/kit/agents/project-researcher.md +652 -652
  33. package/kit/agents/refactor-safety-auditor.md +404 -404
  34. package/kit/agents/research-synthesizer.md +245 -245
  35. package/kit/agents/roadmapper.md +677 -677
  36. package/kit/agents/seam-finder.md +359 -359
  37. package/kit/agents/shotgun-surgery-detector.md +349 -349
  38. package/kit/agents/supabase-branching-architect.md +562 -562
  39. package/kit/agents/supabase-cicd-pipeline-implementer.md +777 -777
  40. package/kit/agents/supabase-column-privileges-writer.md +399 -399
  41. package/kit/agents/supabase-edge-fn-tester.md +287 -0
  42. package/kit/agents/supabase-edge-fn-writer.md +239 -210
  43. package/kit/agents/supabase-migration-writer.md +385 -385
  44. package/kit/agents/supabase-rbac-implementer.md +392 -392
  45. package/kit/agents/supabase-realtime-implementer.md +363 -267
  46. package/kit/agents/supabase-rls-hardener.md +521 -521
  47. package/kit/agents/supabase-rls-writer.md +323 -323
  48. package/kit/agents/supabase-roles-implementer.md +355 -355
  49. package/kit/agents/super-admin-implementer.md +281 -281
  50. package/kit/agents/ui-auditor.md +437 -437
  51. package/kit/agents/ui-checker.md +302 -302
  52. package/kit/agents/ui-researcher.md +355 -355
  53. package/kit/agents/user-profiler.md +175 -175
  54. package/kit/agents/validador-evolucao-schema.md +335 -335
  55. package/kit/agents/verifier.md +728 -728
  56. package/kit/commands/adicionar-backlog.md +75 -75
  57. package/kit/commands/adicionar-fase.md +42 -42
  58. package/kit/commands/adicionar-tarefa.md +45 -45
  59. package/kit/commands/adicionar-testes.md +41 -41
  60. package/kit/commands/ajuda.md +21 -21
  61. package/kit/commands/atualizar.md +37 -37
  62. package/kit/commands/auditar-cascading.md +111 -111
  63. package/kit/commands/auditar-marco.md +179 -179
  64. package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
  65. package/kit/commands/auditar-refactor.md +219 -219
  66. package/kit/commands/auditar-release.md +109 -109
  67. package/kit/commands/auditar-uat.md +23 -23
  68. package/kit/commands/autonomo.md +40 -40
  69. package/kit/commands/branch-pr.md +24 -24
  70. package/kit/commands/burn-rate-status.md +408 -408
  71. package/kit/commands/capturar-payloads.md +193 -193
  72. package/kit/commands/caracterizar.md +212 -212
  73. package/kit/commands/concluir-marco.md +247 -247
  74. package/kit/commands/configuracoes.md +36 -36
  75. package/kit/commands/dados-distribuidos.md +188 -188
  76. package/kit/commands/definir-perfil.md +10 -10
  77. package/kit/commands/depurar.md +190 -190
  78. package/kit/commands/detectar-duplicacao.md +197 -197
  79. package/kit/commands/discutir-fase.md +131 -131
  80. package/kit/commands/encontrar-seams.md +136 -136
  81. package/kit/commands/entrar-discord.md +17 -17
  82. package/kit/commands/estatisticas.md +18 -18
  83. package/kit/commands/example-greeting.md +33 -33
  84. package/kit/commands/executar-fase.md +58 -58
  85. package/kit/commands/expresso.md +56 -56
  86. package/kit/commands/fase-ui.md +34 -34
  87. package/kit/commands/fazer.md +57 -57
  88. package/kit/commands/fio.md +125 -125
  89. package/kit/commands/fluxos-trabalho.md +64 -64
  90. package/kit/commands/forense.md +176 -176
  91. package/kit/commands/gerenciador.md +38 -38
  92. package/kit/commands/inserir-fase.md +31 -31
  93. package/kit/commands/legacy.md +263 -263
  94. package/kit/commands/limpeza.md +17 -17
  95. package/kit/commands/listar-hipoteses-fase.md +45 -45
  96. package/kit/commands/listar-workspaces.md +18 -18
  97. package/kit/commands/load-shedding.md +117 -117
  98. package/kit/commands/mapear-codebase.md +70 -70
  99. package/kit/commands/multi-tenant.md +163 -163
  100. package/kit/commands/nota.md +33 -33
  101. package/kit/commands/novo-marco.md +43 -43
  102. package/kit/commands/novo-projeto.md +41 -41
  103. package/kit/commands/novo-workspace.md +43 -43
  104. package/kit/commands/pausar-trabalho.md +37 -37
  105. package/kit/commands/perfil-usuario.md +45 -45
  106. package/kit/commands/pesquisar-fase.md +195 -195
  107. package/kit/commands/planejar-fase.md +67 -67
  108. package/kit/commands/planejar-lacunas.md +33 -33
  109. package/kit/commands/plantar-ideia.md +25 -25
  110. package/kit/commands/progresso.md +24 -24
  111. package/kit/commands/proximo.md +30 -30
  112. package/kit/commands/publicar.md +490 -490
  113. package/kit/commands/rapido.md +35 -35
  114. package/kit/commands/reaplicar-patches.md +124 -124
  115. package/kit/commands/refactor-seguro.md +321 -321
  116. package/kit/commands/relatorio-sessao.md +19 -19
  117. package/kit/commands/remover-fase.md +31 -31
  118. package/kit/commands/remover-workspace.md +26 -26
  119. package/kit/commands/resumo-marco.md +50 -50
  120. package/kit/commands/retomar-trabalho.md +40 -40
  121. package/kit/commands/revisar-backlog.md +60 -60
  122. package/kit/commands/revisar-ui.md +32 -32
  123. package/kit/commands/revisar.md +37 -37
  124. package/kit/commands/saude.md +21 -21
  125. package/kit/commands/setup-notion.md +93 -93
  126. package/kit/commands/storytelling.md +179 -179
  127. package/kit/commands/supabase.md +30 -7
  128. package/kit/commands/sync-main.md +68 -68
  129. package/kit/commands/validar-fase.md +35 -35
  130. package/kit/commands/verificar-tarefas.md +44 -44
  131. package/kit/commands/verificar-trabalho.md +64 -64
  132. package/kit/file-manifest.json +15 -8
  133. package/kit/framework/bin/lib/commands.cjs +959 -959
  134. package/kit/framework/bin/lib/config.cjs +442 -442
  135. package/kit/framework/bin/lib/core.cjs +1230 -1230
  136. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  137. package/kit/framework/bin/lib/init.cjs +1442 -1442
  138. package/kit/framework/bin/lib/milestone.cjs +252 -252
  139. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  140. package/kit/framework/bin/lib/phase.cjs +888 -888
  141. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  142. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  143. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  144. package/kit/framework/bin/lib/security.cjs +382 -382
  145. package/kit/framework/bin/lib/state.cjs +1031 -1031
  146. package/kit/framework/bin/lib/template.cjs +222 -222
  147. package/kit/framework/bin/lib/uat.cjs +282 -282
  148. package/kit/framework/bin/lib/verify.cjs +888 -888
  149. package/kit/framework/bin/lib/workstream.cjs +491 -491
  150. package/kit/framework/bin/tools.cjs +918 -918
  151. package/kit/framework/commands/workstreams.md +63 -63
  152. package/kit/framework/references/checkpoints.md +778 -778
  153. package/kit/framework/references/continuation-format.md +249 -249
  154. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  155. package/kit/framework/references/git-integration.md +295 -295
  156. package/kit/framework/references/git-planning-commit.md +38 -38
  157. package/kit/framework/references/model-profile-resolution.md +36 -36
  158. package/kit/framework/references/model-profiles.md +139 -139
  159. package/kit/framework/references/phase-argument-parsing.md +61 -61
  160. package/kit/framework/references/planning-config.md +202 -202
  161. package/kit/framework/references/questioning.md +162 -162
  162. package/kit/framework/references/tdd.md +263 -263
  163. package/kit/framework/references/ui-brand.md +160 -160
  164. package/kit/framework/references/user-profiling.md +657 -657
  165. package/kit/framework/references/verification-patterns.md +612 -612
  166. package/kit/framework/references/workstream-flag.md +58 -58
  167. package/kit/framework/templates/DEBUG.md +164 -164
  168. package/kit/framework/templates/UAT.md +265 -265
  169. package/kit/framework/templates/UI-SPEC.md +100 -100
  170. package/kit/framework/templates/VALIDATION.md +76 -76
  171. package/kit/framework/templates/claude-md.md +122 -122
  172. package/kit/framework/templates/codebase/architecture.md +185 -185
  173. package/kit/framework/templates/codebase/concerns.md +205 -205
  174. package/kit/framework/templates/codebase/conventions.md +204 -204
  175. package/kit/framework/templates/codebase/integrations.md +192 -192
  176. package/kit/framework/templates/codebase/stack.md +158 -158
  177. package/kit/framework/templates/codebase/structure.md +199 -199
  178. package/kit/framework/templates/codebase/testing.md +301 -301
  179. package/kit/framework/templates/config.json +44 -44
  180. package/kit/framework/templates/context.md +352 -352
  181. package/kit/framework/templates/continue-here.md +78 -78
  182. package/kit/framework/templates/copilot-instructions.md +7 -7
  183. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  184. package/kit/framework/templates/dev-preferences.md +20 -20
  185. package/kit/framework/templates/discovery.md +146 -146
  186. package/kit/framework/templates/discussion-log.md +63 -63
  187. package/kit/framework/templates/milestone-archive.md +123 -123
  188. package/kit/framework/templates/milestone.md +115 -115
  189. package/kit/framework/templates/phase-prompt.md +610 -610
  190. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  191. package/kit/framework/templates/project.md +186 -186
  192. package/kit/framework/templates/requirements.md +231 -231
  193. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  194. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  195. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  196. package/kit/framework/templates/research-project/STACK.md +120 -120
  197. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  198. package/kit/framework/templates/research.md +419 -419
  199. package/kit/framework/templates/retrospective.md +54 -54
  200. package/kit/framework/templates/roadmap.md +202 -202
  201. package/kit/framework/templates/state.md +176 -176
  202. package/kit/framework/templates/summary-complex.md +59 -59
  203. package/kit/framework/templates/summary-minimal.md +41 -41
  204. package/kit/framework/templates/summary-standard.md +48 -48
  205. package/kit/framework/templates/summary.md +209 -209
  206. package/kit/framework/templates/user-profile.md +146 -146
  207. package/kit/framework/templates/user-setup.md +256 -256
  208. package/kit/framework/templates/verification-report.md +258 -258
  209. package/kit/framework/workflows/add-phase.md +112 -112
  210. package/kit/framework/workflows/add-tests.md +351 -351
  211. package/kit/framework/workflows/add-todo.md +158 -158
  212. package/kit/framework/workflows/audit-milestone.md +340 -340
  213. package/kit/framework/workflows/audit-uat.md +109 -109
  214. package/kit/framework/workflows/autonomous.md +891 -891
  215. package/kit/framework/workflows/check-todos.md +177 -177
  216. package/kit/framework/workflows/cleanup.md +152 -152
  217. package/kit/framework/workflows/complete-milestone.md +696 -696
  218. package/kit/framework/workflows/diagnose-issues.md +231 -231
  219. package/kit/framework/workflows/discovery-phase.md +289 -289
  220. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  221. package/kit/framework/workflows/discuss-phase.md +784 -784
  222. package/kit/framework/workflows/do.md +104 -104
  223. package/kit/framework/workflows/execute-phase.md +838 -838
  224. package/kit/framework/workflows/execute-plan.md +510 -510
  225. package/kit/framework/workflows/fast.md +102 -102
  226. package/kit/framework/workflows/forensics.md +265 -265
  227. package/kit/framework/workflows/health.md +181 -181
  228. package/kit/framework/workflows/help.md +619 -619
  229. package/kit/framework/workflows/insert-phase.md +130 -130
  230. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  231. package/kit/framework/workflows/list-workspaces.md +56 -56
  232. package/kit/framework/workflows/manager.md +362 -362
  233. package/kit/framework/workflows/map-codebase.md +377 -377
  234. package/kit/framework/workflows/milestone-summary.md +223 -223
  235. package/kit/framework/workflows/new-milestone.md +486 -486
  236. package/kit/framework/workflows/new-project.md +1159 -1159
  237. package/kit/framework/workflows/new-workspace.md +237 -237
  238. package/kit/framework/workflows/next.md +97 -97
  239. package/kit/framework/workflows/node-repair.md +92 -92
  240. package/kit/framework/workflows/note.md +156 -156
  241. package/kit/framework/workflows/pause-work.md +176 -176
  242. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  243. package/kit/framework/workflows/plan-phase.md +765 -765
  244. package/kit/framework/workflows/plant-seed.md +169 -169
  245. package/kit/framework/workflows/pr-branch.md +129 -129
  246. package/kit/framework/workflows/profile-user.md +450 -450
  247. package/kit/framework/workflows/progress.md +507 -507
  248. package/kit/framework/workflows/quick.md +757 -757
  249. package/kit/framework/workflows/remove-phase.md +155 -155
  250. package/kit/framework/workflows/remove-workspace.md +90 -90
  251. package/kit/framework/workflows/research-phase.md +82 -82
  252. package/kit/framework/workflows/resume-project.md +326 -326
  253. package/kit/framework/workflows/review.md +228 -228
  254. package/kit/framework/workflows/session-report.md +146 -146
  255. package/kit/framework/workflows/settings.md +283 -283
  256. package/kit/framework/workflows/ship.md +228 -228
  257. package/kit/framework/workflows/stats.md +60 -60
  258. package/kit/framework/workflows/transition.md +671 -671
  259. package/kit/framework/workflows/ui-phase.md +302 -302
  260. package/kit/framework/workflows/ui-review.md +165 -165
  261. package/kit/framework/workflows/update.md +323 -323
  262. package/kit/framework/workflows/validate-phase.md +174 -174
  263. package/kit/framework/workflows/verify-phase.md +252 -252
  264. package/kit/framework/workflows/verify-work.md +637 -637
  265. package/kit/hooks/check-update.js +118 -118
  266. package/kit/hooks/context-monitor.js +163 -163
  267. package/kit/hooks/kit-attribution-reminder.cjs +98 -0
  268. package/kit/hooks/prompt-guard.js +103 -103
  269. package/kit/hooks/statusline.js +125 -125
  270. package/kit/hooks/workflow-guard.js +101 -101
  271. package/kit/settings.json +45 -45
  272. package/kit/skills/_shared-supabase/glossary.md +17 -0
  273. package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
  274. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
  275. package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
  276. package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
  277. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
  278. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
  279. package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
  280. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
  281. package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
  282. package/kit/skills/example-skill/SKILL.md +42 -42
  283. package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
  284. package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
  285. package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
  286. package/kit/skills/legacy-extract-class/SKILL.md +203 -203
  287. package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
  288. package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
  289. package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
  290. package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
  291. package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
  292. package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
  293. package/kit/skills/member-invite-flow/SKILL.md +305 -305
  294. package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
  295. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
  296. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
  297. package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
  298. package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
  299. package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
  300. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
  301. package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
  302. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
  303. package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
  304. package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
  305. package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
  306. package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
  307. package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
  308. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
  309. package/kit/skills/supabase-edge-functions/SKILL.md +229 -141
  310. package/kit/skills/supabase-edge-functions-auth/SKILL.md +309 -0
  311. package/kit/skills/supabase-edge-functions-limits/SKILL.md +302 -0
  312. package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +279 -0
  313. package/kit/skills/supabase-edge-functions-testing/SKILL.md +277 -0
  314. package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +357 -0
  315. package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
  316. package/kit/skills/supabase-migrations/SKILL.md +297 -297
  317. package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
  318. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
  319. package/kit/skills/supabase-realtime/SKILL.md +460 -236
  320. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
  321. package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
  322. package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
  323. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
  324. package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
  325. package/package.json +1 -1
  326. package/src/core/kit.js +216 -216
  327. package/src/core/reflect.js +247 -247
  328. package/src/core/reverse-sync.js +372 -372
  329. package/src/core/sync.js +418 -418
  330. package/src/core/watch.js +121 -121
  331. package/src/mcp-server/index.js +715 -693
@@ -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>