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.
- package/bin/index.js +0 -0
- package/frameworks/agents/qa-staff-engineer.md +311 -0
- package/frameworks/agents/qa-validation-expert.md +458 -0
- package/frameworks/agents/tech-review-conformance.md +200 -0
- package/frameworks/commands/generate-project-profile.md +68 -0
- package/frameworks/commands/generate-prompt.md +33 -98
- package/frameworks/commands/ministack/README.md +61 -46
- package/frameworks/commands/ministack/code-review.md +36 -49
- package/frameworks/commands/ministack/generate-intent.md +25 -2
- package/frameworks/commands/ministack/generate-scope.md +30 -6
- package/frameworks/commands/ministack/generate-tasks.md +191 -6
- package/frameworks/commands/ministack/generate-tech-direction.md +43 -0
- package/frameworks/commands/ministack/run-ministack-tasks.md +352 -33
- package/frameworks/commands/ministack/run-ministack-withlinear.md +23 -22
- package/frameworks/commands/ministack/status.md +153 -0
- package/frameworks/commands/sdd/code-review.md +10 -10
- package/frameworks/commands/sdd/generate-prd.md +32 -2
- package/frameworks/commands/sdd/generate-task-plan.md +199 -5
- package/frameworks/commands/sdd/generate-tech-direction.md +43 -0
- package/frameworks/commands/sdd/generate-tech-spec.md +218 -0
- package/frameworks/commands/sdd/generate-tests.md +2 -2
- package/frameworks/commands/sdd/run_tasks.md +391 -43
- package/frameworks/commands/sdd/run_tasks_withlinear.md +276 -37
- package/frameworks/commands/sdd/status.md +160 -0
- package/frameworks/commands/sdd/validate-sdd.md +18 -2
- package/frameworks/commands/sync-tasks-to-linear.md +588 -588
- package/frameworks/commands/taskcard/generate-taskcard.md +113 -25
- package/frameworks/commands/taskcard/run-taskcard.md +203 -34
- package/frameworks/skills/ministack-intent-expert/SKILL.md +16 -3
- package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +1 -1
- package/frameworks/skills/ministack-scope-expert/SKILL.md +19 -11
- package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +1 -1
- package/frameworks/skills/ministack-tasks-expert/SKILL.md +204 -0
- package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +78 -0
- package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +103 -0
- package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +230 -0
- package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +1 -0
- package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +17 -0
- package/frameworks/skills/prompt-engineer-expert/SKILL.md +232 -0
- package/frameworks/skills/prompt-engineer-expert/templates/prompt_template.md +139 -0
- package/frameworks/skills/sdd-prd-expert/SKILL.md +155 -95
- package/frameworks/skills/sdd-prd-expert/evals/evals.json +59 -0
- package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +46 -46
- package/frameworks/skills/sdd-prd-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-task-plan-expert/SKILL.md +191 -201
- package/frameworks/skills/sdd-task-plan-expert/evals/evals.json +109 -0
- package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +33 -33
- package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +58 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +99 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +64 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +134 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +68 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +525 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +30 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +1126 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +131 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +452 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +78 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +101 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +133 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +248 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +49 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +1325 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +94 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +67 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +117 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +91 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +694 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +45 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +1087 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +124 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +458 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +84 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +70 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +148 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +249 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +80 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +1325 -0
- package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +235 -0
- package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +1 -0
- package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +317 -0
- package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +199 -0
- package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +290 -0
- package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/taskcard-expert/SKILL.md +40 -77
- package/frameworks/skills/taskcard-expert/templates/template.md +0 -2
- package/frameworks/templates/prompt_template.md +44 -1
- package/package.json +1 -1
- package/frameworks/commands/ministack/generate-tests.md +0 -37
- package/frameworks/commands/sdd/generate-spec-tech.md +0 -37
- package/frameworks/commands/taskcard/generate-tests.md +0 -37
- package/frameworks/skills/ministack-expert/SKILL.md +0 -415
- package/frameworks/skills/ministack-expert/templates/tasks-template.md +0 -141
- package/frameworks/skills/ministack-qa-expert/SKILL.md +0 -273
- package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +0 -24
- package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +0 -75
- package/frameworks/skills/sdd-qa-expert/SKILL.md +0 -284
- package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +0 -24
- package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +0 -75
- package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +0 -387
- package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +0 -246
- package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +0 -23
- package/frameworks/skills/taskcard-qa-expert/SKILL.md +0 -265
- package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +0 -78
|
@@ -1,22 +1,207 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Gera
|
|
3
|
-
argument-hint:
|
|
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
|
|
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
|
|
10
|
+
Voce deve seguir as regras e o processo definidos na skill ministack-tasks-expert.
|
|
11
11
|
|
|
12
|
-
|
|
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
|
-
|
|
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:
|
|
3
|
-
argument-hint:
|
|
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
|
-
|
|
7
|
+
## Parametros
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
O `$ARGUMENTS` deve conter:
|
|
9
10
|
|
|
10
|
-
|
|
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
|
-
|
|
14
|
+
**Formato:** `[task_plan_path] [agent_name]`
|
|
13
15
|
|
|
14
|
-
|
|
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
|
-
|
|
17
|
-
2. **Agente/Subagente** (opcional) - Nome do agente a ser usado para execucao
|
|
21
|
+
## Contexto do Framework
|
|
18
22
|
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
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
|
-
|
|
24
|
-
|
|
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
|
-
|
|
189
|
+
**Somente apos o QA aprovar**, lance o agente:
|
|
27
190
|
|
|
28
|
-
|
|
191
|
+
- **subagent_type**: `tech-review-conformance`
|
|
192
|
+
- **description**: "Tech Review task TN"
|
|
193
|
+
- **prompt**:
|
|
29
194
|
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
35
|
-
|
|
198
|
+
## Contexto da Task
|
|
199
|
+
- **Objetivo**: [conteudo da task]
|
|
200
|
+
- **Criterios de Conclusao**: [criterios]
|
|
36
201
|
|
|
37
|
-
##
|
|
202
|
+
## Arquivos Implementados (DEVE LER TODOS)
|
|
203
|
+
[lista de todos os arquivos criados/modificados]
|
|
38
204
|
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|