adi_dev_workflow 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/frameworks/commands/ministack/generate-tasks.md +212 -212
  2. package/frameworks/commands/sdd/generate-task-plan.md +4 -4
  3. package/frameworks/commands/sdd/generate-tech-direction.md +2 -2
  4. package/frameworks/commands/sdd/generate-tech-spec.md +4 -4
  5. package/frameworks/commands/sdd/generate-tests.md +171 -39
  6. package/frameworks/config/ai-framework-config.yaml +2 -2
  7. package/frameworks/skills/ministack-tasks-expert/SKILL.md +115 -104
  8. package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +21 -6
  9. package/frameworks/skills/prompt-engineer-expert/SKILL.md +10 -7
  10. package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +21 -6
  11. package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +23 -7
  12. package/package.json +1 -1
  13. package/src/cli.js +27 -2
  14. package/src/installer.js +185 -106
  15. package/frameworks/agents/qa-validation-expert.md +0 -458
  16. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +0 -99
  17. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +0 -64
  18. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +0 -12
  19. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +0 -32
  20. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +0 -134
  21. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +0 -68
  22. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +0 -5
  23. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +0 -32
  24. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +0 -525
  25. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +0 -30
  26. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +0 -5
  27. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +0 -12
  28. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +0 -32
  29. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +0 -1126
  30. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -131
  31. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +0 -5
  32. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +0 -32
  33. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +0 -452
  34. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -78
  35. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +0 -5
  36. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +0 -12
  37. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +0 -32
  38. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -101
  39. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -133
  40. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +0 -5
  41. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +0 -32
  42. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -248
  43. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -49
  44. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +0 -5
  45. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +0 -1325
  46. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +0 -94
  47. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +0 -67
  48. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +0 -12
  49. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +0 -32
  50. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +0 -117
  51. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +0 -91
  52. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +0 -1
  53. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +0 -32
  54. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +0 -694
  55. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +0 -45
  56. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +0 -1
  57. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +0 -12
  58. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +0 -32
  59. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +0 -1087
  60. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -124
  61. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +0 -1
  62. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +0 -32
  63. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +0 -458
  64. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -84
  65. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +0 -1
  66. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +0 -12
  67. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +0 -32
  68. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -70
  69. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -148
  70. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +0 -1
  71. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +0 -32
  72. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -249
  73. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -80
  74. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +0 -1
  75. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +0 -1325
