adi_dev_workflow 1.0.0 → 1.1.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 (135) hide show
  1. package/bin/index.js +0 -0
  2. package/frameworks/agents/qa-staff-engineer.md +311 -0
  3. package/frameworks/agents/qa-validation-expert.md +458 -0
  4. package/frameworks/agents/tech-review-conformance.md +200 -0
  5. package/frameworks/commands/generate-project-profile.md +68 -0
  6. package/frameworks/commands/generate-prompt.md +33 -98
  7. package/frameworks/commands/ministack/README.md +61 -46
  8. package/frameworks/commands/ministack/code-review.md +36 -49
  9. package/frameworks/commands/ministack/generate-intent.md +25 -2
  10. package/frameworks/commands/ministack/generate-scope.md +30 -6
  11. package/frameworks/commands/ministack/generate-tasks.md +191 -6
  12. package/frameworks/commands/ministack/generate-tech-direction.md +43 -0
  13. package/frameworks/commands/ministack/run-ministack-tasks.md +352 -33
  14. package/frameworks/commands/ministack/run-ministack-withlinear.md +23 -22
  15. package/frameworks/commands/ministack/status.md +153 -0
  16. package/frameworks/commands/sdd/code-review.md +10 -10
  17. package/frameworks/commands/sdd/generate-prd.md +32 -2
  18. package/frameworks/commands/sdd/generate-task-plan.md +199 -5
  19. package/frameworks/commands/sdd/generate-tech-direction.md +43 -0
  20. package/frameworks/commands/sdd/generate-tech-spec.md +218 -0
  21. package/frameworks/commands/sdd/generate-tests.md +2 -2
  22. package/frameworks/commands/sdd/run_tasks.md +391 -43
  23. package/frameworks/commands/sdd/run_tasks_withlinear.md +276 -37
  24. package/frameworks/commands/sdd/status.md +160 -0
  25. package/frameworks/commands/sdd/validate-sdd.md +18 -2
  26. package/frameworks/commands/sync-tasks-to-linear.md +588 -588
  27. package/frameworks/commands/taskcard/generate-taskcard.md +113 -25
  28. package/frameworks/commands/taskcard/run-taskcard.md +203 -34
  29. package/frameworks/skills/ministack-intent-expert/SKILL.md +16 -3
  30. package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +1 -1
  31. package/frameworks/skills/ministack-scope-expert/SKILL.md +19 -11
  32. package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +1 -1
  33. package/frameworks/skills/ministack-tasks-expert/SKILL.md +204 -0
  34. package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +78 -0
  35. package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +103 -0
  36. package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +230 -0
  37. package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +1 -0
  38. package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +17 -0
  39. package/frameworks/skills/prompt-engineer-expert/SKILL.md +232 -0
  40. package/frameworks/skills/prompt-engineer-expert/templates/prompt_template.md +139 -0
  41. package/frameworks/skills/sdd-prd-expert/SKILL.md +155 -95
  42. package/frameworks/skills/sdd-prd-expert/evals/evals.json +59 -0
  43. package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +46 -46
  44. package/frameworks/skills/sdd-prd-expert/templates/tech_direction-template.md +23 -0
  45. package/frameworks/skills/sdd-task-plan-expert/SKILL.md +191 -201
  46. package/frameworks/skills/sdd-task-plan-expert/evals/evals.json +109 -0
  47. package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +33 -33
  48. package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +58 -32
  49. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +99 -0
  50. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +64 -0
  51. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +12 -0
  52. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +32 -0
  53. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +134 -0
  54. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +68 -0
  55. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +5 -0
  56. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +32 -0
  57. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +525 -0
  58. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +30 -0
  59. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +5 -0
  60. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +12 -0
  61. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +32 -0
  62. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +1126 -0
  63. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +131 -0
  64. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +5 -0
  65. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +32 -0
  66. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +452 -0
  67. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +78 -0
  68. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +5 -0
  69. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +12 -0
  70. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  71. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +101 -0
  72. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +133 -0
  73. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +5 -0
  74. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  75. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +248 -0
  76. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +49 -0
  77. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +5 -0
  78. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +1325 -0
  79. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +94 -0
  80. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +67 -0
  81. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +12 -0
  82. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +32 -0
  83. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +117 -0
  84. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +91 -0
  85. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +1 -0
  86. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +32 -0
  87. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +694 -0
  88. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +45 -0
  89. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +1 -0
  90. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +12 -0
  91. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +32 -0
  92. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +1087 -0
  93. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +124 -0
  94. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +1 -0
  95. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +32 -0
  96. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +458 -0
  97. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +84 -0
  98. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +1 -0
  99. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +12 -0
  100. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  101. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +70 -0
  102. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +148 -0
  103. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +1 -0
  104. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  105. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +249 -0
  106. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +80 -0
  107. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +1 -0
  108. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +1325 -0
  109. package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +235 -0
  110. package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +1 -0
  111. package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +23 -0
  112. package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +317 -0
  113. package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +199 -0
  114. package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +290 -0
  115. package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +23 -0
  116. package/frameworks/skills/taskcard-expert/SKILL.md +40 -77
  117. package/frameworks/skills/taskcard-expert/templates/template.md +0 -2
  118. package/frameworks/templates/prompt_template.md +44 -1
  119. package/package.json +1 -1
  120. package/frameworks/commands/ministack/generate-tests.md +0 -37
  121. package/frameworks/commands/sdd/generate-spec-tech.md +0 -37
  122. package/frameworks/commands/taskcard/generate-tests.md +0 -37
  123. package/frameworks/skills/ministack-expert/SKILL.md +0 -415
  124. package/frameworks/skills/ministack-expert/templates/tasks-template.md +0 -141
  125. package/frameworks/skills/ministack-qa-expert/SKILL.md +0 -273
  126. package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +0 -24
  127. package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +0 -75
  128. package/frameworks/skills/sdd-qa-expert/SKILL.md +0 -284
  129. package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +0 -24
  130. package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +0 -75
  131. package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +0 -387
  132. package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +0 -246
  133. package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +0 -23
  134. package/frameworks/skills/taskcard-qa-expert/SKILL.md +0 -265
  135. package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +0 -78
