adi_dev_workflow 1.2.0 → 1.3.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 (81) hide show
  1. package/frameworks/skills/ministack-intent-expert/SKILL.md +0 -2
  2. package/frameworks/skills/ministack-scope-expert/SKILL.md +0 -4
  3. package/frameworks/skills/ministack-tasks-expert/SKILL.md +204 -0
  4. package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +78 -0
  5. package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +103 -0
  6. package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +230 -0
  7. package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +1 -0
  8. package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +17 -0
  9. package/frameworks/skills/prompt-engineer-expert/SKILL.md +232 -0
  10. package/frameworks/skills/prompt-engineer-expert/templates/prompt_template.md +139 -0
  11. package/frameworks/skills/sdd-prd-expert/SKILL.md +0 -2
  12. package/frameworks/skills/sdd-task-plan-expert/SKILL.md +0 -2
  13. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +99 -0
  14. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +64 -0
  15. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +12 -0
  16. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +32 -0
  17. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +134 -0
  18. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +68 -0
  19. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +5 -0
  20. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +32 -0
  21. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +525 -0
  22. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +30 -0
  23. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +5 -0
  24. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +12 -0
  25. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +32 -0
  26. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +1126 -0
  27. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +131 -0
  28. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +5 -0
  29. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +32 -0
  30. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +452 -0
  31. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +78 -0
  32. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +5 -0
  33. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +12 -0
  34. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  35. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +101 -0
  36. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +133 -0
  37. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +5 -0
  38. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  39. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +248 -0
  40. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +49 -0
  41. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +5 -0
  42. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +1325 -0
  43. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +94 -0
  44. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +67 -0
  45. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +12 -0
  46. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +32 -0
  47. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +117 -0
  48. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +91 -0
  49. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +1 -0
  50. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +32 -0
  51. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +694 -0
  52. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +45 -0
  53. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +1 -0
  54. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +12 -0
  55. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +32 -0
  56. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +1087 -0
  57. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +124 -0
  58. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +1 -0
  59. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +32 -0
  60. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +458 -0
  61. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +84 -0
  62. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +1 -0
  63. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +12 -0
  64. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  65. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +70 -0
  66. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +148 -0
  67. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +1 -0
  68. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  69. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +249 -0
  70. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +80 -0
  71. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +1 -0
  72. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +1325 -0
  73. package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +235 -0
  74. package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +1 -0
  75. package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +23 -0
  76. package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +317 -0
  77. package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +199 -0
  78. package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +290 -0
  79. package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +23 -0
  80. package/frameworks/skills/taskcard-expert/SKILL.md +0 -4
  81. package/package.json +1 -1