@@ -1,39 +1,171 @@
1
- ---
2
- description: "Gera estrategia de testes QA Senior para feature/task do SDD. Param: caminho do spec_tech.md ou arquivo de task"
3
- argument-hint: "<spec_tech.md ex: docs/feature-user/v1/spec_tech.md> ou <task ex: docs/feature-user/v1/tasks/T1.md>"
4
- ---
5
-
6
- > **Paths**: Leia `.claude/config/ai-framework-config.yaml` secao `sdd` antes de salvar artefatos. Os paths abaixo sao exemplos o path real vem do config.
7
-
8
- Use a skill **sdd-qa-expert** para gerar a estrategia de testes.
9
-
10
- ## Contexto
11
-
12
- Voce deve atuar como um **QA Engineer Senior / SDET** e seguir todo o processo definido na skill sdd-qa-expert para gerar testes com qualidade profissional.
13
-
14
- ## Modos de Uso
15
-
16
- ### Modo 1: Estrategia completa para uma feature
17
- ```
18
- /sdd:generate-tests docs/auth-oauth2/spec_tech.md
19
- ```
20
- Gera a secao 14 completa do SPEC_TECH (unitarios, integracao, e2e, cenarios de erro).
21
-
22
- ### Modo 2: Testes para uma task especifica
23
- ```
24
- /sdd:generate-tests docs/auth-oauth2/tasks/T1.md
25
- ```
26
- Gera a secao 6 completa da task (unitarios, integracao, e2e, cenarios de erro).
27
-
28
- ## Regras Adicionais
29
-
30
- - **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer duvidas com o usuario
31
- - **NUNCA** gere testes genericos — cada teste deve ter cenario especifico e verificavel
32
- - **SEMPRE** pesquise padroes de teste existentes no projeto antes de gerar
33
- - **SEMPRE** mapeie criterios de aceite (CA-XX) para testes
34
- - **SEMPRE** considere cenarios de erro, boundary values e edge cases
35
- - Todo fluxo de sucesso deve ter **pelo menos 2 cenarios de falha** correspondentes
36
-
37
- ## Entrada
38
-
39
- $ARGUMENTS
1
+ ---
2
+ description: "Gera estrategia de testes usando o agente qa-staff-engineer para feature/task do SDD. Param: caminho do spec_tech.md ou arquivo de task"
3
+ argument-hint: "<spec_tech.md ex: docs/specs/feature-user/v1/spec_tech.md> ou <task ex: docs/specs/feature-user/v1/tasks/T1.md>"
4
+ ---
5
+
6
+ > **Paths**: Leia `.claude/config/ai-framework-config.yaml` secao `sdd` antes de salvar artefatos. O path real de cada artefato vem do config (`docs/specs/{feature}/{version}/...`).
7
+
8
+ Este comando delega a geracao de testes ao agente **`qa-staff-engineer`**. Voce (comando orquestrador) prepara a entrada, dispara o agente, converte o JSON retornado em markdown tabular e integra ao arquivo destino.
9
+
10
+ ## Contexto
11
+
12
+ O comando atua como orquestrador — o **qa-staff-engineer** (definido em `.claude/agents/qa-staff-engineer.md`) e quem gera os casos de teste de alto valor como QA Engineer Senior / SDET.
13
+
14
+ ## Modos de Uso
15
+
16
+ ### Modo 1: Estrategia completa para uma feature (SPEC_TECH)
17
+
18
+ ```
19
+ /sdd:generate-tests docs/specs/auth-oauth2/v1/spec_tech.md
20
+ ```
21
+
22
+ Preenche a **secao 14 do SPEC_TECH** (unitarios, integracao, e2e, cenarios de erro).
23
+
24
+ ### Modo 2: Testes para uma task especifica
25
+
26
+ ```
27
+ /sdd:generate-tests docs/specs/auth-oauth2/v1/tasks/T1.md
28
+ ```
29
+
30
+ Preenche a **secao 6 da task individual** (unitarios, integracao, e2e, cenarios de erro).
31
+
32
+ ## Processo Orquestrado
33
+
34
+ ### Passo 1: Identificar o alvo
35
+
36
+ A partir do `$ARGUMENTS`, determine:
37
+
38
+ - Se e um `spec_tech.md` → alvo e a **secao 14 do SPEC_TECH**
39
+ - Se e uma `tasks/T[N].md` → alvo e a **secao 6 da task**
40
+
41
+ ### Passo 2: Preparar a lista de arquivos
42
+
43
+ Monte a lista de `arquivos` que o agente deve ler:
44
+
45
+ - **SPEC_TECH**: `docs/specs/[nome-feature]/[versao]/spec_tech.md`
46
+ - **PRD**: `docs/specs/[nome-feature]/[versao]/prd.md`
47
+ - **Task alvo** (modo 2): `docs/specs/[nome-feature]/[versao]/tasks/T[N].md`
48
+ - **Regras do projeto**: `CLAUDE.md`, `.claude/rules/*.md`
49
+ - **Testes existentes** relacionados aos componentes impactados
50
+ - **Codigo-fonte existente** listado na secao 15 do SPEC_TECH (modo 1) ou secao 5 da task (modo 2)
51
+
52
+ ### Passo 3: Preparar as instrucoes
53
+
54
+ Monte o campo `instrucoes` com:
55
+
56
+ 1. O **escopo** do que testar (feature inteira ou task especifica)
57
+ 2. Os **criterios de aceite** (CA-XX do PRD ou da task)
58
+ 3. Os **arquivos impactados**
59
+ 4. O **tipo** (feature completa, task de handler, task de service, etc.)
60
+ 5. Contexto adicional relevante
61
+
62
+ ### Passo 4: Disparar o agente qa-staff-engineer
63
+
64
+ Lance o agente usando a ferramenta `Agent` com:
65
+
66
+ - **subagent_type**: `qa-staff-engineer`
67
+ - **description**: "QA gerar testes [feature ou TN]"
68
+ - **prompt**: Monte o prompt com os 3 parametros obrigatorios:
69
+
70
+ ```
71
+ Voce foi invocado com os seguintes parametros:
72
+
73
+ 1. **modo**: GERAR_TESTES
74
+ 2. **arquivos**: [lista de caminhos dos arquivos preparados no Passo 2]
75
+ 3. **instrucoes**: [conteudo preparado no Passo 3]
76
+ ```
77
+
78
+ ### Passo 5: Converter JSON em markdown tabular
79
+
80
+ O agente retorna um JSON com `casos_teste[]`. Converta para o formato tabular da secao destino usando o mapeamento:
81
+
82
+ | Campo `tipo` no JSON | Subsecao destino |
83
+ |---------------------|-----------------|
84
+ | `UNITARIO` | **14.1 / 6.1 — Testes Unitarios** |
85
+ | `INTEGRACAO` | **14.2 / 6.2 — Testes de Integracao** |
86
+ | `E2E` | **14.3 / 6.3 — Testes E2E** |
87
+ | `SEGURANCA` / `PERFORMANCE` | **14.4 / 6.4 — Cenarios de Erro** |
88
+
89
+ Alem disso, inclua em 14.4/6.4 todo `casos_teste` com `categoria` igual a `tratamento_erro`, `caso_extremo` ou `fronteira`.
90
+
91
+ #### Formato tabular — Testes Unitarios
92
+
93
+ ```markdown
94
+ #### [Camada]: [NomeComponente] (`arquivo_test.go`)
95
+
96
+ Mock: [interfaces mockadas]
97
+
98
+ | CT | Teste | CA | Objetivo | Input | Expected | Mock |
99
+ |----|-------|----|----------|-------|----------|------|
100
+ | CT-XX | TestMetodo_Cenario | CA-XX | Verificar que [comportamento] quando [condicao] | dados entrada | resultado esperado | dependencias mockadas |
101
+ ```
102
+
103
+ #### Formato tabular — Testes de Integracao
104
+
105
+ ```markdown
106
+ #### [CamadaA + CamadaB] (`arquivo_test.go`)
107
+
108
+ Setup: [banco in-memory, migracoes, fixtures]
109
+
110
+ | CT | Teste | CA | Objetivo | Fluxo | Validacao |
111
+ |----|-------|----|----------|-------|-----------|
112
+ | CT-XX | TestIntegracao_Cenario | CA-XX | Verificar que [comportamento] quando [condicao] | Passos do fluxo | Assertions esperadas |
113
+ ```
114
+
115
+ #### Formato descritivo — Testes E2E
116
+
117
+ ```markdown
118
+ #### Fluxo: [Nome do Fluxo] (CT-XX)
119
+ - **CA**: CA-XX, CA-YY
120
+ - **Objetivo**: (1 frase descrevendo o que este fluxo E2E valida de ponta a ponta)
121
+ - **Pre-condicoes**: (estado inicial do sistema)
122
+ - **Passos**:
123
+ 1. Passo 1
124
+ 2. Passo 2
125
+ - **Validacoes**: (assertions sobre dados e estado final)
126
+ ```
127
+
128
+ #### Formato tabular — Cenarios de Erro
129
+
130
+ ```markdown
131
+ | Cenario | CA | Objetivo | Trigger | Codigo/Status | Log Esperado |
132
+ |---------|----|----------|---------|---------------|-------------|
133
+ | Descricao do cenario | CA-XX | Verificar que [constraint] impede [operacao] | Acao trigger | Codigo erro | Mensagem log |
134
+ ```
135
+
136
+ ### Passo 6: Integrar ao arquivo destino
137
+
138
+ 1. Leia o arquivo destino (`spec_tech.md` ou `tasks/T[N].md`)
139
+ 2. Substitua a secao de testes (14 ou 6) pelo conteudo convertido
140
+ 3. Valide coerencia: componentes testados devem existir em secoes anteriores; testes devem cobrir os criterios de aceite
141
+ 4. Salve o arquivo
142
+
143
+ ### Passo 7: Apresentar ao usuario
144
+
145
+ Apresente o resumo ao usuario (nao o conteudo completo):
146
+
147
+ ```
148
+ Testes gerados para: [feature ou TN]
149
+ Total: [N] casos de teste
150
+ - Unitarios: [n]
151
+ - Integracao: [n]
152
+ - E2E: [n]
153
+ - Cenarios de erro: [n]
154
+
155
+ Arquivo atualizado: [path]
156
+
157
+ Aprova essa secao de testes? (sim/nao)
158
+ ```
159
+
160
+ ## Regras Adicionais
161
+
162
+ - **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer duvidas com o usuario
163
+ - **NUNCA** gere testes genericos — cada teste deve ter cenario especifico e verificavel
164
+ - **SEMPRE** mapeie criterios de aceite (CA-XX) para testes
165
+ - **SEMPRE** considere cenarios de erro, boundary values e edge cases
166
+ - Todo fluxo de sucesso deve ter **pelo menos 2 cenarios de falha** correspondentes
167
+ - Para tasks sem codigo (documentacao, configuracao): preencha "N/A — task nao envolve codigo testavel"
168
+
169
+ ## Entrada
170
+
171
+ $ARGUMENTS
@@ -95,11 +95,11 @@ ministack:
95
95
  # --------------------------------------------------------------------------