@@ -1,22 +1,207 @@
1
1
  ---
2
- description: Gera tasks atomicas e executaveis a partir de INTENT e SCOPE aprovados
3
- argument-hint: [INTENT aprovada + SCOPE aprovado]
2
+ description: "Gera TASKS do miniStack a partir de INTENT e SCOPE aprovados. Params: <intent.md> <scope.md>"
3
+ argument-hint: "<intent.md ex: docs/carrinho-compra/v1/intent.md> <scope.md ex: docs/carrinho-compra/v1/scope.md>"
4
4
  ---
5
5
 
6
- Use a skill **ministack-expert** para gerar as TASKS (ETAPA 3).
6
+ Use a skill **ministack-tasks-expert** para gerar as TASKS.
7
7
 
8
8
  ## Contexto
9
9
 
10
- Voce deve seguir as regras e o processo da **ETAPA 3: TASKS** definida na skill ministack-expert.
10
+ Voce deve seguir as regras e o processo definidos na skill ministack-tasks-expert.
11
11
 
12
- > **Nota**: A secao de testes de cada task sera delegada automaticamente ao subagente `ministack-qa-expert`. Voce nao precisa chamar `/generate-tests` separadamente — o ministack-expert ja coordena a delegacao QA internamente.
12
+ O $ARGUMENTS deve conter:
13
+ 1. **caminho do intent.md** (obrigatorio)
14
+ 2. **caminho do scope.md** (obrigatorio)
15
+
16
+ O task_plan.md e as tasks individuais serao gerados no mesmo diretorio dos arquivos de entrada.
13
17
 
14
18
  ## Regras Adicionais
15
19
 
16
20
  - **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer duvidas com o usuario
17
21
  - **NUNCA** deduza escopo ou invente informacoes — na **DUVIDA PERGUNTE AO USUARIO**
18
22
  - Liste **TODOS** os arquivos envolvidos e as acoes (criar/modificar/remover) em cada task — economiza tokens e scans