@@ -0,0 +1,232 @@
1
+ ---
2
+ name: prompt-engineer-expert
3
+ description: "Gera prompts 5 estrelas completos a partir de um resumo da tarefa. Use esta skill sempre que o usuário quiser criar, gerar ou estruturar um prompt para IA, transformar uma ideia vaga em instruções claras, ou quando mencionar 'prompt', 'gerar prompt', 'criar prompt', 'prompt engineering'. Também acione quando o usuário descrever uma tarefa e pedir para transformar em prompt estruturado."
4
+ argument-hint: [resumo ou descrição da tarefa]
5
+ ---
6
+
7
+ Você é um **Especialista em Prompt Engineering e Agentic Engineering**, membro de um Framework de Desenvolvimento Assistido por IA.
8
+
9
+ Sua missão é transformar um resumo de tarefa em um **prompt completo, estruturado e otimizado**, maximizando a inferência automática a partir do codebase e minimizando perguntas ao usuário.
10
+
11
+ Princípios:
12
+ - **Inferir antes de perguntar**: analise o projeto antes de fazer qualquer pergunta
13
+ - **Perguntas inteligentes**: só pergunte o que não pode ser derivado do código
14
+ - **Qualidade sobre quantidade**: menos perguntas, mais contexto real
15
+ - **Prompt validado**: nunca salve sem verificar completude
16
+ - **Acentuação correta**: todo texto em português no prompt gerado deve ter acentuação correta (não, é, está, seção, validação, geração, descrição, instrução, restrição, padrão, etc.)
17
+
18
+ ---
19
+
20
+ # Regra de Acentuação
21
+
22
+ O prompt gerado é um documento em português brasileiro. Todo o conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR. Isso inclui:
23
+
24
+ - Títulos de seções: `Instruções Específicas`, `Restrições`, `Descrição`, `Validação`
25
+ - Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`
26
+ - Termos técnicos em português: `autenticação`, `paginação`, `configuração`, `migração`
27
+
28
+ Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
29
+
30
+ ---
31
+
32
+ # Fluxo de Geração de Prompt
33
+
34
+ ```
35
+ Resumo da tarefa (usuário)
36
+ |
37
+ FASE 1: Análise do Codebase (automática, sem perguntas)
38
+ |
39
+ FASE 2: Coleta de Objetivo (1-2 perguntas essenciais)
40
+ |
41
+ FASE 3: Refinamento (perguntas específicas, se necessário)
42
+ |
43
+ FASE 4: Rascunho do Prompt (apresentar ao usuário)
44
+ |
45
+ FASE 5: Feedback e Ajuste (iterativo)
46
+ |
47
+ FASE 6: Validação e Salvamento
48
+ |
49
+ Prompt Final (docs/prompts/[slug]/[slug]_prompt.md)
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Fase 1: Análise Automática do Codebase
55
+
56
+ Antes de qualquer pergunta, analise o projeto para extrair o máximo de contexto possível. O objetivo é pré-preencher as seções de Contexto, Arquitetura e Padrões sem incomodar o usuário.
57
+
58
+ ### O que analisar
59
+
60
+ | Item | Onde procurar | Para preencher |
61
+ |------|--------------|----------------|
62
+ | Linguagem e framework | `go.mod`, `package.json`, `requirements.txt`, `Cargo.toml` | Seção Contexto |
63
+ | Arquitetura | `CLAUDE.md`, `.claude/rules/`, estrutura de pastas | Seção Contexto |
64
+ | Padrões de teste | Arquivos `*_test.go`, `*.test.ts`, `*.spec.js` | Seção Testes |
65
+ | Convenções de código | `.claude/rules/`, linters, formatters | Seção DEVE/NÃO DEVE |
66
+ | Perfil do projeto | `project-profile.md`, `.claude/rules/project-profile.md` | Tudo |
67
+ | Dependências e ferramentas | Makefiles, docker-compose, buf.yaml, sqlc.yaml | Seção Contexto |
68
+
69
+ ### Como analisar
70
+
71
+ 1. Leia `CLAUDE.md` e arquivos em `.claude/rules/` — eles já carregam no contexto, use-os diretamente
72
+ 2. Se `project-profile.md` existir, use como fonte primária
73
+ 3. Examine a estrutura de diretórios para entender a organização do projeto
74
+ 4. Identifique padrões de teste existentes (framework, convenções, localização)
75
+ 5. Verifique se há convenções de idioma (código em inglês, banco em português, etc.)
76
+
77
+ ### Output da Fase 1
78
+
79
+ Apresente ao usuário um resumo compacto do que foi inferido:
80
+
81
+ ```
82
+ **Contexto inferido do codebase:**
83
+ - Linguagem: [detectado]
84
+ - Framework: [detectado]
85
+ - Arquitetura: [detectado]
86
+ - Padrões de teste: [detectado]
87
+ - Convenções: [detectado]
88
+
89
+ Está correto? Posso prosseguir com base nisso?
90
+ ```
91
+
92
+ Se o usuário corrigir algo, ajuste antes de avançar.
93
+
94
+ ---
95
+
96
+ ## Fase 2: Coleta de Objetivo
97
+
98
+ Esta é a parte que **não pode** ser inferida do codebase — o que o usuário quer fazer e por quê.
99
+
100
+ Pergunte de forma direta e objetiva. Use `AskUserQuestion` oferecendo opções concretas baseadas na análise do codebase quando possível.
101
+
102
+ ### Perguntas essenciais (obrigatórias)
103
+
104
+ 1. **O que precisa ser entregue?** — Descreva o entregável principal
105
+ 2. **Por que essa tarefa é necessária?** — Qual problema resolve ou valor agrega
106
+
107
+ ### Perguntas contextuais (somente se não inferíveis)
108
+
109
+ Só faça estas perguntas se a análise do codebase não forneceu resposta clara:
110
+
111
+ - **Público-alvo**: se não for óbvio pelo tipo de projeto
112
+ - **Limitações específicas**: se houver restrições não documentadas
113
+ - **Resultado esperado**: se o resumo inicial for vago (código? documentação? plano?)
114
+
115
+ Agrupe perguntas relacionadas quando fizer sentido — não é necessário ser uma por vez se o contexto já está claro. O objetivo é ser eficiente, não burocrático.
116
+
117
+ ---
118
+
119
+ ## Fase 3: Refinamento Técnico
120
+
121
+ Com o objetivo claro, refine os detalhes técnicos. Aqui, combine inferência do codebase com perguntas pontuais.
122
+
123
+ ### O que inferir automaticamente
124
+
125
+ - **Estrutura lógica**: baseada na arquitetura do projeto (ex: handler → service → repository)
126
+ - **Convenções DEVE/NÃO DEVE**: extrair de `.claude/rules/`, `CLAUDE.md`, linters
127
+ - **Formato de resposta**: inferir do tipo de tarefa (código = markdown com blocos de código, documentação = markdown estruturado)
128
+ - **Persona/Tom**: inferir do contexto (tarefa técnica = tom técnico e direto)
129
+
130
+ ### O que perguntar (somente se necessário)
131
+
132
+ - **Detalhes técnicos específicos** que não estão documentados
133
+ - **Restrições de implementação** além das convenções do projeto
134
+ - **Critérios de aceite** se a tarefa for complexa
135
+ - **Arquivos envolvidos** se o resumo não mencionar
136
+
137
+ Use múltipla escolha quando possível, baseada em padrões reais do projeto:
138
+
139
+ ```
140
+ Quais camadas devem ser implementadas?
141
+ A) Handler + Service + Repository (CRUD completo)
142
+ B) Apenas Service + Repository (sem endpoint)
143
+ C) Apenas Handler (endpoint para lógica existente)
144
+ D) Outro (descreva)
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Fase 4: Rascunho do Prompt
150
+
151
+ Gere o prompt usando o template oficial. Preencha todas as seções obrigatórias com as informações coletadas e inferidas.
152
+
153
+ ### Template
154
+
155
+ O template completo está em: [prompt_template.md](templates/prompt_template.md)
156
+
157
+ ### Seções obrigatórias (1-6)
158
+
159
+ | Seção | Fonte primária |
160
+ |-------|---------------|
161
+ | 1. Contexto | Fase 1 (inferência automática) |
162
+ | 2. Objetivo | Fase 2 (perguntas ao usuário) |
163
+ | 3. Instruções Específicas | Fase 3 (inferência + perguntas) |
164
+ | 4. DEVE / NÃO DEVE | Fase 1 (convenções) + Fase 3 (específicas) |
165
+ | 5. Formato da Resposta | Inferido do tipo de tarefa |
166
+ | 6. Persona / Tom | Inferido do contexto |
167
+
168
+ ### Seções opcionais (7-10)
169
+
170
+ | Seção | Quando incluir |
171
+ |-------|---------------|
172
+ | 7. Critérios de Aceite | Tarefas complexas ou com requisitos mensuráveis |
173
+ | 8. Exemplos | Quando houver padrões claros de entrada/saída |
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) |
176
+
177
+ ### Apresentação ao usuário
178
+
179
+ Apresente o rascunho completo e pergunte:
180
+
181
+ ```
182
+ Aqui está o rascunho do prompt. Revise e me diga:
183
+ - Algo está incorreto ou faltando?
184
+ - Alguma seção precisa de mais detalhe?
185
+ - Deseja adicionar seções opcionais (Critérios de Aceite, Exemplos, Arquivos, Testes)?
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Fase 5: Feedback e Ajuste
191
+
192
+ Itere com o usuário até que o prompt esteja satisfatório.
193
+
194
+ - Aceite feedback livre e aplique as correções
195
+ - 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
+
198
+ ---
199
+
200
+ ## Fase 6: Validação e Salvamento
201
+
202
+ ### Guardrails de validação
203
+
204
+ Antes de salvar, verifique que o prompt gerado atende a TODOS estes critérios:
205
+
206
+ - [ ] Seções 1-6 preenchidas (Contexto, Objetivo, Instruções, DEVE/NÃO DEVE, Formato, Persona)
207
+ - [ ] Nenhuma seção contém placeholders genéricos (ex: `[Ex: ...]`, `[Descreva...]`)
208
+ - [ ] Seção DEVE tem no mínimo 3 itens
209
+ - [ ] Seção NÃO DEVE tem no mínimo 3 itens
210
+ - [ ] Contexto técnico é específico (linguagem, framework, arquitetura reais — não genéricos)
211
+ - [ ] Objetivo é claro e mensurável
212
+ - [ ] Se seções opcionais foram incluídas, estão preenchidas completamente
213
+ - [ ] Todo texto em português usa acentuação correta (Instruções, Restrições, Descrição, não, é, está, será, etc.)
214
+
215
+ Se algum guardrail falhar, corrija antes de salvar — não peça ao usuário para corrigir o que você pode resolver sozinho.
216
+
217
+ ### Salvamento
218
+
219
+ 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
223
+
224
+ ---
225
+
226
+ ## Princípios-Chave
227
+
228
+ - **Inferir > Perguntar**: cada pergunta feita ao usuário é um custo — minimize perguntas extraindo o máximo do codebase
229
+ - **Específico > Genérico**: prompts com `Go 1.24 com gRPC e SQLite` são melhores que `linguagem backend`
230
+ - **Validar > Confiar**: sempre rode os guardrails antes de salvar
231
+ - **Iterar > Acertar de primeira**: apresente o rascunho cedo e refine com feedback
232
+ - **Contexto real > Exemplos fictícios**: use dados do projeto real, não placeholders genéricos
@@ -0,0 +1,139 @@
1
+ # Prompt 5 Estrelas
2
+
3
+ ---
4
+
5
+ ## 1. Contexto
6
+
7
+ **Linguagem/Framework:**
8
+ [linguagem e versão, frameworks principais]
9
+
10
+ **Arquitetura/Padrão:**
11
+ [padrão arquitetural do projeto]
12
+
13
+ **Público-alvo:**
14
+ [quem vai consumir o resultado]
15
+
16
+ **Limitações/Restrições:**
17
+ [restrições de ambiente, dependências, compatibilidade]
18
+
19
+ ---
20
+
21
+ ## 2. Objetivo
22
+
23
+ **O que precisa ser entregue:**
24
+ [entregável principal da tarefa]
25
+
26
+ **Propósito da tarefa:**
27
+ [problema que resolve ou valor que agrega]
28
+
29
+ **Resultado esperado:**
30
+ [forma do resultado: código funcional, documentação, plano, etc.]
31
+
32
+ ---
33
+
34
+ ## 3. Instruções Específicas
35
+
36
+ **Detalhes técnicos:**
37
+ - [detalhe 1]
38
+ - [detalhe 2]
39
+ - [detalhe 3]
40
+
41
+ **Restrições:**
42
+ - [restrição 1]
43
+ - [restrição 2]
44
+
45
+ **Estrutura lógica:**
46
+ - [passo ou camada 1]
47
+ - [passo ou camada 2]
48
+ - [passo ou camada 3]
49
+
50
+ ---
51
+
52
+ ## 4. Regras: DEVE / NÃO DEVE
53
+
54
+ ### DEVE:
55
+ - [regra obrigatória 1]
56
+ - [regra obrigatória 2]
57
+ - [regra obrigatória 3]
58
+
59
+ ### NÃO DEVE:
60
+ - [proibição 1]
61
+ - [proibição 2]
62
+ - [proibição 3]
63
+
64
+ ### ATENÇÃO ESPECIAL:
65
+ - [ponto crítico, se houver]
66
+
67
+ ---
68
+
69
+ ## 5. Formato da Resposta
70
+
71
+ **Estrutura desejada:**
72
+ [formato do output: código com comentários, tópicos, tabela, etc.]
73
+
74
+ **Limites:**
75
+ [restrições de tamanho ou escopo do output]
76
+
77
+ **Estilo:**
78
+ [idioma, formatação, nível de detalhe]
79
+
80
+ ---
81
+
82
+ ## 6. Persona / Tom
83
+
84
+ **Perspectiva:**
85
+ [papel que a IA deve assumir]
86
+
87
+ **Tom da explicação:**
88
+ [técnico, didático, consultivo, direto]
89
+
90
+ **Nível de profundidade:**
91
+ [básico, intermediário, aprofundado com edge cases]
92
+
93
+ ---
94
+
95
+ ## 7. Critérios de Aceite *(opcional)*
96
+
97
+ - [ ] [critério 1]
98
+ - [ ] [critério 2]
99
+ - [ ] [critério 3]
100
+
101
+ ---
102
+
103
+ ## 8. Exemplos *(opcional)*
104
+
105
+ **Exemplo 1:**
106
+ ```
107
+ Entrada: [entrada]
108
+ Saída esperada: [saída]
109
+ ```
110
+
111
+ ---
112
+
113
+ ## 9. Arquivos Envolvidos *(opcional)*
114
+
115
+ **Arquivos a criar:**
116
+ - [caminho — descrição]
117
+
118
+ **Arquivos a modificar:**
119
+ - [caminho — descrição]
120
+
121
+ **Arquivos de referência (não alterar):**
122
+ - [caminho — descrição]
123
+
124
+ ---
125
+
126
+ ## 10. Testes de Unidade *(opcional)*
127
+
128
+ **Escopo dos testes:**
129
+ - [camadas e tipos de teste]
130
+
131
+ **Cenários obrigatórios:**
132
+ - [cenário 1: descrição → resultado esperado]
133
+ - [cenário 2: descrição → resultado esperado]
134
+
135
+ **Padrão de testes:**
136
+ - [framework, convenções, nomenclatura]
137
+
138
+ **Arquivo de referência:**
139
+ - [caminho do teste existente a seguir como modelo]
@@ -23,8 +23,6 @@ Foco: **O QUÊ** e **POR QUÊ**. Questões de COMO → registrar como Premissa/R
23
23
 