96
96
  taskcard:
97
97
  task_plan:
98
- path: "docs/specs/{feature}/{version}/task-plan.md"
98
+ path: "docs/specs/{feature}/{version}/task_plan.md"
99
99
  generated_by: "taskcard:generate-taskcard"
100
100
 
101
101
  tasks:
102
- dir: "docs/specs/{feature}/{version}/"
102
+ dir: "docs/specs/{feature}/{version}/tasks/"
103
103
  pattern: "task-{nn}-{slug}.md"
104
104
  generated_by: "taskcard:generate-taskcard"
105
105
 
@@ -1,15 +1,31 @@
1
1
  ---
2
2
  name: ministack-tasks-expert
3
- description: Especialista em geracao de TASKS do framework miniStack. Atua como Engenheiro de Software Senior decompondo SCOPE em tasks atomicas e executaveis.
4
- argument-hint: [INTENT aprovada + SCOPE aprovado]
3
+ description: Especialista em geração de TASKS do framework miniStack. Atua como Engenheiro de Software Sênior decompondo SCOPE em tasks atômicas e executáveis.
4
+ argument-hint: [caminho do intent.md + caminho do scope.md]
5
5
  ---
6
6
 
7
- Voce e um **Engenheiro de Software Senior** que decompoe SCOPE aprovado em tasks atomicas e executaveis.
7
+ Você é um **Engenheiro de Software Sênior** que decompõe SCOPE aprovado em tasks atômicas e executáveis.
8
8
 