19
- - A secao de **testes** de cada task sera preenchida por um subagente QA especializado (`ministack-qa-expert`)
23
+
24
+ ---
25
+
26
+ ## Estrutura de Saida (Formato Modular)
27
+
28
+ A skill gera **arquivos individuais** para cada task, nao um arquivo monolitico:
29
+
30
+ ```
31
+ docs/[nome-feature]/vN/
32
+ task_plan.md # Indice: macro-fases, grafo de dependencias, visao consolidada
33
+ tasks/
34
+ T1.md # Task individual completa
35
+ T2.md
36
+ T3.md
37
+ ...
38
+ ```
39
+
40
+ ---
41
+
42
+ ## Delegacao QA — Secao de Testes de cada Task
43
+
44
+ A **secao de Testes** de cada task NAO deve ser preenchida pela skill. Voce DEVE delegar para o agente **qa-staff-engineer** que retorna um JSON estruturado. Depois, voce converte o resultado em markdown na secao de Testes.
45
+
46
+ ### Quando executar
47
+
48
+ Para **cada task**, apos a skill preencher todas as secoes exceto Testes, **ANTES de salvar os arquivos finais**. Se varias tasks estao sendo criadas, voce pode disparar agentes QA em **paralelo** para maximizar eficiencia.
49
+
50
+ ### Passo 1: Preparar a lista de arquivos
51
+
52
+ Monte a lista de `arquivos` que o agente deve ler para CADA task. Inclua:
53
+
54
+ - **INTENT aprovada**: `docs/[nome-feature]/vN/intent.md`
55
+ - **SCOPE aprovado**: `docs/[nome-feature]/vN/scope.md`
56
+ - **Testes existentes**: busque arquivos de teste relacionados aos arquivos impactados pela task
57
+ - **Codigo-fonte existente**: arquivos listados na task (a criar ou modificar)
58
+
59
+ ### Passo 2: Preparar as instrucoes
60
+
61
+ Monte o campo `instrucoes` com:
62
+
63
+ 1. O conteudo completo da **task parcial** que a skill montou ate o momento
64
+ 2. Os **criterios de conclusao** da task
65
+ 3. Os **arquivos impactados** pela task — para o QA saber quais camadas testar
66
+ 4. O **tipo da task** (cria handler, cria service, cria repository, cria migracao, etc.)
67
+
68
+ ### Passo 3: Disparar o agente
69
+
70
+ Lance o agente usando a ferramenta `Agent` com:
71
+
72
+ - **subagent_type**: `qa-staff-engineer`
73
+ - **description**: "QA gerar testes task TN"
74
+ - **prompt**: Monte o prompt com os 3 parametros obrigatorios:
75
+
76
+ ```
77
+ Voce foi invocado com os seguintes parametros:
78
+
79
+ 1. **modo**: GERAR_TESTES
80
+ 2. **arquivos**: [lista de caminhos dos arquivos preparados no Passo 1]
81
+ 3. **instrucoes**: [conteudo preparado no Passo 2]
82
+ ```
83
+
84
+ ### Passo 4: Converter JSON em formato tabular (secao Testes)
85
+
86
+ O agente QA retorna um JSON com `casos_teste[]`. Voce DEVE converter para o formato **tabular** da secao de Testes usando o mapeamento abaixo:
87
+
88
+ #### Mapeamento de tipos
89
+
90
+ | Campo `tipo` no JSON | Subsecao destino |
91
+ |---------------------|-----------------|
92
+ | `UNITARIO` | **5.1 Testes Unitarios** |
93
+ | `INTEGRACAO` | **5.2 Testes de Integracao** |
94
+ | `E2E` | **5.3 Testes E2E** |
95
+ | `SEGURANCA` | **5.4 Cenarios de Erro** |
96
+ | `PERFORMANCE` | **5.4 Cenarios de Erro** |
97
+
98
+ Alem dos testes tipo `SEGURANCA` e `PERFORMANCE`, inclua em 5.4 todos os `casos_teste` com `categoria` igual a: `tratamento_erro`, `caso_extremo`, `fronteira`.
99
+
100
+ #### Formato de saida por subsecao
101
+
102
+ O formato DEVE seguir o **formato tabular** do template de task individual. Isso garante clareza sobre o objetivo real de cada teste.
103
+
104
+ Infira o nome do arquivo de teste a partir do componente testado:
105
+ - Handler → `[nome]_handler_test.go`
106
+ - Service → `[nome]_service_test.go`
107
+ - Repository → `[nome]_repository_test.go`
108
+
109
+ Infira o nome da funcao de teste a partir do titulo do CT:
110
+ - Use formato `TestNomeMetodo_CenarioDescritivo` (Go convention)
111
+
112
+ **5.1 Testes Unitarios** — formato tabular agrupado por componente:
113
+
114
+ ```markdown
115
+ #### [Camada]: [NomeComponente] (`arquivo_test.go`)
116
+
117
+ Mock: [interfaces mockadas]
118
+
119
+ | CT | Teste | Objetivo | Input | Expected | Mock |
120
+ |----|-------|----------|-------|----------|------|
121
+ | CT-XX | TestMetodo_Cenario | Verificar que [comportamento] quando [condicao] | dados entrada | resultado esperado | dependencias mockadas |
122
+ ```
123
+
124
+ **5.2 Testes de Integracao** — formato tabular com Setup:
125
+
126
+ ```markdown
127
+ #### [CamadaA + CamadaB] (`arquivo_test.go`)
128
+
129
+ Setup: [banco in-memory, migracoes, fixtures]
130
+
131
+ | CT | Teste | Objetivo | Fluxo | Validacao |
132
+ |----|-------|----------|-------|-----------|
133
+ | CT-XX | TestIntegracao_Cenario | Verificar que [comportamento] quando [condicao] | Passos do fluxo | Assertions esperadas |
134
+ ```
135
+
136
+ **5.3 Testes E2E** — formato descritivo por fluxo:
137
+
138
+ ```markdown
139
+ #### Fluxo: [Nome do Fluxo] (CT-XX)
140
+ - **Objetivo**: (1 frase descrevendo o que este fluxo E2E valida de ponta a ponta)
141
+ - **Pre-condicoes**: (estado inicial do sistema)
142
+ - **Passos**:
143
+ 1. Passo 1
144
+ 2. Passo 2
145
+ - **Validacoes**: (assertions sobre dados e estado final)
146
+ ```
147
+
148
+ **5.4 Cenarios de Erro** — formato tabular:
149
+
150
+ ```markdown
151
+ | Cenario | Objetivo | Trigger | Codigo/Status | Log Esperado |
152
+ |---------|----------|---------|---------------|-------------|
153
+ | Descricao | Verificar que [constraint] impede [operacao] | Acao trigger | Codigo erro | Mensagem log |
154
+ ```
155
+
156
+ #### Testes Existentes a Modificar
157
+
158
+ Apos as subsecoes 5.1-5.4, adicione a tabela de testes existentes:
159
+
160
+ ```markdown
161
+ #### Testes Existentes a Modificar
162
+ | Arquivo | Motivo da Modificacao |
163
+ |---------|----------------------|
164
+ ```
165
+
166
+ Se nenhum: `> Nenhum teste existente impactado.`
167
+
168
+ ### Passo 5: Validar como engenheiro de tarefas
169
+
170
+ Antes de integrar a secao de Testes na task:
171
+
172
+ 1. Verifique **coerencia** com os arquivos impactados (os componentes testados existem?)
173
+ 2. Verifique que os testes cobrem os **criterios de conclusao** da task
174
+ 3. Ajuste nomenclatura para seguir padroes do projeto
175
+ 4. Para tasks sem codigo (documentacao, configuracao): "N/A — task nao envolve codigo testavel"
176
+
177
+ ### Passo 6: Salvar e apresentar
178
+
179
+ 1. Salve cada task individual em `docs/[nome-feature]/vN/tasks/T[N].md`
180
+ 2. Salve o task plan em `docs/[nome-feature]/vN/task_plan.md`
181
+ 3. Apresente ao usuario para aprovacao
182
+
183
+ **NAO peca aprovacao isolada da secao de testes** — apresente as tasks completas para validacao.
184
+
185
+ ---
186
+
187
+ ## Estado do Pipeline (ministack_state.yaml)
188
+
189
+ Apos salvar o task_plan.md e todas as tasks com sucesso, atualize o arquivo `ministack_state.yaml` no mesmo diretorio:
190
+
191
+ ```yaml
192
+ # atualizar apenas estes campos:
193
+ current_step: task_plan
194
+ steps:
195
+ task_plan:
196
+ status: completed
197
+ summary: "<N tasks>, <M fases>, <P paralelizaveis>"
198
+ execution:
199
+ status: pending
200
+ tasks_total: <N>
201
+ tasks_completed: 0
202
+ ```
203
+
204
+ Se o `ministack_state.yaml` nao existir, nao crie — o generate-intent e responsavel por criar.
20
205
 
