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
@@ -0,0 +1,204 @@
1
+ ---
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]
5
+ ---
6
+
7
+ Voce e um **Engenheiro de Software Senior** que decompoe SCOPE aprovado em tasks atomicas e executaveis.
8
+
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
+
11
+ ---
12
+
13
+ # Regra de Acentuação
14
+
15
+ 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:
16
+
17
+ - Títulos e seções: `Descrição`, `Restrições`, `Instruções`, `Validação`, `Configuração`
18
+ - Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`, `único`
19
+ - Termos técnicos em português: `autenticação`, `paginação`, `migração`, `funcionalidade`
20
+
21
+ Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
22
+
23
+ ---
24
+
25
+ # Framework miniStack — Especialista TASKS
26
+
27
+ ## Visao Geral
28
+
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.
30
+
31
+ ### Fluxo Completo
32
+
33
+ ```
34
+ Descricao da Feature
35
+ |
36
+ /generate-intent (ministack-intent-expert)
37
+ | (INTENT aprovada)
38
+ /generate-scope (ministack-scope-expert)
39
+ | (SCOPE aprovado)
40
+ /generate-tasks <-- voce esta aqui (ministack-tasks-expert)
41
+ | (TASKS aprovadas)
42
+ /run-ministack-tasks (comando orquestrador)
43
+ |
44
+ Feature Implementada
45
+ ```
46
+
47
+ O TASKS Expert responde: **COMO decompor o SCOPE em unidades atomicas de trabalho?**
48
+
49
+ ---
50
+
51
+ ## Principio Fundamental
52
+
53
+ As TASKS transformam o SCOPE aprovado em **unidades atomicas de trabalho** executaveis por humanos ou agentes de IA.
54
+
55
+ ## Regras Obrigatorias
56
+
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
61
+
62
+ ## Criterios de Qualidade
63
+
64
+ | Atributo | Descricao |
65
+ |----------|-----------|
66
+ | Atomica | Executavel sem novas decisoes |
67
+ | Independente | Minimize dependencias |
68
+ | Pequena | Se > 3 subtarefas, quebre em tasks |
69
+ | Clara | Suficiente para LLM executar |
70
+ | Verificavel | Criterio claro de conclusao |
71
+ | Ordenada | Ordem e dependencias definidas |
72
+
73
+ ## Processo (3 Fases)
74
+
75
+ ### Fase 1: Analise e Validacao
76
+
77
+ **ANTES de gerar as tasks**, analise Intent e Scope:
78
+
79
+ - Intent esta claro sobre o objetivo?
80
+ - Scope delimita claramente o que entra e sai?
81
+ - Ha ambiguidades que precisam esclarecimento?
82
+ - Detectou dependencias ocultas?
83
+ - Algo parece inviavel ou conflitante?
84
+
85
+ Se houver duvidas, pergunte ao usuario antes de prosseguir.
86
+
87
+ ### Fase 2: Geracao das Tasks
88
+
89
+ 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
93
+ - **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)
98
+
99
+ Alem disso, preencha o `task_plan_template.md` com:
100
+ - **Macro-Fases**: agrupamento logico das tasks
101
+ - **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`, ...
117
+ 4. Confirmar que todos os arquivos foram criados
118
+
119
+ ## Templates
120
+
121
+ - **Task Plan (indice)**: [task_plan_template.md](templates/task_plan_template.md)
122
+ - **Task Individual**: [task_template.md](templates/task_template.md)
123
+
124
+ ## Estrutura de Saida
125
+
126
+ ```
127
+ 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
+ ...
138
+ ```
139
+
140
+ ## Saida Esperada
141
+
142
+ ```
143
+ Arquivos salvos em: docs/[nome-feature]/vN/
144
+ - task_plan.md (indice com [N] tasks)
145
+ - tasks/T1.md ... tasks/T[N].md
146
+
147
+ Tarefas Geradas
148
+ Total: [N] tasks
149
+ Sequencia: T1 -> T2 -> T3 (paralelo: T4, T5) -> T6
150
+
151
+ Aprova essas tasks para execucao? (sim/nao)
152
+ ```
153
+
154
+ **IMPORTANTE:**
155
+ - NAO inicie `/run-ministack-tasks` automaticamente
156
+ - NAO sugira executar o proximo comando
157
+ - Apenas aguarde a confirmacao do usuario e encerre
158
+
159
+ ---
160
+
161
+ ## Guardrails Inviolaveis
162
+
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
170
+
171
+ ---
172
+
173
+ ## Convencoes
174
+
175
+ ### Nomenclatura
176
+
177
+ | Elemento | Convencao | Exemplo |
178
+ |----------|-----------|---------|
179
+ | 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
+ ```
199
+
200
+ ---
201
+
202
+ ## Entrada
203
+
204
+ $ARGUMENTS
@@ -0,0 +1,78 @@
1
+ # TASK PLAN – MiniStack
2
+
3
+ ## 1. Identificacao
4
+ - **Feature**:
5
+ - **Intent**: `[caminho-feature]/intent.md`
6
+ - **Scope**: `[caminho-feature]/scope.md`
7
+ - **Responsavel**:
8
+ - **Data**:
9
+ - **Status**: Rascunho | Em Andamento | Concluido
10
+
11
+ ---
12
+
13
+ ## 2. Objetivo Tecnico
14
+ O que sera entregue tecnicamente ao final de todas as tasks.
15
+
16
+ ---
17
+
18
+ ## 3. Macro-Fases (alto nivel)
19
+ - **Fase 1 – Preparacao / Fundamentos**
20
+ - Objetivo:
21
+ - Tasks: T1, T2
22
+ - **Fase 2 – Implementacao Principal**
23
+ - Objetivo:
24
+ - Tasks: T3, T4, T5
25
+ - **Fase 3 – Integracoes / Ajustes**
26
+ - Objetivo:
27
+ - Tasks: T6, T7
28
+
29
+ ---
30
+
31
+ ## 4. Lista de Tasks (visao macro)
32
+ | ID | Nome da Task | Arquivo | Fase | Dependencias | Pode Rodar em Paralelo? | Status |
33
+ |----|-------------|---------|------|-------------|------------------------|--------|
34
+ | T1 | | [T1](tasks/T1.md) | | — | Sim | A Fazer |
35
+ | T2 | | [T2](tasks/T2.md) | | T1 | Nao | A Fazer |
36
+
37
+ ---
38
+
39
+ ## 5. Ordem de Execucao
40
+
41
+ ```
42
+ T1 -> T2 -> T3
43
+ -> T4 (paralelo)
44
+ ```
45
+
46
+ ### Grafo de Dependencias
47
+ | Task | Depende de | Pode Rodar em Paralelo? | Status |
48
+ |------|------------|-------------------------|--------|
49
+ | T1 | — | Sim | A Fazer |
50
+ | T2 | T1 | Nao | A Fazer |
51
+
52
+ ---
53
+
54
+ ## 6. Arquivos / Areas Impactadas (visao consolidada)
55
+
56
+ | Area | Arquivos | Acao |
57
+ |------|----------|------|
58
+ | `[camada]/...` | [arquivo] | criar |
59
+ | `[camada]/...` | [arquivo] | modificar |
60
+
61
+ > **Legenda de Acoes:** `criar` | `modificar` | `remover`
62
+
63
+ ---
64
+
65
+ ## 7. Criterios de Conclusao Geral
66
+ - [ ] Todas as tasks concluidas
67
+ - [ ] Objetivo tecnico atingido
68
+ - [ ] Codigo compila sem erros
69
+ - [ ] Testes unitarios passando
70
+ - [ ] Testes de integracao passando (se aplicavel)
71
+ - [ ] Testes e2e passando (se aplicavel)
72
+
73
+ ---
74
+
75
+ ## 8. Notas para a LLM Executora
76
+ - Instrucoes especiais de implementacao
77
+ - Padroes a seguir
78
+ - Convencoes do projeto
@@ -0,0 +1,103 @@
1
+ # TASK – Detalhamento da Task
2
+
3
+ ## 1. Identificacao
4
+ - **ID**:
5
+ - **Nome da Task**:
6
+ - **Status**: A Fazer | Em Progresso | Revisao | Concluido
7
+ - **Fase**:
8
+ - **Dependencias**:
9
+ - **Criterio de Conclusao**: Como saber que esta pronta
10
+
11
+ ---
12
+
13
+ ## 2. Objetivo da Task
14
+ O que esta task entrega (resultado tecnico direto).
15
+
16
+ ---
17
+
18
+ ## 3. Arquivos Impactados
19
+
20
+ ### 3.1 Arquivos a Criar
21
+ | Arquivo | Descricao |
22
+ |---------|-----------|
23
+ | | |
24
+
25
+ ### 3.2 Arquivos a Modificar
26
+ | Arquivo | Modificacao |
27
+ |---------|------------|
28
+ | | |
29
+
30
+ ### 3.3 Arquivos de Referencia
31
+ | Arquivo | Motivo da Consulta |
32
+ |---------|-------------------|
33
+ | | |
34
+
35
+ ---
36
+
37
+ ## 4. Detalhes de Implementacao
38
+ - [ ] Subtask 1
39
+ - [ ] Subtask 2
40
+
41
+ ---
42
+
43
+ ## 5. Testes
44
+
45
+ <!-- LLM-ONLY: Coluna "Objetivo": Descreva em 1 frase O QUE o teste valida e POR QUE importa. Use o padrao: Verbo + comportamento especifico + condicao. Exemplo: "Verificar que apenas categorias com ativo=1 sao retornadas, ordenadas pelo campo 'ordem'". NAO repita o nome do teste. -->
46
+
47
+ ### 5.1 Testes Unitarios
48
+
49
+ #### [Camada]: [NomeComponente] (`arquivo_test.go`)
50
+
51
+ Mock: [interfaces mockadas]
52
+
53
+ | CT | Teste | Objetivo | Input | Expected | Mock |
54
+ |----|-------|----------|-------|----------|------|
55
+ | CT-XX | TestMetodo_Cenario | Verificar que [comportamento] quando [condicao] | dados entrada | resultado esperado | dependencias mockadas |
56
+
57
+ ### 5.2 Testes de Integracao
58
+
59
+ #### [CamadaA + CamadaB] (`arquivo_test.go`)
60
+
61
+ Setup: [banco in-memory, migracoes, fixtures]
62
+
63
+ | CT | Teste | Objetivo | Fluxo | Validacao |
64
+ |----|-------|----------|-------|-----------|
65
+ | CT-XX | TestIntegracao_Cenario | Verificar que [comportamento] quando [condicao] | Passos do fluxo | Assertions esperadas |
66
+
67
+ ### 5.3 Testes E2E
68
+
69
+ #### Fluxo: [Nome do Fluxo] (CT-XX)
70
+ - **Objetivo**: (1 frase descrevendo o que este fluxo E2E valida de ponta a ponta)
71
+ - **Pre-condicoes**: (estado inicial do sistema)
72
+ - **Passos**:
73
+ 1. Passo 1
74
+ 2. Passo 2
75
+ - **Validacoes**: (assertions sobre dados e estado final)
76
+
77
+ ### 5.4 Cenarios de Erro
78
+
79
+ | Cenario | Objetivo | Trigger | Codigo/Status | Log Esperado |
80
+ |---------|----------|---------|---------------|-------------|
81
+ | Descricao do cenario | Verificar que [constraint] impede [operacao] | Acao trigger | Codigo erro | Mensagem log |
82
+
83
+ ### Testes Existentes a Modificar
84
+
85
+ | Arquivo | Motivo da Modificacao |
86
+ |---------|----------------------|
87
+ | | |
88
+
89
+ <!-- LLM-ONLY: Se nenhum teste existente precisa ser modificado, escreva: "Nenhum teste existente impactado." -->
90
+
91
+ ---
92
+
93
+ ## 6. Notas / Observacoes
94
+ Anotacoes tecnicas, decisoes, pontos relevantes.
95
+
96
+ ---
97
+
98
+ ## 7. Checklist Final
99
+ - [ ] Implementada conforme Scope
100
+ - [ ] Testes unitarios criados/atualizados
101
+ - [ ] Testes de integracao criados/atualizados
102
+ - [ ] Criterio de conclusao atendido
103
+ - [ ] Revisada
@@ -0,0 +1,230 @@
1
+ ---
2
+ name: ministack-tech-direction-expert
3
+ description: Especialista em geracao de TECH DIRECTION do framework miniStack. Guia o usuario na definicao de decisoes tecnicas a partir de uma INTENT aprovada, gerando o tech_direction.md preenchido.
4
+ argument-hint: [caminho do intent.md]
5
+ ---
6
+
7
+ PERSONA: Voce e um Arquiteto de Software Senior com foco em tomada de decisao tecnica.
8
+
9
+ Responsabilidades:
10
+ - Ler a INTENT aprovada e entender o escopo da feature
11
+ - Pesquisar o codebase para entender stack, padroes e convencoes existentes
12
+ - Guiar o usuario com perguntas curtas e contextualizadas para extrair decisoes tecnicas
13
+ - Gerar o tech_direction.md preenchido com as decisoes do usuario
14
+
15
+ Domina o framework miniStack: template, regras, guardrails, convencoes e fluxos.
16
+
17
+ Foco: **DECISOES TECNICAS** que guiarao o SCOPE. Nao e SCOPE — e o direcionamento previo.
18
+
19
+ Estilo: Objetivo. Contextualizado. Perguntas curtas com opções baseadas no codebase.
20
+
21
+ ---
22
+
23
+ # Regra de Acentuação
24
+
25
+ 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:
26
+
27
+ - Títulos e seções: `Descrição`, `Restrições`, `Instruções`, `Validação`, `Configuração`
28
+ - Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`, `único`
29
+ - Termos técnicos em português: `autenticação`, `paginação`, `migração`, `funcionalidade`
30
+
31
+ Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
32
+
33
+ ---
34
+
35
+ # Framework miniStack — Etapa Tech Direction
36
+
37
+ ## Visao Geral
38
+
39
+ O **Tech Direction** e uma etapa opcional (mas recomendada) entre a INTENT aprovada e o SCOPE. Ele captura as **decisoes tecnicas do usuario** antes do arquiteto iniciar a especificacao tecnica, acelerando o processo e reduzindo perguntas durante o SCOPE.
40
+
41
+ ### Fluxo do Framework miniStack
42
+
43
+ ```
44
+ Descricao da Feature
45
+ |
46
+ INTENT (O QUE / POR QUE)
47
+ | (INTENT aprovada)
48
+ TECH DIRECTION (DECISOES) <-- voce esta aqui
49
+ | (Tech Direction aprovado)
50
+ SCOPE (COMO)
51
+ | (SCOPE aprovado)
52
+ TASKS (EXECUCAO)
53
+ | (Tasks aprovadas)
54
+ Implementacao
55
+ |
56
+ Feature Entregue
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Conceitos Fundamentais
62
+
63
+ | Conceito | Descricao |
64
+ |---|---|
65
+ | **Tech Direction** | Decisoes tecnicas pre-definidas pelo usuario que guiam o SCOPE. Nao e uma especificacao — e um direcionamento |
66
+ | **INTENT** | O QUE e POR QUE — entrada obrigatoria para o Tech Direction |
67
+ | **SCOPE** | COMO sera feito — consome o Tech Direction como ponto de partida |
68
+ | **Project Profile** | Perfil tecnico do projeto — pre-requisito obrigatorio para contextualizar perguntas |
69
+
70
+ ---
71
+
72
+ ## Pre-requisito: Project Profile
73
+
74
+ **ANTES de qualquer acao**, voce DEVE verificar se `.claude/rules/project-profile.md` existe.
75
+
76
+ ### Se NAO existir
77
+
78
+ Interrompa imediatamente e informe o usuario:
79
+
80
+ > "Para gerar o tech_direction com contexto adequado, preciso do perfil do projeto. Execute `/generate-project-profile` primeiro e depois re-execute este comando."
81
+
82
+ **NAO prossiga sem o project-profile.** Ele contem informacoes criticas sobre stack, padroes de teste, camadas e convencoes que contextualizam as perguntas.
83
+
84
+ ### Se existir
85
+
86
+ Leia o arquivo e use as informacoes para:
87
+ - Entender a stack tecnologica do projeto (linguagem, frameworks, banco, libs)
88
+ - Identificar padroes de teste e convencoes existentes
89
+ - Mapear camadas da arquitetura
90
+ - Contextualizar as perguntas com dados reais do projeto
91
+
92
+ ---
93
+
94
+ ## Suas Responsabilidades
95
+
96
+ 1. Verificar pre-requisito: `project-profile.md` existe
97
+ 2. Ler a INTENT aprovada recebida como argumento
98
+ 3. Ler o `project-profile.md` para entender stack e padroes
99
+ 4. Usar `CLAUDE.md` e `.claude/rules/` (ja no contexto) como complemento
100
+ 5. Pesquisar o codebase quando necessario (codigo especifico da feature)
101
+ 6. Guiar o usuario por **4 perguntas contextualizadas** (UMA POR VEZ)
102
+ 7. Gerar e salvar o `tech_direction.md` preenchido
103
+ 8. **NUNCA** deduzir ou inventar decisoes tecnicas — apenas registrar o que o usuario decidiu
104
+ 9. Usar `AskUserQuestion` no Claude Code para interagir com o usuario
105
+
106
+ ---
107
+
108
+ ## Processo Interativo (UMA PERGUNTA POR VEZ)
109
+
110
+ ### Passo 0: Leitura e Pesquisa (automatico)
111
+
112
+ Antes de fazer qualquer pergunta:
113
+
114
+ 1. **Verificar project-profile.md** — se nao existir, interromper (ver secao Pre-requisito)
115
+ 2. **Ler a INTENT aprovada** no caminho fornecido
116
+ 3. **Ler o project-profile.md** para entender stack, padroes, camadas, libs
117
+ 4. **Pesquisa complementar** no codebase se necessario
118
+ 5. **Apresentar resumo** ao usuario:
119
+
120
+ > "Li a INTENT e o perfil do projeto. Entendi que o objetivo e [resumo da INTENT]. Stack: [resumo da stack do project-profile]. Vou te guiar por 4 decisoes tecnicas rapidas."
121
+
122
+ ### Sequencia de Perguntas
123
+
124
+ Faca **apenas uma pergunta por vez** e aguarde a resposta completa antes de avancar:
125
+
126
+ #### 1. Decisoes tecnicas ja tomadas
127
+ Baseado no escopo da INTENT, pergunte sobre decisoes firmes:
128
+ > "A INTENT define [resumo do escopo]. Voce ja tem decisoes tecnicas firmes para essa feature? Exemplos: protocolo de comunicacao, abordagem de autenticacao, estrategia de armazenamento."
129
+
130
+ Se o usuario nao souber, oferecer opcoes baseadas no project-profile:
131
+ > "O projeto usa [stack identificada]. Sugestoes: [opcao A], [opcao B], [opcao C]. Ou prefere outra abordagem?"
132
+
133
+ #### 2. Tecnologias/Libs sugeridas
134
+ Baseado nas libs do project-profile, pergunte sobre preferencias:
135
+ > "O projeto ja usa [libs identificadas no project-profile]. Quer manter essas tecnologias para esta feature ou tem preferencia por outras?"
136
+
137
+ #### 3. Padroes ou abordagens preferidas
138
+ Baseado nos padroes do project-profile, pergunte sobre abordagens:
139
+ > "O projeto segue [padroes identificados: ex. Clean Architecture, Repository pattern]. Quer seguir os mesmos padroes para esta feature ou tem preferencia diferente?"
140
+
141
+ #### 4. Observacoes
142
+ Pergunta aberta para contexto adicional:
143
+ > "Algum contexto tecnico adicional que o arquiteto deveria considerar ao definir o SCOPE? Ex: integracoes externas, decisoes historicas, restricoes de equipe ou infra."
144
+
145
+ ### Regras do Processo Interativo
146
+
147
+ - Faca **apenas uma pergunta por vez**
148
+ - Aguarde a resposta completa antes de avancar
149
+ - Se o usuario responder "nao", "nenhum" ou "nada", registre: "Sem direcionamento especifico — a criterio do arquiteto"
150
+ - Se o usuario nao souber, ofereca **2-4 opcoes** baseadas no project-profile e codebase
151
+ - Se o usuario fornecer informacoes extras, reutilize para secoes futuras
152
+ - Se algo nao ficou claro, **PERGUNTE** — nunca deduza
153
+ - **NUNCA invente decisoes** — registre apenas o que o usuario decidiu
154
+
155
+ ---
156
+
157
+ ## Template
158
+
159
+ Use o template oficial em: [tech_direction-template.md](templates/tech_direction-template.md)
160
+
161
+ O template contem 4 secoes que correspondem as 4 perguntas. Preencha cada secao com as respostas do usuario.
162
+
163
+ ---
164
+
165
+ ## Guardrails Inviolaveis
166
+
167
+ Estas regras sao **absolutas** e nao podem ser violadas em nenhuma circunstancia:
168
+
169
+ 1. **Project Profile obrigatorio** — se `.claude/rules/project-profile.md` nao existir, interromper e pedir geracao via `/generate-project-profile`
170
+ 2. **UMA pergunta por vez** — nunca bombardeie o usuario com multiplas perguntas
171
+ 3. **NUNCA avance sem resposta** — cada pergunta deve ser respondida antes de prosseguir
172
+ 4. **NUNCA invente decisoes** — se faltar dado, PERGUNTE ao usuario
173
+ 5. **NUNCA deduza decisoes tecnicas** — registre apenas o que o usuario decidiu explicitamente
174
+ 6. **SEMPRE salvar arquivo fisico ANTES de apresentar ao usuario** — o arquivo deve existir no disco antes de pedir aprovacao
175
+ 7. **NUNCA inicie automaticamente a proxima etapa (SCOPE)** — apenas encerre e aguarde
176
+ 8. **NUNCA sugira proximos passos do framework** — apenas encerre
177
+ 9. **Template COMPLETO** — todas as 4 secoes devem ser preenchidas (mesmo que com "Sem direcionamento especifico")
178
+ 10. **AskUserQuestion** — no Claude Code, use esta ferramenta para interagir com o usuario
179
+ 11. **Remover comentarios `<!-- LLM-ONLY: ... -->`** do conteudo antes de salvar
180
+
181
+ ---
182
+
183
+ ## Versionamento
184
+
185
+ O Tech Direction e salvo **na mesma pasta** da INTENT aprovada. O versionamento ja foi definido pela INTENT:
186
+
187
+ - Se a INTENT esta em `docs/feature-x/v1/intent.md`, o tech_direction vai em `docs/feature-x/v1/tech_direction.md`
188
+ - **NAO crie nova versao** — use a mesma pasta da INTENT fornecida como argumento
189
+
190
+ ---
191
+
192
+ ## Salvar Arquivo (OBRIGATORIO)
193
+
194
+ **ANTES de apresentar o Tech Direction ao usuario**, voce DEVE:
195
+
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
200
+
201
+ ---
202
+
203
+ ## Saida Esperada
204
+
205
+ Apos salvar o arquivo fisico, apresente **apenas um resumo compacto**. NAO exiba o tech_direction completo no terminal.
206
+
207
+ ```
208
+ Arquivo salvo em: docs/[nome-feature]/vN/tech_direction.md
209
+
210
+ ## Resumo do Tech Direction
211
+ - **Decisoes:** [lista curta]
212
+ - **Tecnologias:** [lista curta]
213
+ - **Padroes:** [lista curta]
214
+ - **Observacoes:** [resumo]
215
+
216
+ Esse direcionamento tecnico esta correto? (sim/nao)
217
+ ```
218
+
219
+ **IMPORTANTE:**
220
+ - NAO exiba o tech_direction completo no terminal — apenas o resumo acima
221
+ - NAO inicie `/ministack:generate-scope` automaticamente
222
+ - NAO sugira executar o proximo comando
223
+ - NAO sugira proximos passos do framework
224
+ - Apenas aguarde a confirmacao do usuario e encerre
225
+
226
+ ---
227
+
228
+ ## Entrada
229
+
230
+ $ARGUMENTS
@@ -0,0 +1,17 @@
1
+ # TECH DIRECTION (Opcional)
2
+
3
+ > Direcionamento tecnico inicial para a feature. Serve como ponto de partida para o SCOPE, nao como decisao final.
4
+ > O Arquiteto (scope-expert) pode complementar, ajustar ou questionar qualquer item aqui.
5
+
6
+ ## Decisoes tecnicas ja tomadas
7
+ - (ex: Usar AWS SES para envio de email)
8
+ - (ex: Criar gateway separado para integracao externa)
9
+
10
+ ## Tecnologias/Libs sugeridas
11
+ - (ex: aws-sdk-go-v2 para integracao com SES)
12
+
13
+ ## Padroes ou abordagens preferidas
14
+ - (ex: Seguir o pattern Gateway ja usado no projeto)
15
+
16
+ ## Observacoes
17
+ - (qualquer contexto tecnico relevante que o arquiteto deve considerar)