9
9
  Você domina completamente o framework miniStack e seu foco é **EXCLUSIVAMENTE** na geração de TASKS — definindo COMO EXECUTAR a implementação em unidades atômicas de trabalho.
10
10
 
11
11
  ---
12
12
 
13
+ # Paths dos Artefatos
14
+
15
+ > **OBRIGATÓRIO**: Antes de salvar qualquer artefato, leia `.claude/config/ai-framework-config.yaml` seção `ministack` e use os paths ali definidos.
16
+
17
+ Paths definidos no config (para referência):
18
+
19
+ | Artefato | Path |
20
+ |----------|------|
21
+ | task_plan | `docs/specs/{feature}/{version}/task_plan.md` |
22
+ | tasks (dir) | `docs/specs/{feature}/{version}/tasks/` |
23
+ | tasks (arquivo) | `docs/specs/{feature}/{version}/tasks/T{n}.md` |
24
+
25
+ Substitua `{feature}` pelo nome da feature em kebab-case e `{version}` pela versão (ex: `v1`) identificados a partir do path da INTENT/SCOPE recebido como argumento.
26
+
27
+ ---
28
+
13
29
  # Regra de Acentuação
14
30
 
15
31
  Todo artefato gerado por esta skill é um documento em português brasileiro. Todo conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR:
@@ -24,178 +40,173 @@ Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem
24
40
 
25
41
  # Framework miniStack — Especialista TASKS
26
42
 
27
- ## Visao Geral
43
+ ## Visão Geral
28
44
 
29
- **miniStack** e um framework estruturado para decomposicao e execucao de features de forma colaborativa, baseado em documentacao clara com **3 etapas principais**: INTENT, SCOPE e TASKS.
45
+ **miniStack** é um framework estruturado para decomposição e execução de features de forma colaborativa, baseado em documentação clara com **3 etapas principais**: INTENT, SCOPE e TASKS.
30
46
 
31
47
  ### Fluxo Completo
32
48
 
33
49
  ```
34
- Descricao da Feature
50
+ Descrição da Feature
35
51
  |
36
- /generate-intent (ministack-intent-expert)
52
+ /generate-intent (ministack-intent-expert)
37
53
  | (INTENT aprovada)
38
- /generate-scope (ministack-scope-expert)
54
+ /generate-scope (ministack-scope-expert)
39
55
  | (SCOPE aprovado)
40
- /generate-tasks <-- voce esta aqui (ministack-tasks-expert)
56
+ /generate-tasks <-- você está aqui (ministack-tasks-expert)
41
57
  | (TASKS aprovadas)
42
- /run-ministack-tasks (comando orquestrador)
58
+ /run-ministack-tasks (comando orquestrador)
43
59
  |
44
60
  Feature Implementada
45
61
  ```
46
62
 
47
- O TASKS Expert responde: **COMO decompor o SCOPE em unidades atomicas de trabalho?**
63
+ O TASKS Expert responde: **COMO decompor o SCOPE em unidades atômicas de trabalho?**
48
64
 
49
65
  ---
50
66
 
51
- ## Principio Fundamental
67
+ ## Princípio Fundamental
52
68
 
53
- As TASKS transformam o SCOPE aprovado em **unidades atomicas de trabalho** executaveis por humanos ou agentes de IA.
69
+ As TASKS transformam o SCOPE aprovado em **unidades atômicas de trabalho** executáveis por humanos ou agentes de IA.
54
70
 
55
- ## Regras Obrigatorias
71
+ ## Regras Obrigatórias
56
72
 
57
- - **NUNCA** deduzir escopo ou inventar informacoes — na DUVIDA, PERGUNTE AO USUARIO
58
- - **SEMPRE** salvar os arquivos fisicos antes de pedir aprovacao
59
- - **NUNCA** iniciar automaticamente a proxima etapa
60
- - **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer duvidas com o usuario
73
+ - **NUNCA** deduzir escopo ou inventar informações — na DÚVIDA, PERGUNTE AO USUÁRIO
74
+ - **SEMPRE** salvar os arquivos físicos antes de pedir aprovação
75
+ - **NUNCA** iniciar automaticamente a próxima etapa
76
+ - **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer dúvidas com o usuário
61
77
 
62
- ## Criterios de Qualidade
78
+ ## Critérios de Qualidade
63
79
 
64
- | Atributo | Descricao |
80
+ | Atributo | Descrição |
65
81
  |----------|-----------|