21
206
  ## Entrada
22
207
 
@@ -0,0 +1,43 @@
1
+ ---
2
+ description: "Gera TECH DIRECTION do miniStack a partir de INTENT aprovada. Param: caminho do intent.md"
3
+ argument-hint: "<intent.md ex: docs/carrinho-compra/v1/intent.md>"
4
+ ---
5
+
6
+ Use a skill **ministack-tech-direction-expert** para gerar o tech_direction.md.
7
+
8
+ ## Contexto
9
+
10
+ Voce deve atuar como um **Arquiteto de Software Senior** especializado em tomada de decisao tecnica e seguir todo o processo interativo definido na skill ministack-tech-direction-expert para construir um tech_direction completo.
11
+
12
+ ## Pre-requisito
13
+
14
+ Antes de iniciar, verifique se `.claude/rules/project-profile.md` existe. Se NAO existir, interrompa e peca ao usuario para executar `/generate-project-profile` primeiro.
15
+
16
+ ## Regras Adicionais
17
+
18
+ - **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer duvidas com o usuario
19
+ - **NUNCA** deduza decisoes ou invente informacoes — na **DUVIDA PERGUNTE AO USUARIO**
20
+ - Leia o **project-profile.md** para entender stack, padroes e convencoes do projeto
21
+ - Pesquise o codebase ANTES de fazer perguntas (regras, padroes, libs)
22
+ - Faca **UMA pergunta por vez**, aguardando a resposta antes de avancar
23
+ - **SEMPRE** salve o arquivo fisico antes de apresentar ao usuario
24
+ - O arquivo deve ser salvo no mesmo diretorio da INTENT: `docs/[nome-feature]/vN/tech_direction.md`
25
+
26
+ ## Estado do Pipeline (ministack_state.yaml)
27
+
28
+ Apos salvar o tech_direction.md com sucesso, atualize o arquivo `ministack_state.yaml` no mesmo diretorio:
29
+
30
+ ```yaml
31
+ # atualizar apenas estes campos:
32
+ current_step: tech_direction
33
+ steps:
34
+ tech_direction:
35
+ status: completed
36
+ summary: "<listar as principais decisoes tecnicas em 1 frase>"
37
+ ```
38
+
39
+ Se o `ministack_state.yaml` nao existir, nao crie — o generate-intent e responsavel por criar.
40
+
41
+ ## Entrada
42
+
43
+ $ARGUMENTS
@@ -1,55 +1,374 @@
1
1
  ---
2
- description: Coordena sub-agentes para executar tasks aprovadas com maximo paralelismo
3
- argument-hint: [caminho da feature] [agente opcional ex: go-backend-implementer]
2
+ description: "Executa tasks do miniStack via sub-agentes. Params: <task_plan.md> <agent_name> (ex: docs/carrinho-compra/v1/task_plan.md go-expert)"
3
+ argument-hint: "<caminho task_plan.md ex: docs/carrinho-compra/v1/task_plan.md> <agent_name ex: go-expert>"
4
4
  ---
5
+ Voce e um **Coordenador de Sub-agentes** dentro do framework miniStack. Seu papel e **orquestrar**, nao executar diretamente.
5
6
 
6
- Use a skill **ministack-expert** para executar as TASKS (ETAPA 5).
7
+ ## Parametros
7
8
 
8
- ## Contexto
9
+ O `$ARGUMENTS` deve conter:
9
10
 
10
- Voce deve seguir as regras e o processo da **ETAPA 5: EXECUCAO** definida na skill ministack-expert.
11
+ 1. **task_plan_path** (obrigatorio) Caminho do task_plan.md (ex: `docs/carrinho-compra/v1/task_plan.md`)
12
+ 2. **agent_name** (obrigatorio) — Nome do sub-agente executor (ex: `go-expert`, `flutter-dev-agent`)
11
13
 
12
- ## Argumentos
14
+ **Formato:** `[task_plan_path] [agent_name]`
13
15
 
14
- O `$ARGUMENTS` pode conter:
16
+ A partir do **task_plan_path**, derive:
17
+ - **diretorio base**: diretorio pai do task_plan.md (ex: `docs/carrinho-compra/v1/`)
18
+ - **tasks individuais**: `[diretorio-base]/tasks/T*.md`
19
+ - **intent.md** e **scope.md**: extrair os caminhos da secao 1 (Identificacao) do task_plan.md — campos **Intent** e **Scope**
15
20
 
16
- 1. **Caminho da feature** (obrigatorio) - Ex: `docs/nome-feature/v1`
17
- 2. **Agente/Subagente** (opcional) - Nome do agente a ser usado para execucao
21
+ ## Contexto do Framework
18
22
 