24
24
  Estilo: Objetivo. Estruturado. Sem redundância.
25
25
 
26
- > **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.
27
-
28
26
  ---
29
27
 
30
28
  # Regra de Acentuação
@@ -14,8 +14,6 @@ Sua missão é transformar um SPEC_TECH aprovado em:
14
14
 
15
15
  Seu foco é **EXCLUSIVAMENTE** no **COMO executar** — decomposição técnica de engenharia. Você transforma especificações técnicas em planos de execução granulares, sem ambiguidade, prontos para serem executados por desenvolvedores ou agentes de IA.
16
16
 
17
- > **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.
18
-
19
17
  ---
20
18
 
21
19
  # Regra de Acentuação
@@ -0,0 +1,99 @@
1
+ {
2
+ "skill_name": "sdd-task-plan-expert",
3
+ "iteration": 1,
4
+ "configurations": [
5
+ {
6
+ "name": "with_skill",
7
+ "pass_rate": 0.933,
8
+ "mean_tokens": 55027,
9
+ "stddev_tokens": 10217,
10
+ "mean_duration_seconds": 184.9,
11
+ "stddev_duration_seconds": 85.7,
12
+ "evals": [
13
+ {
14
+ "eval_name": "happy-path-spec-tech-usuario",
15
+ "pass_rate": 0.8,
16
+ "passed": 4,
17
+ "total": 5,
18
+ "tokens": 61221,
19
+ "duration_seconds": 138.2,
20
+ "failed_assertions": ["Le as rules do projeto (.claude/rules/ e CLAUDE.md) ANTES de gerar tasks"]
21
+ },
22
+ {
23
+ "eval_name": "spec-tech-simples-alteracao-pontual",
24
+ "pass_rate": 1.0,
25
+ "passed": 5,
26
+ "total": 5,
27
+ "tokens": 60596,
28
+ "duration_seconds": 286.6,
29
+ "failed_assertions": []
30
+ },
31
+ {
32
+ "eval_name": "spec-tech-sem-user-stories-explicitas",
33
+ "pass_rate": 1.0,
34
+ "passed": 5,
35
+ "total": 5,
36
+ "tokens": 43263,
37
+ "duration_seconds": 130.0,
38
+ "failed_assertions": []
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "name": "without_skill",
44
+ "pass_rate": 0.333,
45
+ "mean_tokens": 38834,
46
+ "stddev_tokens": 3912,
47
+ "mean_duration_seconds": 151.2,
48
+ "stddev_duration_seconds": 14.5,
49
+ "evals": [
50
+ {
51
+ "eval_name": "happy-path-spec-tech-usuario",
52
+ "pass_rate": 0.2,
53
+ "passed": 1,
54
+ "total": 5,
55
+ "tokens": 40363,
56
+ "duration_seconds": 141.3,
57
+ "failed_assertions": [
58
+ "Extrai o nome da feature do SPEC_TECH e confirma com o usuario antes de prosseguir",
59
+ "Faz apenas UMA pergunta por vez",
60
+ "Propoe macro-fases de alto nivel e aguarda validacao antes de criar tasks",
61
+ "Le as rules do projeto (.claude/rules/ e CLAUDE.md) ANTES de gerar tasks"
62
+ ]
63
+ },
64
+ {
65
+ "eval_name": "spec-tech-simples-alteracao-pontual",
66
+ "pass_rate": 0.2,
67
+ "passed": 1,
68
+ "total": 5,
69
+ "tokens": 41818,
70
+ "duration_seconds": 167.6,
71
+ "failed_assertions": [
72
+ "Gera um numero proporcional de tasks (entre 3 e 6)",
73
+ "Mapeia a US-10 na tabela de rastreabilidade do task_plan",
74
+ "Cada task segue o template completo (secoes 1-8)",
75
+ "Salva task_plan.md como documento de REFERENCIA"
76
+ ]
77
+ },
78
+ {
79
+ "eval_name": "spec-tech-sem-user-stories-explicitas",
80
+ "pass_rate": 0.4,
81
+ "passed": 2,
82
+ "total": 5,
83
+ "tokens": 34322,
84
+ "duration_seconds": 144.7,
85
+ "failed_assertions": [
86
+ "PERGUNTA ao usuario sobre User Stories / PRD em vez de inventar ou ignorar",
87
+ "Extrai corretamente o nome da feature em kebab-case",
88
+ "Segue o processo interativo (uma pergunta por vez)"
89
+ ]
90
+ }
91
+ ]
92
+ }
93
+ ],
94
+ "delta": {
95
+ "pass_rate_improvement": "+60.0pp",
96
+ "tokens_overhead": "+41.7%",
97
+ "duration_overhead": "+22.3%"
98
+ }
99
+ }
@@ -0,0 +1,64 @@
1
+ # Benchmark — sdd-task-plan-expert (Iteration 1)
2
+
3
+ ## Resumo
4
+
5
+ | Metrica | With Skill | Without Skill (Baseline) | Delta |
6
+ |---------|-----------|-------------------------|-------|
7
+ | **Pass Rate** | **93.3%** (14/15) | 33.3% (5/15) | **+60.0pp** |
8
+ | **Tokens (media)** | 55,027 | 38,834 | +41.7% |
9
+ | **Duracao (media)** | 184.9s | 151.2s | +22.3% |
10
+
11
+ ## Resultados por Eval
12
+
13
+ ### Eval 1: Happy Path (SPEC_TECH real do modulo de usuario)
14
+
15
+ | Assertion | With Skill | Without Skill |
16
+ |-----------|:---------:|:------------:|
17
+ | Extrai nome e confirma com usuario | PASS | FAIL |
18
+ | Uma pergunta por vez | PASS | FAIL |
19
+ | Propoe fases antes de tasks | PASS | FAIL |
20
+ | Le rules do projeto antes | FAIL | FAIL |
21
+ | Nao inicia execucao automatica | PASS | PASS |
22
+
23
+ ### Eval 2: Feature Simples (adicionar telefone)
24
+
25
+ | Assertion | With Skill | Without Skill |
26
+ |-----------|:---------:|:------------:|
27
+ | Numero proporcional de tasks (3-6) | PASS (6) | FAIL (12) |
28
+ | Ordem de dependencias correta | PASS | PASS |
29
+ | Rastreabilidade US-10 | PASS | FAIL |
30
+ | Template completo (secoes 1-8) | PASS | FAIL |
31
+ | task_plan como referencia | PASS | FAIL |
32
+
33
+ ### Eval 3: Sem User Stories
34
+
35
+ | Assertion | With Skill | Without Skill |
36
+ |-----------|:---------:|:------------:|
37
+ | Detecta ausencia de US/PRD | PASS | PASS |
38
+ | Pergunta ao usuario | PASS | FAIL |
39
+ | Nao inventa US ficticias | PASS | PASS |
40
+ | Nome em kebab-case | PASS | FAIL |
41
+ | Processo interativo | PASS | FAIL |
42
+
43
+ ## Analise
44
+
45
+ ### Pontos Fortes da Skill
46
+ 1. **Processo interativo**: A skill garante interacao step-by-step (93% vs 33% pass rate)
47
+ 2. **Proporcionalidade**: 6 tasks para feature simples vs 12 sem skill
48
+ 3. **Guardrails**: Detectou e perguntou sobre US/PRD ausentes em vez de ignorar
49
+ 4. **Template e rastreabilidade**: Segue template oficial e mapeia User Stories
50
+ 5. **Separacao de documentos**: task_plan como referencia, tasks em arquivos individuais
51
+
52
+ ### Ponto de Melhoria Identificado
53
+ 1. **Leitura de rules do projeto (a4)**: A skill instrui "Ler as rules do projeto", mas o agente leu extensivamente o codebase sem ler `.claude/rules/` e `CLAUDE.md` explicitamente. Sugestao: reforcar na skill que a leitura de rules e o PRIMEIRO passo, antes de explorar o codebase.
54
+
55
+ ### Custo da Skill
56
+ - **+41.7% tokens**: Esperado — a skill faz mais trabalho (leitura de templates, processo interativo, exploração de codebase mais detalhada)
57
+ - **+22.3% duracao**: Overhead moderado, aceitavel dado o ganho de qualidade
58
+
59
+ ### Assertions Nao-Discriminantes
60
+ - "Nao inventa US ficticias" passou em ambas as configuracoes (with/without skill) — o modelo base ja respeita isso
61
+ - "Nao inicia execucao automatica" tambem passou em ambas
62
+
63
+ ### Conclusao
64
+ A skill melhora drasticamente a qualidade do output (+60pp pass rate). O unico ponto de falha (leitura de rules) e um refinamento menor. O custo adicional em tokens/tempo e justificado pelo ganho em estrutura, interatividade e conformidade com o framework SDD.
@@ -0,0 +1,12 @@
1
+ {
2
+ "eval_id": 1,
3
+ "eval_name": "happy-path-spec-tech-usuario",
4
+ "prompt": "Gere o TASK PLAN para a feature de usuario. O SPEC_TECH aprovado esta em docs/feature-user/v1/spec_tech.md",
5
+ "assertions": [
6
+ {"id": "a1", "text": "Extrai o nome da feature do SPEC_TECH e confirma com o usuario antes de prosseguir", "type": "llm_judge"},
7
+ {"id": "a2", "text": "Faz apenas UMA pergunta por vez (nao bombardeia com multiplas perguntas no mesmo turno)", "type": "llm_judge"},
8
+ {"id": "a3", "text": "Propoe macro-fases de alto nivel e aguarda validacao antes de criar tasks", "type": "llm_judge"},
9
+ {"id": "a4", "text": "Le as rules do projeto (.claude/rules/ e CLAUDE.md) ANTES de gerar tasks", "type": "llm_judge"},
10
+ {"id": "a5", "text": "NAO inicia execucao automatica de tasks — apenas apresenta o plano e aguarda", "type": "llm_judge"}
11
+ ]
12
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "eval_id": 1,
3
+ "eval_name": "happy-path-spec-tech-usuario",
4
+ "configuration": "with_skill",
5
+ "expectations": [
6
+ {
7
+ "text": "Extrai o nome da feature do SPEC_TECH e confirma com o usuario antes de prosseguir",
8
+ "passed": true,
9
+ "evidence": "Extraiu 'Modulo de Usuario -- Vakinha Burger', normalizou para 'feature-user' em kebab-case, e perguntou: 'Podemos iniciar a definicao macro das fases? Voce concorda com esta estrutura de 5 fases?'"
10
+ },
11
+ {
12
+ "text": "Faz apenas UMA pergunta por vez (nao bombardeia com multiplas perguntas no mesmo turno)",
13
+ "passed": true,
14
+ "evidence": "Fez apenas uma pergunta ao final: 'Podemos iniciar a definicao macro das fases?' Nao bombardeou com multiplas perguntas."
15
+ },
16
+ {
17
+ "text": "Propoe macro-fases de alto nivel e aguarda validacao antes de criar tasks",
18
+ "passed": true,
19
+ "evidence": "Propos 5 fases (Fundacao, Contratos/Dados, Logica de Negocio, Apresentacao, Testes) com justificativa para cada uma, e aguardou validacao antes de criar tasks detalhadas."
20
+ },
21
+ {
22
+ "text": "Le as rules do projeto (.claude/rules/ e CLAUDE.md) ANTES de gerar tasks",
23
+ "passed": false,
24
+ "evidence": "O transcript mostra leitura extensiva do codebase (13 arquivos Go, proto, config, PRD), mas NAO ha leitura explicita de .claude/rules/ nem CLAUDE.md. O agente explorou o codebase mas nao leu as rules do projeto."
25
+ },
26
+ {
27
+ "text": "NAO inicia execucao automatica de tasks — apenas apresenta o plano e aguarda",
28
+ "passed": true,
29
+ "evidence": "Encerrou com 'Este e o primeiro turno de interacao' e explicou que o proximo passo seria destrinchar tasks da Fase 1. Nao iniciou execucao automatica."
30
+ }
31
+ ]
32
+ }