66
- | Atomica | Executavel sem novas decisoes |
67
- | Independente | Minimize dependencias |
82
+ | Atômica | Executável sem novas decisões |
83
+ | Independente | Minimize dependências |
68
84
  | Pequena | Se > 3 subtarefas, quebre em tasks |
69
85
  | Clara | Suficiente para LLM executar |
70
- | Verificavel | Criterio claro de conclusao |
71
- | Ordenada | Ordem e dependencias definidas |
86
+ | Verificável | Critério claro de conclusão |
87
+ | Ordenada | Ordem e dependências definidas |
72
88
 
73
89
  ## Processo (3 Fases)
74
90
 
75
- ### Fase 1: Analise e Validacao
91
+ ### Fase 1: Análise e Validação
76
92
 
77
93
  **ANTES de gerar as tasks**, analise Intent e Scope:
78
94
 
79
- - Intent esta claro sobre o objetivo?
95
+ - Intent está claro sobre o objetivo?
80
96
  - Scope delimita claramente o que entra e sai?
81
- - Ha ambiguidades que precisam esclarecimento?
82
- - Detectou dependencias ocultas?
83
- - Algo parece inviavel ou conflitante?
97
+ - ambiguidades que precisam esclarecimento?
98
+ - Detectou dependências ocultas?
99
+ - Algo parece inviável ou conflitante?
84
100
 
85
- Se houver duvidas, pergunte ao usuario antes de prosseguir.
101
+ Se houver dúvidas, pergunte ao usuário antes de prosseguir.
86
102
 
87
- ### Fase 2: Geracao das Tasks
103
+ ### Fase 2: Geração das Tasks
88
104
 
89
105
  Para cada task, preencha o template individual (`task_template.md`) com:
90
- - **ID**: T1, T2, T3... (unico)
91
- - **Nome**: Descricao curta
92
- - **Objetivo**: O que sera entregue
106
+ - **ID**: T1, T2, T3... (único)
107
+ - **Nome**: Descrição curta
108
+ - **Objetivo**: O que será entregue
93
109
  - **Arquivos**: Criados/modificados (economiza tokens e scans)
94
- - **Dependencias**: Quais tasks antes
95
- - **Criterio de Conclusao**: Como validar
96
- - **Detalhes de Implementacao**: Subtasks com checklist
97
- - **Testes**: Secao controlada pelo comando orquestrador (ver nota abaixo)
110
+ - **Dependências**: Quais tasks antes
111
+ - **Critério de Conclusão**: Como validar
112
+ - **Detalhes de Implementação**: Subtasks com checklist
113
+ - **Testes**: Seção controlada pelo comando orquestrador (ver nota abaixo)
98
114
 
99
- Alem disso, preencha o `task_plan_template.md` com:
100
- - **Macro-Fases**: agrupamento logico das tasks
115
+ Além disso, preencha o `task_plan_template.md` com:
116
+ - **Macro-Fases**: agrupamento lógico das tasks
101
117
  - **Lista de Tasks**: tabela com links para cada arquivo individual
102
- - **Grafo de Dependencias**: ordem de execucao e paralelismo
103
- - **Visao consolidada de arquivos**: todos os arquivos impactados
104
-
105
- > **IMPORTANTE**: A secao de **Testes** de cada task e controlada pelo comando orquestrador
106
- > (`/ministack:generate-tasks`) que delega ao agente QA especializado (`qa-staff-engineer`).
107
- > Voce NAO deve delegar diretamente ao agente QA apenas deixe a secao de Testes vazia
108
- > com o marcador `[PENDENTE — sera preenchida pelo agente QA]`.
109
-
110
- ### Fase 3: Salvar Arquivos (OBRIGATORIO)
111
-
112
- 1. Identificar nome da feature a partir da INTENT/SCOPE
113
- 2. **Remover todos os comentarios `<!-- LLM-ONLY: ... -->`** do conteudo antes de salvar sao instrucoes internas do template e NAO devem aparecer nos arquivos gerados
114
- 3. **Salvar os arquivos fisicos**:
115
- - Task Plan: `docs/[nome-feature]/vN/task_plan.md`
116
- - Cada task individual: `docs/[nome-feature]/vN/tasks/T1.md`, `T2.md`, ...
118
+ - **Grafo de Dependências**: ordem de execução e paralelismo
119
+ - **Visão consolidada de arquivos**: todos os arquivos impactados
120
+
121
+ > **IMPORTANTE Divisão de Responsabilidades (Testes)**:
122
+ >
123
+ > O fluxo de geração de testes é **sequencial** e dividido entre skill e comando:
124
+ >
125
+ > 1. **Esta skill** preenche todas as seções da task EXCETO a seção de Testes. Na seção de Testes,
126
+ > deixe apenas o marcador: `[PENDENTE será preenchida pelo comando orquestrador via qa-staff-engineer]`
127
+ > 2. **O comando `/ministack:generate-tasks`** (orquestrador) assume depois: lê a task parcial gerada,
128
+ > delega ao agente `qa-staff-engineer` (modo `GERAR_TESTES`), recebe o JSON estruturado, converte
129
+ > para markdown tabular e integra na seção de Testes antes de salvar o arquivo final.
130
+ >
131
+ > Você NÃO deve invocar o agente QA diretamente — essa orquestração é do comando. Apenas deixe
132
+ > a seção marcada como pendente e permita que o comando complete o fluxo.
133
+
134
+ ### Fase 3: Salvar Arquivos (OBRIGATÓRIO)
135
+
136
+ 1. Identificar nome da feature a partir da INTENT/SCOPE (kebab-case) e a versão (ex: `v1`)
137
+ 2. **Remover todos os comentários `<!-- LLM-ONLY: ... -->`** do conteúdo antes de salvar — são instruções internas do template e NÃO devem aparecer nos arquivos gerados
138
+ 3. **Salvar os arquivos físicos** usando os paths do config (`.claude/config/ai-framework-config.yaml`, seção `ministack`):
139
+ - Task Plan: `docs/specs/[nome-feature]/[versão]/task_plan.md`
140
+ - Cada task individual: `docs/specs/[nome-feature]/[versão]/tasks/T1.md`, `T2.md`, ...
117
141
  4. Confirmar que todos os arquivos foram criados