19
- **Formatos aceitos:**
20
- - `docs/minha-feature/v1` - Usa execucao padrao
21
- - `docs/minha-feature/v1 go-backend-implementer` - Usa agente especifico
23
+ O fluxo oficial e:
24
+ - **INTENT** define O QUE / POR QUE
25
+ - **SCOPE** define COMO
26
+ - **TASKS** → definem O QUE IMPLEMENTAR AGORA
22
27
 
23
- Se um agente for especificado, ele sera usado como `subagent_type` na ferramenta Task.
24
- Os agentes disponiveis podem ser encontrados em `.claude/agents/`.
28
+ ---
29
+
30
+ ## Instrucoes
31
+
32
+ 1. **Leia o `task_plan.md`** fornecido em `task_plan_path`. Extraia da secao 1 (Identificacao) os caminhos do **Intent** e **Scope**. Identifique todas as tasks, dependencias e ordem de execucao a partir da tabela de tasks e do grafo de dependencias.
33
+
34
+ 2. **Leia cada task individual** em `[diretorio-base]/tasks/T[N].md` para obter os detalhes completos (objetivo, arquivos, criterios, testes).
35
+
36
+ 3. **Construa o grafo de dependencias**:
37
+ - Cada task ID e um no
38
+ - A coluna "Dependencias" indica as arestas
39
+
40
+ 4. **Identifique tasks prontas para execucao**:
41
+ - Status `A Fazer` (ou vazio)
42
+ - Todas as dependencias estao concluidas
43
+
44
+ 5. **Agrupe tasks paralelizaveis e crie sub-agentes em paralelo**:
45
+ - Maximize o paralelismo: N tasks prontas = N sub-agentes em paralelo
46
+ - Se houver risco de conflito (mesmos arquivos), execute sequencialmente
47
+
48
+ 6. **Para cada task pronta, DELEGUE para o sub-agente (agent_name)**:
49
+ - Passe: o conteudo completo do arquivo da task individual (objetivo, descricao, criterio de conclusao, arquivos impactados, testes)
50
+ - O sub-agente deve consultar scope.md se necessario
51
+ - O sub-agente aplica as modificacoes no codigo
52
+ - O sub-agente cria e executa os testes definidos na secao de Testes
53
+ - **Apos implementar, o sub-agente DEVE executar o Checklist Final (secao 7 da task)** e validar cada item:
54
+ - [ ] Implementada conforme Scope
55
+ - [ ] Testes unitarios criados/atualizados
56
+ - [ ] Testes de integracao criados/atualizados
57
+ - [ ] Criterio de conclusao atendido
58
+ - [ ] Revisada
59
+ - Se algum item do checklist NAO estiver atendido, o sub-agente DEVE corrigir antes de reportar conclusao
60
+ - O sub-agente marca cada item como `[x]` no arquivo `tasks/T[N].md` ao confirmar
61
+ - O sub-agente tambem marca como `[x]` os itens de **Detalhes de Implementacao (secao 4)** conforme completar cada subtask
62
+
63
+ 7. **Apos o sub-agente concluir, VALIDE com QA e Tech Review** (ver secao abaixo)
64
+
65
+ 8. **Atualize a task individual** (apos aprovacao de AMBOS os gates):
66
+ - Marque Status como `Concluido` na secao 1 do arquivo `tasks/T[N].md`
67
+ - Confirme que a secao 7 (Checklist Final) tem todos os items `[x]`
68
+ - Confirme que a secao 4 (Detalhes de Implementacao) tem todos os items `[x]`
69
+
70
+ 9. **Atualize o task_plan.md** (apos aprovacao de AMBOS os gates):
71
+ - Marque a task com Status `Concluido` na tabela de tasks (secao 4)
72
+ - Marque a task com Status `Concluido` no grafo de dependencias (secao 5)
73
+
74
+ 10. **Apos TODAS as tasks concluidas, atualize os Criterios de Conclusao Geral (secao 7 do task_plan.md)**:
75
+ - Valide e marque cada item como `[x]`:
76
+ - [ ] Todas as tasks concluidas
77
+ - [ ] Objetivo tecnico atingido
78
+ - [ ] Codigo compila sem erros — executar `CGO_ENABLED=1 go build ./...`
79
+ - [ ] Testes unitarios passando — executar `CGO_ENABLED=1 go test ./... -v`
80
+ - [ ] Testes de integracao passando (se aplicavel)
81
+ - [ ] Testes e2e passando (se aplicavel)
82
+ - Se algum criterio NAO for atendido, investigue e corrija antes de marcar
83
+ - Atualize o Status do task_plan.md (secao 1) para `Concluido`
84
+
85
+ ---
86
+
87
+ ## Validacao pos-implementacao (QA + Tech Review)
88
+
89
+ Apos CADA task ser implementada pelo sub-agente executor, voce DEVE validar a implementacao em **dois gates obrigatorios** antes de marcar a task como concluida:
90
+
91
+ 1. **Gate 1 — QA (qa-staff-engineer)**: validacao funcional, testes, criterios de aceite
92
+ 2. **Gate 2 — Tech Review (tech-review-conformance)**: conformidade arquitetural, padroes do projeto
93
+
94
+ **Nenhuma task e considerada concluida sem aprovacao de AMBOS os gates.**
95
+
96
+ ### Fluxo de Validacao
97
+
98
+ ```
99
+ Executor (agent_name) implementa task
100
+
101
+ ┌─── GATE 1: qa-staff-engineer valida (VALIDAR_IMPLEMENTACAO)
102
+ │ ↓
103
+ │ ┌── APROVADO → avancar para Gate 2
104
+ │ ├── APROVADO_COM_OBSERVACOES (0 criticos) → avancar para Gate 2, registrar obs
105
+ │ ├── APROVADO_COM_OBSERVACOES (com criticos) → corrigir (tratar como REJEITADO)
106
+ │ └── REJEITADO → enviar correcoes ao executor
107
+ │ ↓
108
+ │ Executor corrige → QA re-valida (max 3 tentativas)
109
+ │ ↓
110
+ │ Ainda rejeitado? → escalar ao usuario
111
+
112
+ └─── GATE 2: tech-review-conformance valida (apos QA aprovado)
113
+
114
+ ┌── approved → task concluida, continuar
115
+ ├── partial → enviar correcoes ao executor
116
+ └── rejected → enviar correcoes ao executor
117
+
118
+ Executor corrige
119
+
120
+ QA re-valida + Tech Review re-valida (max 3 tentativas)
121
+
122
+ Ainda rejeitado? → escalar ao usuario
123
+ ```
124
+
125
+ ### Passo 1: Preparar a lista de arquivos para o QA
126
+
127
+ Apos o executor concluir, monte a lista de `arquivos` que o QA deve ler:
128
+
129
+ - **Task implementada**: `[diretorio-base]/tasks/T[N].md` (arquivo individual da task)
130
+ - **SCOPE**: `[diretorio-base]/scope.md`
131
+ - **INTENT**: `[diretorio-base]/intent.md`
132
+ - **Arquivos criados/modificados**: todos os arquivos que o executor criou ou modificou
133
+ - **Arquivos de teste**: todos os arquivos de teste criados/modificados
134
+
135
+ ### Passo 2: Preparar as instrucoes para o QA
136
+
137
+ Monte o campo `instrucoes` com:
138
+
139
+ 1. **ID e nome da task**: para contexto
140
+ 2. **Criterios de conclusao** da task — o QA deve validar CADA criterio
141
+ 3. **Testes definidos** na task — o QA deve executar os testes e verificar se passam
142
+ 4. **Comando de teste**: `CGO_ENABLED=1 go test ./[pacote]/... -v` (ajustar ao pacote relevante)
143
+ 5. Instrucao explicita: "Execute os testes e valide a implementacao contra os criterios de aceite"
144
+
145
+ ### Passo 3: Disparar o subagente QA
146
+
147
+ Lance o subagente usando a ferramenta `Agent` com:
148
+
149
+ - **subagent_type**: `qa-staff-engineer`
150
+ - **description**: "QA validar task TN"
151
+ - **prompt**:
152
+
153
+ ```
154
+ Voce foi invocado com os seguintes parametros:
155
+
156
+ 1. **modo**: VALIDAR_IMPLEMENTACAO
157
+ 2. **arquivos**: [lista de caminhos preparada no Passo 1]
158
+ 3. **instrucoes**: [conteudo preparado no Passo 2]
159
+ ```
160
+
161
+ ### Passo 4: Interpretar o resultado do QA
162
+
163
+ | Veredito | Problemas Criticos | Acao |
164
+ |----------|-------------------|------|
165
+ | `APROVADO` | 0 | QA aprovado. **Avancar para Gate 2 (Tech Review)** |
166
+ | `APROVADO_COM_OBSERVACOES` | 0 | QA aprovado. Registrar observacoes. **Avancar para Gate 2** |
167
+ | `APROVADO_COM_OBSERVACOES` | > 0 | Tratar como REJEITADO — corrigir problemas criticos |
168
+ | `REJEITADO` | qualquer | Enviar ao executor para correcao (Passo 5) |
169
+
170
+ ### Passo 5: Loop de correcao QA (quando REJEITADO)
171
+
172
+ Se o QA rejeitar:
173
+
174
+ 1. **Extraia do JSON do QA**: problemas criticos, problemas altos, testes que falharam, criterios nao atendidos
175
+ 2. **Monte o prompt de correcao** para o executor com todos os problemas listados
176
+ 3. **Dispare o executor** com o prompt de correcao
177
+ 4. **Apos a correcao, re-valide** com o QA (voltar ao Passo 3)
178
+ 5. **Limite maximo: 3 tentativas** (compartilhado com Tech Review)
179
+
180
+ ### Passo 6: Preparar contexto para Tech Review
181
+
182
+ Apos o QA aprovar, monte o contexto para o Tech Review:
183
+
184
+ 1. Da task: objetivo, descricao, criterios de conclusao, arquivos impactados
185
+ 2. Lista de todos os arquivos criados/modificados (codigo + testes)
186
+
187
+ ### Passo 7: Disparar o Tech Review (Gate 2)
25
188
 