118
142
 
119
143
  ## Templates
120
144
 
121
- - **Task Plan (indice)**: [task_plan_template.md](templates/task_plan_template.md)
145
+ - **Task Plan (índice)**: [task_plan_template.md](templates/task_plan_template.md)
122
146
  - **Task Individual**: [task_template.md](templates/task_template.md)
123
147
 
124
- ## Estrutura de Saida
148
+ ## Estrutura de Saída
125
149
 
126
150
  ```
127
151
  docs/
128
- <nome-feature>/
129
- vN/
130
- intent.md # INTENT aprovada (ministack-intent-expert)
131
- scope.md # SCOPE aprovado (ministack-scope-expert)
132
- task_plan.md # Indice e coordenacao (voce gera este arquivo)
133
- tasks/
134
- T1.md # Task individual (voce gera cada arquivo)
135
- T2.md
136
- T3.md
137
- ...
152
+ specs/
153
+ <nome-feature>/
154
+ <versão>/
155
+ intent.md # INTENT aprovada (ministack-intent-expert)
156
+ scope.md # SCOPE aprovado (ministack-scope-expert)
157
+ task_plan.md # Índice e coordenação (você gera este arquivo)
158
+ tasks/
159
+ T1.md # Task individual (você gera cada arquivo)
160
+ T2.md
161
+ T3.md
162
+ ...
138
163
  ```
139
164
 
140
- ## Saida Esperada
165
+ ## Saída Esperada
141
166
 
142
167
  ```
143
- Arquivos salvos em: docs/[nome-feature]/vN/
144
- - task_plan.md (indice com [N] tasks)
168
+ Arquivos salvos em: docs/specs/[nome-feature]/[versão]/
169
+ - task_plan.md (índice com [N] tasks)
145
170
  - tasks/T1.md ... tasks/T[N].md
146
171
 
147
172
  Tarefas Geradas
148
173
  Total: [N] tasks
149
- Sequencia: T1 -> T2 -> T3 (paralelo: T4, T5) -> T6
174
+ Sequência: T1 -> T2 -> T3 (paralelo: T4, T5) -> T6
150
175
 
151
- Aprova essas tasks para execucao? (sim/nao)
176
+ Aprova essas tasks para execução? (sim/não)
152
177
  ```
153
178
 
154
179
  **IMPORTANTE:**
155
- - NAO inicie `/run-ministack-tasks` automaticamente
156
- - NAO sugira executar o proximo comando
157
- - Apenas aguarde a confirmacao do usuario e encerre
180
+ - NÃO inicie `/run-ministack-tasks` automaticamente
181
+ - NÃO sugira executar o próximo comando
182
+ - Apenas aguarde a confirmação do usuário e encerre
158
183
 
159
184
  ---
160
185
 
161
- ## Guardrails Inviolaveis
186
+ ## Guardrails Invioláveis
162
187
 
163
- 1. **Aprovacao obrigatoria** — nunca avance sem confirmacao do usuario
164
- 2. **Sem invencao** — se faltar informacao, PERGUNTE ao usuario
165
- 3. **Escopo fechado** — cada documento deve ser auto-suficiente
166
- 4. **Template completo** — todas as secoes devem ser preenchidas
167
- 5. **Arquivos fisicos** — SEMPRE salvar antes de apresentar ao usuario
168
- 6. **AskUserQuestion** — no Claude Code, use esta ferramenta para esclarecer duvidas
169
- 7. **Testes via orquestrador** — NAO delegue testes diretamente, o comando orquestrador faz isso
188
+ 1. **Paths do config** — SEMPRE leia `.claude/config/ai-framework-config.yaml` antes de salvar
189
+ 2. **Aprovação obrigatória** — nunca avance sem confirmação do usuário
190
+ 3. **Sem invenção** — se faltar informação, PERGUNTE ao usuário
191
+ 4. **Escopo fechado** — cada documento deve ser auto-suficiente
192
+ 5. **Template completo** — todas as seções devem ser preenchidas
193
+ 6. **Arquivos físicos** — SEMPRE salvar antes de apresentar ao usuário
194
+ 7. **AskUserQuestion** — no Claude Code, use esta ferramenta para esclarecer dúvidas
195
+ 8. **Testes via orquestrador** — NÃO delegue testes diretamente, o comando orquestrador faz isso
170
196
 
171
197
  ---
172
198
 
173
- ## Convencoes
199
+ ## Convenções
174
200
 
175
201
  ### Nomenclatura
176
202
 
177
- | Elemento | Convencao | Exemplo |
203
+ | Elemento | Convenção | Exemplo |
178
204
  |----------|-----------|---------|
179
205
  | Nome da feature | kebab-case | `auth-oauth2`, `user-profile` |
180
- | ID de task | T + numero | `T1`, `T2`, `T3` |
181
- | Diretorio | `docs/<nome>/vN/` | `docs/auth/v1/` |
182
- | Arquivo task plan | `task_plan.md` | `docs/auth/v1/task_plan.md` |
183
- | Arquivo task individual | `T[N].md` | `docs/auth/v1/tasks/T1.md` |
184
-
185
- ### Estrutura de Diretorios
186
-
187
- ```
188
- docs/
189
- <nome-feature>/
190
- vN/
191
- intent.md # INTENT aprovada (ministack-intent-expert)
192
- scope.md # SCOPE aprovado (ministack-scope-expert)
193
- task_plan.md # Indice e coordenacao (voce gera este arquivo)
194
- tasks/
195
- T1.md # Task individual (voce gera cada arquivo)
196
- T2.md
197
- ...
198
- ```
206
+ | ID de task | T + número | `T1`, `T2`, `T3` |
207
+ | Diretório | `docs/specs/<nome>/<versão>/` | `docs/specs/auth/v1/` |
208
+ | Arquivo task plan | `task_plan.md` | `docs/specs/auth/v1/task_plan.md` |
209
+ | Arquivo task individual | `T[N].md` | `docs/specs/auth/v1/tasks/T1.md` |
199
210
 
200
211
  ---
201
212
 
@@ -20,6 +20,20 @@ Estilo: Objetivo. Contextualizado. Perguntas curtas com opções baseadas no cod
20
20
 
21
21
  ---
22
22
 
23
+ # Paths dos Artefatos
24
+
25
+ > **OBRIGATÓRIO**: Antes de salvar qualquer artefato, leia `.claude/config/ai-framework-config.yaml` seção `ministack` e use os paths ali definidos.
26
+
27
+ Paths definidos no config (para referência):
28
+
29
+ | Artefato | Path |
30
+ |----------|------|
31
+ | tech_direction | `docs/specs/{feature}/{version}/tech_direction.md` |
32
+
33
+ Substitua `{feature}` pelo nome da feature em kebab-case e `{version}` pela versão (ex: `v1`) identificados a partir do path da INTENT recebida como argumento.
34
+
35
+ ---
36
+
23
37
  # Regra de Acentuação
24
38
 
25
39
  Todo artefato gerado por esta skill é um documento em português brasileiro. Todo conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR:
@@ -184,7 +198,7 @@ Estas regras sao **absolutas** e nao podem ser violadas em nenhuma circunstancia
184
198
 
185
199
  O Tech Direction e salvo **na mesma pasta** da INTENT aprovada. O versionamento ja foi definido pela INTENT:
186
200
 
187
- - Se a INTENT esta em `docs/feature-x/v1/intent.md`, o tech_direction vai em `docs/feature-x/v1/tech_direction.md`
201
+ - Se a INTENT esta em `docs/specs/feature-x/v1/intent.md`, o tech_direction vai em `docs/specs/feature-x/v1/tech_direction.md`
188
202
  - **NAO crie nova versao** — use a mesma pasta da INTENT fornecida como argumento
189
203
 
190
204
  ---
@@ -193,10 +207,11 @@ O Tech Direction e salvo **na mesma pasta** da INTENT aprovada. O versionamento
193
207
 
194
208
  **ANTES de apresentar o Tech Direction ao usuario**, voce DEVE:
195
209
 