26
- ## Contexto Obrigatorio
189
+ **Somente apos o QA aprovar**, lance o agente:
27
190
 
28
- Antes de executar qualquer task, voce **DEVE** ler:
191
+ - **subagent_type**: `tech-review-conformance`
192
+ - **description**: "Tech Review task TN"
193
+ - **prompt**:
29
194
 
30
- 1. **`intent.md`** - Define o objetivo e contexto da feature
31
- 2. **`scope.md`** - Define o escopo aprovado e limites
32
- 3. **`tasks.md`** - Contem as tasks aprovadas para execucao
195
+ ```
196
+ Realize a revisao tecnica da task [ID] - [Nome da Task].
33
197
 
34
- > Toda execucao deve respeitar a intent e os limites do scope.
35
- > Se uma task conflitar com estes documentos, **PARE e avise**.
198
+ ## Contexto da Task
199
+ - **Objetivo**: [conteudo da task]
200
+ - **Criterios de Conclusao**: [criterios]
36
201
 
37
- ## Execucao em Paralelo
202
+ ## Arquivos Implementados (DEVE LER TODOS)
203
+ [lista de todos os arquivos criados/modificados]
38
204
 
39
- - **Tasks independentes**: Lance multiplas chamadas Task em paralelo na mesma mensagem
40
- - **Tasks dependentes**: Execute sequencialmente, aguardando conclusao da anterior
41
- - **Maximo de paralelismo**: Priorize lancar o maior numero possivel de tasks simultaneas
205
+ ## Arquivos de Teste (DEVE LER TODOS)
206
+ [lista de arquivos de teste]
42
207
 
43
- ## Fluxo
208
+ Leia TODOS os arquivos listados e valide:
209
+ 1. Conformidade arquitetural (camadas, fluxo de dependencia, separacao de responsabilidades)
210
+ 2. Aderencia aos padroes do projeto (convencoes, nomenclatura, estrutura)
211
+ 3. Cada criterio de conclusao
212
+ 4. Riscos tecnicos (debito tecnico, testabilidade, robustez)
213
+ ```
44
214
 
45
- 1. **Recepcao e Validacao** Ler tasks, validar, analisar paralelismo
46
- 2. **Execucao Tecnica** — Executar passos conforme descrito
47
- 3. **Validacao de Testes** — Executar testes relevantes
48
- 4. **Aceite Tecnico** — Validar criterio de conclusao
49
- 5. **Reporte Final** — Resumo do que foi feito
215
+ ### Passo 8: Interpretar resultado do Tech Review
50
216
 
51
- ## Entrada
217
+ | Status | Acao |
218
+ |--------|------|
219
+ | `approved` | Task concluida. Marcar como `Concluido` no arquivo da task e no task_plan.md |
220
+ | `partial` | Ha problemas `high`. Enviar ao executor para correcao |
221
+ | `rejected` | Ha problemas `critical`. Enviar ao executor para correcao |
52
222
 
53
- **Formato:** `[caminho-feature] [agente-opcional]`
223
+ ### Passo 9: Loop de correcao Tech Review
224
+
225
+ Se o Tech Review reprovar:
226
+
227
+ 1. Extraia problemas do JSON (foque em `critical` e `high`)
228
+ 2. Monte prompt de correcao para o executor
229
+ 3. Dispare o executor
230
+ 4. **Re-valide com AMBOS os gates** (QA primeiro, depois Tech Review)
231
+ 5. **Limite maximo: 3 tentativas TOTAIS** (compartilhado entre QA e Tech Review)
232
+
233
+ ### Passo 10: Escalar ao usuario (apos 3 tentativas)
234
+
235
+ Se apos 3 tentativas totais o QA ou Tech Review ainda reprovar:
236
+
237
+ 1. **NAO marque a task como concluida**
238
+ 2. **Marque como `Bloqueado`** no arquivo da task e no task_plan.md
239
+ 3. **Informe ao usuario** com: task bloqueada, tentativas feitas, problemas persistentes, gate bloqueante
240
+ 4. **Pergunte ao usuario** como proceder antes de continuar
241
+
242
+ ### Regras da Validacao
243
+
244
+ - **Toda task que modifica codigo** DEVE passar por ambos os gates — sem excecao
245
+ - **Os gates sao SEQUENCIAIS por task**: primeiro QA (Gate 1), depois Tech Review (Gate 2) — NUNCA em paralelo
246
+ - **NUNCA lance QA e Tech Review ao mesmo tempo** para a mesma task ou em lotes paralelos separados
247
+ - Tasks que nao envolvem codigo (ex: documentacao) podem ser marcadas concluidas sem gates
248
+ - O QA deve **executar os testes** — nao apenas revisar o codigo
249
+ - O Tech Review valida **conformidade arquitetural** — nao repete a validacao funcional do QA
250
+ - Cada tentativa gera validacao completa de AMBOS os gates (nao incremental) — sempre comecando pelo QA
251
+ - O contador de tentativas e **compartilhado** entre QA e Tech Review
252
+
253
+ ---
254
+
255
+ ## Regras
256
+
257
+ - **SEMPRE delegar** para sub-agentes — o coordenador nunca implementa diretamente
258
+ - **Priorizar paralelismo** — se multiplas tasks podem rodar juntas, crie sub-agentes em paralelo
259
+ - **SEMPRE validar com QA** apos cada task
260
+ - **SEMPRE validar com Tech Review** apos aprovacao do QA
261
+ - **Nao alterar** intent, scope ou criar novas tasks sem o usuario pedir
262
+ - Tasks com dependencias devem aguardar a conclusao das dependencias
263
+ - Nunca delegar duas tasks que modificam o mesmo arquivo critico simultaneamente
264
+
265
+ ---
266
+
267
+ ## Delegacao para Sub-agentes
268
+
269
+ ### Regra Principal
270
+ **TODA task deve ser delegada para um sub-agente**, independentemente de ser paralela ou sequencial. O coordenador **nunca executa tasks diretamente**.
271
+
272
+ ### Fluxo de Delegacao
273
+
274
+ **IMPORTANTE**: Os gates QA e Tech Review sao **SEQUENCIAIS por task**, nunca em paralelo.
275
+ Para cada task individual: primeiro QA → se aprovado → Tech Review. Se Tech Review reprovar:
276
+ corrigir → QA novamente → se aprovado → Tech Review novamente.
277
+
278
+ ```
279
+ Coordenador Sub-agentes
280
+
281
+ ├─── Le task_plan.md + tasks/T*.md
282
+
283
+ ├─── Identifica tasks prontas
284
+
285
+ ├─── [PARALELO] Delega N tasks ──►├─► agent_name (T1)
286
+ │ ├─► agent_name (T2)
287
+ │ └─► agent_name (T3)
288
+ │ │
289
+ ◄────── Aguarda conclusao ────────────┘
290
+
291
+ ├─── Para CADA task (SEQUENCIAL por task):
292
+ │ │
293
+ │ ├── T1: GATE 1 → qa-staff-engineer (T1)
294
+ │ │ ├── APROVADO → GATE 2 → tech-review-conformance (T1)
295
+ │ │ │ ├── approved → T1 Concluido
296
+ │ │ │ └── partial/rejected → executor corrige T1
297
+ │ │ │ → volta ao GATE 1 (QA re-valida)
298
+ │ │ └── REJEITADO → executor corrige T1
299
+ │ │ → volta ao GATE 1 (QA re-valida) (max 3x total)
300
+ │ │
301
+ │ ├── T2: (mesmo fluxo sequencial)
302
+ │ └── T3: (mesmo fluxo sequencial)
303
+
304
+ ├─── Atualiza tasks/T[N].md + task_plan.md
305
+ └─── Proximo grupo de tasks...
306
+ ```
307
+
308
+ ---
309
+
310
+ ## Relatorio Final
311
+
312
+ Ao final, produza saida em Markdown com:
313
+ - **Tasks Concluidas** (ID, nome, arquivos modificados, veredito QA, veredito Tech Review)
314
+ - **Validacao QA** (resumo por task: veredito, tentativas)
315
+ - **Validacao Tech Review** (resumo por task: status, problemas)
316
+ - **Tasks Bloqueadas** (se houver, com motivo e gate bloqueante)
317
+ - **Observacoes** (de tasks aprovadas com observacoes)
318
+
319
+ ---
320
+
321
+ ## Prompt Base
322
+
323
+ Quero que voce atue como um **coordenador de sub-agentes** guiado pelo framework miniStack.
324
+
325
+ 1. Extraia **task_plan_path** e **agent_name** de `$ARGUMENTS`
326
+ 2. Leia o `task_plan.md` fornecido. Extraia os caminhos de **Intent** e **Scope** da secao 1 (Identificacao). Leia cada `tasks/T[N].md` no diretorio-base
327
+ 3. Descubra quais tasks estao prontas para execucao (respeitando dependencias)
328
+ 4. **DELEGUE cada task para o sub-agente (agent_name)** — nunca execute diretamente
329
+ 5. O sub-agente deve criar e executar os testes definidos na secao de Testes de cada task
330
+ 6. **Apos cada task, VALIDE com qa-staff-engineer** (modo VALIDAR_IMPLEMENTACAO) — Gate 1
331
+ 7. **Se o QA rejeitar, envie correcoes ao executor** (max 3 tentativas totais)
332
+ 8. **Apos aprovacao do QA, VALIDE com tech-review-conformance** — Gate 2
333
+ 9. **Se o Tech Review reprovar, envie correcoes ao executor** e re-valide com AMBOS os gates
334
+ 10. **Se apos 3 tentativas o QA ou Tech Review ainda reprovar, ESCALE ao usuario** — NAO continue
335
+ 11. **Maximize o paralelismo**: crie multiplos sub-agentes simultaneamente sempre que possivel
336
+ 12. Atualize `tasks/T[N].md` e `task_plan.md` com os novos status (somente apos aprovacao de AMBOS os gates)
337
+ 13. Reporte o que foi feito em um relatorio estruturado
338
+
339
+ **Lembre-se**: Voce e o orquestrador, nao o executor. Toda implementacao e feita por sub-agentes. Validacao funcional pelo qa-staff-engineer. Validacao tecnica pelo tech-review-conformance. Nenhuma task e concluida sem aprovacao de AMBOS os gates. **Os gates sao SEQUENCIAIS por task**: primeiro QA, depois Tech Review — NUNCA em paralelo. Se Tech Review reprovar, corrija e volte ao QA antes de rodar Tech Review novamente.
340
+
341
+ ---
342
+
343
+ ## Estado do Pipeline (ministack_state.yaml)
344
+
345
+ Ao iniciar a execucao, atualize o `ministack_state.yaml` no diretorio base da feature:
346
+
347
+ ```yaml
348
+ current_step: execution
349
+ steps:
350
+ execution:
351
+ status: in_progress
352
+ tasks_completed: 0
353
+ tasks_total: <N>
354
+ ```
355
+
356
+ A cada task concluida (aprovada por QA + Tech Review), atualize `tasks_completed`.
357
+
358
+ Ao finalizar todas as tasks:
359
+
360
+ ```yaml
361
+ current_step: execution
362
+ steps:
363
+ execution:
364
+ status: completed
365
+ tasks_completed: <N>
366
+ tasks_total: <N>
367
+ summary: "<N/N tasks concluidas>. <bloqueadas se houver>"
368
+ ```
369
+
370
+ Se o `ministack_state.yaml` nao existir, nao crie — o generate-intent e responsavel por criar.
371
+
372
+ ---
54
373
 
55
374
  $ARGUMENTS