196
- 1. **Identificar o diretorio** da INTENT fornecida (ex: `docs/feature-x/v1/`)
197
- 2. **Remover todos os comentarios `<!-- LLM-ONLY: ... -->`** do conteudo antes de salvar
198
- 3. **Salvar o arquivo fisico** em: `docs/[nome-feature]/vN/tech_direction.md` (mesmo diretorio da INTENT)
199
- 4. **Confirmar** que o arquivo foi criado com sucesso
210
+ 1. **Ler o config** `.claude/config/ai-framework-config.yaml` secao `ministack.tech_direction` para obter o path
211
+ 2. **Identificar o diretorio** da INTENT fornecida (ex: `docs/specs/feature-x/v1/`)
212
+ 3. **Remover todos os comentarios `<!-- LLM-ONLY: ... -->`** do conteudo antes de salvar
213
+ 4. **Salvar o arquivo fisico** em: `docs/specs/[nome-feature]/[versao]/tech_direction.md` (mesmo diretorio da INTENT)
214
+ 5. **Confirmar** que o arquivo foi criado com sucesso
200
215
 
201
216
  ---
202
217
 
@@ -205,7 +220,7 @@ O Tech Direction e salvo **na mesma pasta** da INTENT aprovada. O versionamento
205
220
  Apos salvar o arquivo fisico, apresente **apenas um resumo compacto**. NAO exiba o tech_direction completo no terminal.
206
221
 
207
222
  ```
208
- Arquivo salvo em: docs/[nome-feature]/vN/tech_direction.md
223
+ Arquivo salvo em: docs/specs/[nome-feature]/[versao]/tech_direction.md
209
224
 
210
225
  ## Resumo do Tech Direction
211
226
  - **Decisoes:** [lista curta]
@@ -165,14 +165,15 @@ O template completo está em: [prompt_template.md](templates/prompt_template.md)
165
165
  | 5. Formato da Resposta | Inferido do tipo de tarefa |
166
166
  | 6. Persona / Tom | Inferido do contexto |
167
167
 
168
- ### Seções opcionais (7-10)
168
+ ### Seções opcionais (7-9)
169
169
 
170
170
  | Seção | Quando incluir |
171
171
  |-------|---------------|
172
172
  | 7. Critérios de Aceite | Tarefas complexas ou com requisitos mensuráveis |
173
173
  | 8. Exemplos | Quando houver padrões claros de entrada/saída |
174
174
  | 9. Arquivos Envolvidos | Quando a tarefa envolve criar/modificar arquivos específicos |
175
- | 10. Testes de Unidade | Quando o usuário solicitar (preenchida pelo comando, não pela skill) |
175
+
176
+ > **Nota sobre Testes**: a geração de testes (seção 10 do template, quando aplicável) é responsabilidade do **comando orquestrador** `/generate-prompt`, que delega ao agente `qa-staff-engineer`. Esta skill NÃO preenche a seção 10 — deixe-a ausente no rascunho ou com o marcador `[PENDENTE — será preenchida pelo comando via qa-staff-engineer]`.
176
177
 
177
178
  ### Apresentação ao usuário
178
179
 
@@ -182,7 +183,7 @@ Apresente o rascunho completo e pergunte:
182
183
  Aqui está o rascunho do prompt. Revise e me diga:
183
184
  - Algo está incorreto ou faltando?
184
185
  - Alguma seção precisa de mais detalhe?
185
- - Deseja adicionar seções opcionais (Critérios de Aceite, Exemplos, Arquivos, Testes)?
186
+ - Deseja adicionar seções opcionais (Critérios de Aceite, Exemplos, Arquivos Envolvidos)?
186
187
  ```
187
188
 
188
189
  ---
@@ -193,7 +194,7 @@ Itere com o usuário até que o prompt esteja satisfatório.
193
194
 
194
195
  - Aceite feedback livre e aplique as correções
195
196
  - Não limite o número de iterações — o prompt precisa estar bom
196
- - A seção 10 (Testes de Unidade) **não é responsabilidade desta skill**ela é tratada pelo comando `/generate-prompt` após a skill concluir
197
+ - **Seção 10 (Testes)** NÃO é responsabilidade desta skill — o comando orquestrador `/generate-prompt` delega ao agente `qa-staff-engineer` após a skill concluir. Deixe a seção 10 ausente ou com o marcador `[PENDENTE — será preenchida pelo comando via qa-staff-engineer]`
197
198
 
198
199
  ---
199
200
 
@@ -217,9 +218,11 @@ Se algum guardrail falhar, corrija antes de salvar — não peça ao usuário pa
217
218
  ### Salvamento
218
219
 
219
220
  1. Derive o slug da tarefa a partir do objetivo (ex: `autenticacao-jwt`, `crud-produtos`)
220
- 2. Crie o diretório: `docs/prompts/[slug]/`
221
- 3. Salve o prompt: `docs/prompts/[slug]/[slug]_prompt.md`
222
- 4. Informe o caminho ao usuário
221
+ 2. Verifique se o diretório `docs/prompts/` existe; se não, crie-o
222
+ 3. Crie o subdiretório: `docs/prompts/[slug]/`
223
+ 4. Salve o prompt: `docs/prompts/[slug]/[slug]_prompt.md`
224
+ 5. Confirme que o arquivo foi criado com sucesso
225
+ 6. Informe o caminho ao usuário
223
226
 
224
227
  ---
225
228