adi_dev_workflow 1.0.0 → 1.1.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 (130) hide show
  1. package/bin/index.js +0 -0
  2. package/frameworks/commands/generate-project-profile.md +68 -0
  3. package/frameworks/commands/generate-prompt.md +4 -2
  4. package/frameworks/commands/ministack/README.md +61 -46
  5. package/frameworks/commands/ministack/code-review.md +36 -49
  6. package/frameworks/commands/ministack/generate-intent.md +25 -2
  7. package/frameworks/commands/ministack/generate-scope.md +30 -6
  8. package/frameworks/commands/ministack/generate-tasks.md +191 -6
  9. package/frameworks/commands/ministack/generate-tech-direction.md +43 -0
  10. package/frameworks/commands/ministack/run-ministack-tasks.md +352 -33
  11. package/frameworks/commands/ministack/run-ministack-withlinear.md +23 -22
  12. package/frameworks/commands/ministack/status.md +153 -0
  13. package/frameworks/commands/sdd/code-review.md +10 -10
  14. package/frameworks/commands/sdd/generate-prd.md +32 -2
  15. package/frameworks/commands/sdd/generate-task-plan.md +199 -5
  16. package/frameworks/commands/sdd/generate-tech-direction.md +43 -0
  17. package/frameworks/commands/sdd/generate-tech-spec.md +218 -0
  18. package/frameworks/commands/sdd/generate-tests.md +2 -2
  19. package/frameworks/commands/sdd/run_tasks.md +391 -43
  20. package/frameworks/commands/sdd/run_tasks_withlinear.md +276 -37
  21. package/frameworks/commands/sdd/status.md +160 -0
  22. package/frameworks/commands/sdd/validate-sdd.md +18 -2
  23. package/frameworks/commands/sync-tasks-to-linear.md +588 -588
  24. package/frameworks/commands/taskcard/generate-taskcard.md +42 -25
  25. package/frameworks/commands/taskcard/run-taskcard.md +203 -34
  26. package/frameworks/skills/ministack-intent-expert/SKILL.md +3 -2
  27. package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +1 -1
  28. package/frameworks/skills/ministack-scope-expert/SKILL.md +6 -10
  29. package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +1 -1
  30. package/frameworks/skills/ministack-tasks-expert/SKILL.md +192 -0
  31. package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +78 -0
  32. package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +103 -0
  33. package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +218 -0
  34. package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +1 -0
  35. package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +17 -0
  36. package/frameworks/skills/sdd-prd-expert/SKILL.md +143 -95
  37. package/frameworks/skills/sdd-prd-expert/evals/evals.json +59 -0
  38. package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +46 -46
  39. package/frameworks/skills/sdd-prd-expert/templates/tech_direction-template.md +23 -0
  40. package/frameworks/skills/sdd-task-plan-expert/SKILL.md +179 -201
  41. package/frameworks/skills/sdd-task-plan-expert/evals/evals.json +109 -0
  42. package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +33 -33
  43. package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +58 -32
  44. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +99 -0
  45. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +64 -0
  46. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +12 -0
  47. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +32 -0
  48. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +134 -0
  49. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +68 -0
  50. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +5 -0
  51. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +32 -0
  52. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +525 -0
  53. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +30 -0
  54. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +5 -0
  55. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +12 -0
  56. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +32 -0
  57. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +1126 -0
  58. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +131 -0
  59. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +5 -0
  60. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +32 -0
  61. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +452 -0
  62. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +78 -0
  63. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +5 -0
  64. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +12 -0
  65. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  66. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +101 -0
  67. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +133 -0
  68. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +5 -0
  69. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  70. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +248 -0
  71. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +49 -0
  72. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +5 -0
  73. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +1325 -0
  74. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +94 -0
  75. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +67 -0
  76. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +12 -0
  77. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +32 -0
  78. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +117 -0
  79. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +91 -0
  80. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +1 -0
  81. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +32 -0
  82. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +694 -0
  83. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +45 -0
  84. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +1 -0
  85. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +12 -0
  86. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +32 -0
  87. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +1087 -0
  88. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +124 -0
  89. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +1 -0
  90. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +32 -0
  91. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +458 -0
  92. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +84 -0
  93. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +1 -0
  94. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +12 -0
  95. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  96. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +70 -0
  97. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +148 -0
  98. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +1 -0
  99. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  100. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +249 -0
  101. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +80 -0
  102. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +1 -0
  103. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +1325 -0
  104. package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +223 -0
  105. package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +1 -0
  106. package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +23 -0
  107. package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +304 -0
  108. package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +199 -0
  109. package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +290 -0
  110. package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +23 -0
  111. package/frameworks/skills/taskcard-expert/SKILL.md +26 -78
  112. package/frameworks/skills/taskcard-expert/templates/template.md +0 -2
  113. package/package.json +1 -1
  114. package/frameworks/commands/ministack/generate-tests.md +0 -37
  115. package/frameworks/commands/sdd/generate-spec-tech.md +0 -37
  116. package/frameworks/commands/taskcard/generate-tests.md +0 -37
  117. package/frameworks/skills/ministack-expert/SKILL.md +0 -415
  118. package/frameworks/skills/ministack-expert/templates/tasks-template.md +0 -141
  119. package/frameworks/skills/ministack-qa-expert/SKILL.md +0 -273
  120. package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +0 -24
  121. package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +0 -75
  122. package/frameworks/skills/sdd-qa-expert/SKILL.md +0 -284
  123. package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +0 -24
  124. package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +0 -75
  125. package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +0 -387
  126. package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +0 -246
  127. package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +0 -23
  128. package/frameworks/skills/taskcard-qa-expert/SKILL.md +0 -265
  129. package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +0 -78
  130. package/frameworks/templates/prompt_template.md +0 -164
@@ -0,0 +1,199 @@
1
+ {
2
+ "skill_name": "sdd-tech-spec-expert",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "name": "prd-usuario-existente",
7
+ "prompt": "Preciso gerar o SPEC_TECH para a feature de usuario. O PRD aprovado esta em docs/feature-user/v1/prd.md",
8
+ "expected_output": "A skill deve: (1) ler o PRD aprovado em docs/feature-user/v1/prd.md, (2) pesquisar o codebase (CLAUDE.md, .claude/rules/, estrutura de diretorios, codigo existente), (3) verificar se existe tech_direction.md na pasta da feature, (4) iniciar o processo de coleta fazendo UMA pergunta por vez ao usuario, (5) NAO bombardear com multiplas perguntas de uma vez",
9
+ "files": [
10
+ "docs/feature-user/v1/prd.md"
11
+ ],
12
+ "assertions": [
13
+ {
14
+ "name": "leu-prd-aprovado",
15
+ "type": "tool_usage",
16
+ "description": "Deve ler o arquivo PRD aprovado antes de fazer qualquer pergunta",
17
+ "check": "A skill usou Read para ler docs/feature-user/v1/prd.md"
18
+ },
19
+ {
20
+ "name": "pesquisou-codebase",
21
+ "type": "tool_usage",
22
+ "description": "Deve pesquisar regras do projeto e estrutura do codebase",
23
+ "check": "A skill leu CLAUDE.md e/ou arquivos em .claude/rules/"
24
+ },
25
+ {
26
+ "name": "verificou-tech-direction",
27
+ "type": "tool_usage",
28
+ "description": "Deve verificar se existe tech_direction.md na pasta da feature",
29
+ "check": "A skill tentou ler ou verificar a existencia de docs/feature-user/v1/tech_direction.md"
30
+ },
31
+ {
32
+ "name": "uma-pergunta-por-vez",
33
+ "type": "output_quality",
34
+ "description": "Deve fazer apenas UMA pergunta tecnica por vez, nao bombardear o usuario",
35
+ "check": "A primeira interacao com o usuario contem no maximo 1 pergunta tecnica clara (pode ter sub-opcoes, mas e 1 topico)"
36
+ },
37
+ {
38
+ "name": "resumo-do-prd",
39
+ "type": "output_content",
40
+ "description": "Deve apresentar um resumo do que entendeu do PRD antes de iniciar perguntas",
41
+ "check": "A skill apresenta um resumo do objetivo da feature (modulo de usuario, cadastro, login, consulta, atualizacao)"
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "id": 2,
47
+ "name": "spec-tech-completo-16-secoes",
48
+ "prompt": "Gere o SPEC_TECH para a feature de usuario. PRD em docs/feature-user/v1/prd.md. Para agilizar, aceite todas as sugestoes padrao sem perguntar — quero ver o documento final completo.",
49
+ "expected_output": "A skill deve gerar um SPEC_TECH completo com TODAS as 16 secoes do template, salvar o arquivo fisico em docs/feature-user/v1/spec_tech.md ANTES de apresentar ao usuario, e NAO iniciar o TASK PLAN automaticamente",
50
+ "files": [
51
+ "docs/feature-user/v1/prd.md"
52
+ ],
53
+ "assertions": [
54
+ {
55
+ "name": "todas-16-secoes",
56
+ "type": "output_content",
57
+ "description": "O SPEC_TECH gerado deve conter todas as 16 secoes do template",
58
+ "check": "O documento contem secoes 1 (Identificacao), 2 (Resumo Tecnico), 3 (Arquitetura), 4 (Estruturas de Dados), 5 (Regras Tecnicas), 6 (Fluxos Tecnicos), 7 (APIs/Endpoints), 8 (Frontend/Mobile), 9 (Banco Local/Cache), 10 (Dependencias), 11 (Requisitos Nao Funcionais), 12 (Criterios Tecnicos), 13 (Riscos), 14 (Estrategia de Testes), 15 (Arquivos Envolvidos), 16 (Checklist Final)"
59
+ },
60
+ {
61
+ "name": "arquivo-salvo-antes-de-apresentar",
62
+ "type": "tool_usage",
63
+ "description": "Deve salvar o arquivo fisico ANTES de apresentar ao usuario",
64
+ "check": "A skill usou Write para salvar em docs/feature-user/v1/spec_tech.md antes de mostrar o conteudo ao usuario"
65
+ },
66
+ {
67
+ "name": "nao-iniciou-task-plan",
68
+ "type": "output_content",
69
+ "description": "NAO deve sugerir ou iniciar a proxima etapa (TASK PLAN) automaticamente",
70
+ "check": "A skill NAO menciona executar /sdd:generate-task-plan nem inicia geracao de tasks. Apenas pergunta se o SPEC esta aprovado"
71
+ },
72
+ {
73
+ "name": "mapeamento-user-stories-secao-5-1",
74
+ "type": "output_content",
75
+ "description": "A secao 5.1 deve mapear TODAS as user stories do PRD para definicoes tecnicas",
76
+ "check": "A secao 5.1 contem mapeamento de US-01, US-02, US-03 e US-04 para definicoes tecnicas correspondentes"
77
+ },
78
+ {
79
+ "name": "secao-15-tres-subsecoes",
80
+ "type": "output_content",
81
+ "description": "A secao 15 deve ter 3 subsecoes: Criar, Modificar e Referencia",
82
+ "check": "A secao 15 contem 15.1 (Arquivos a Criar), 15.2 (Arquivos a Modificar) e 15.3 (Arquivos de Referencia)"
83
+ },
84
+ {
85
+ "name": "delegou-secao-14-qa",
86
+ "type": "tool_usage",
87
+ "description": "A secao 14 (Estrategia de Testes) deve ser delegada a um subagente QA",
88
+ "check": "A skill disparou um subagente (Task tool) para gerar a secao 14 com contexto de QA expert"
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "id": 3,
94
+ "name": "respeita-arquitetura-existente",
95
+ "prompt": "Gere o SPEC_TECH para a feature de usuario. O PRD esta em docs/feature-user/v1/prd.md. Quero que a solucao use a arquitetura ja existente no projeto.",
96
+ "expected_output": "A skill deve pesquisar profundamente o codebase, identificar a arquitetura existente (gRPC, Clean Architecture, SQLite, Uber FX, SQLC) e propor solucoes que seguem os padroes ja estabelecidos — NAO propor REST quando o projeto usa gRPC, NAO propor PostgreSQL quando o projeto usa SQLite, etc.",
97
+ "files": [
98
+ "docs/feature-user/v1/prd.md"
99
+ ],
100
+ "assertions": [
101
+ {
102
+ "name": "identificou-grpc",
103
+ "type": "output_content",
104
+ "description": "Deve identificar que o projeto usa gRPC e propor endpoints gRPC (nao REST)",
105
+ "check": "O SPEC_TECH propoe endpoints/servicos gRPC, NAO endpoints REST (GET/POST/PUT/DELETE)"
106
+ },
107
+ {
108
+ "name": "identificou-sqlite",
109
+ "type": "output_content",
110
+ "description": "Deve identificar que o projeto usa SQLite e propor migracoes SQLite",
111
+ "check": "O SPEC_TECH referencia SQLite como banco de dados, com migracoes no padrao do projeto"
112
+ },
113
+ {
114
+ "name": "identificou-clean-architecture",
115
+ "type": "output_content",
116
+ "description": "Deve seguir a Clean Architecture do projeto (handler -> service -> repository)",
117
+ "check": "O SPEC_TECH propoe componentes nas camadas handler, service e repository conforme a arquitetura existente"
118
+ },
119
+ {
120
+ "name": "identificou-uber-fx",
121
+ "type": "output_content",
122
+ "description": "Deve mencionar Uber FX para injecao de dependencias",
123
+ "check": "O SPEC_TECH referencia Uber FX ou modulos fx.Module para DI dos novos componentes"
124
+ },
125
+ {
126
+ "name": "convencao-idioma-banco-portugues",
127
+ "type": "output_content",
128
+ "description": "Deve seguir a convencao do projeto: tabelas/colunas em portugues, codigo em ingles",
129
+ "check": "Tabelas e colunas propostas estao em portugues (ex: usuarios, nome, email, senha_hash) e nomes de structs/funcoes em ingles"
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ "id": 4,
135
+ "name": "com-tech-direction-existente",
136
+ "prompt": "Preciso do SPEC_TECH para a feature de pedidos (orders). O PRD esta em docs/feature-order/v1/prd.md. Ja criei um tech_direction.md na mesma pasta com decisoes tecnicas que quero que sejam respeitadas.",
137
+ "expected_output": "A skill deve detectar o tech_direction.md, apresentar os direcionamentos encontrados, respeitar as decisoes do usuario como ponto de partida, e levantar conflitos se houver incompatibilidade com o codebase existente",
138
+ "files": [
139
+ "docs/feature-order/v1/prd.md",
140
+ "docs/feature-order/v1/tech_direction.md"
141
+ ],
142
+ "assertions": [
143
+ {
144
+ "name": "detectou-tech-direction",
145
+ "type": "tool_usage",
146
+ "description": "Deve buscar e ler o tech_direction.md na pasta da feature",
147
+ "check": "A skill leu o arquivo docs/feature-order/v1/tech_direction.md"
148
+ },
149
+ {
150
+ "name": "apresentou-direcionamentos",
151
+ "type": "output_content",
152
+ "description": "Deve apresentar um resumo dos direcionamentos encontrados no tech_direction",
153
+ "check": "A skill lista ou resume as decisoes tecnicas encontradas no tech_direction.md antes de iniciar perguntas"
154
+ },
155
+ {
156
+ "name": "respeitou-decisoes-usuario",
157
+ "type": "output_content",
158
+ "description": "Deve usar as decisoes do tech_direction como ponto de partida, nao propor alternativas conflitantes",
159
+ "check": "As propostas tecnicas da skill sao consistentes com o tech_direction — nao propoe alternativas que contradizem decisoes firmes do usuario"
160
+ },
161
+ {
162
+ "name": "registrou-no-resumo-tecnico",
163
+ "type": "output_content",
164
+ "description": "Deve incluir as decisoes do tech_direction na secao 2 do SPEC_TECH",
165
+ "check": "A secao 2 (Resumo Tecnico) do SPEC_TECH referencia ou incorpora decisoes do tech_direction.md"
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ "id": 5,
171
+ "name": "nao-inventa-nao-deduz",
172
+ "prompt": "Gere o SPEC_TECH para a feature de usuario. PRD em docs/feature-user/v1/prd.md. Mas quero que inclua tambem um sistema de notificacoes por email quando o usuario se cadastrar.",
173
+ "expected_output": "A skill deve identificar que 'notificacoes por email' NAO esta no PRD aprovado e NAO deve adicionar ao escopo. Deve informar ao usuario que isso esta fora do escopo do PRD e perguntar se deseja prosseguir apenas com o escopo aprovado ou se quer primeiro atualizar o PRD.",
174
+ "files": [
175
+ "docs/feature-user/v1/prd.md"
176
+ ],
177
+ "assertions": [
178
+ {
179
+ "name": "identificou-escopo-fora-prd",
180
+ "type": "output_content",
181
+ "description": "Deve identificar que notificacoes por email nao esta no PRD aprovado",
182
+ "check": "A skill menciona que notificacoes por email nao faz parte do PRD aprovado ou esta fora do escopo definido"
183
+ },
184
+ {
185
+ "name": "nao-adicionou-ao-spec",
186
+ "type": "output_content",
187
+ "description": "NAO deve adicionar funcionalidade fora do PRD ao SPEC_TECH sem aprovacao",
188
+ "check": "A skill NAO inclui notificacoes por email no SPEC_TECH gerado, ou pergunta ao usuario antes de incluir"
189
+ },
190
+ {
191
+ "name": "sugeriu-atualizar-prd",
192
+ "type": "output_content",
193
+ "description": "Deve sugerir que o usuario atualize o PRD se quiser incluir a funcionalidade",
194
+ "check": "A skill sugere atualizar o PRD primeiro ou pergunta ao usuario como deseja proceder com o item fora do escopo"
195
+ }
196
+ ]
197
+ }
198
+ ]
199
+ }
@@ -0,0 +1,290 @@
1
+ # SPEC_TECH -- Especificação Técnica
2
+
3
+ ## 1. Identificação
4
+ - **Feature/Projeto**:
5
+ - **Autor**:
6
+ - **Data**:
7
+ - **Versão**:
8
+ - **Status**: Draft | Refinando | Aprovado
9
+ - **PRD Relacionado**:
10
+
11
+ ---
12
+
13
+ ## 2. Resumo Técnico da Solução
14
+
15
+ (Visão geral do COMO será implementado. Descreva em 3-5 linhas a abordagem técnica escolhida, as principais decisões arquiteturais e o resultado técnico esperado.)
16
+
17
+ ---
18
+
19
+ ## 3. Arquitetura da Solução
20
+
21
+ ### 3.1 Visão Geral
22
+ (Diagrama ou descrição da arquitetura geral da solução. Como os componentes se conectam.)
23
+
24
+ ### 3.2 Componentes/Módulos
25
+ (Lista de componentes envolvidos com descrição da responsabilidade de cada um.)
26
+
27
+ | Componente | Responsabilidade | Camada |
28
+ |------------|-----------------|--------|
29
+ | | | |
30
+
31
+ ### 3.3 Interações entre componentes
32
+ (Descreva como os componentes se comunicam. Fluxo de dados entre camadas.)
33
+
34
+ ---
35
+
36
+ ## 4. Estruturas de Dados
37
+
38
+ ### 4.1 Models / DTOs
39
+ (Structs, tipos e modelos de domínio que serão criados ou modificados.)
40
+
41
+ ### 4.2 Entidades de Banco de Dados
42
+ (Tabelas, colunas, índices, constraints. Inclua SQL de migrações quando aplicável.)
43
+
44
+ ### 4.3 Schemas adicionais
45
+ (Protocol Buffers, mensagens gRPC, schemas de validação ou outros formatos de dados.)
46
+
47
+ ---
48
+
49
+ ## 5. Regras Técnicas de Negócio
50
+
51
+ (Implementação técnica das regras definidas no PRD. Cada regra do PRD deve ter uma definição técnica correspondente.)
52
+
53
+ ### 5.1 Mapeamento de User Stories para Definições Técnicas
54
+
55
+ | User Story (PRD) | Definição Técnica | Componentes Envolvidos |
56
+ |------------------|-------------------|----------------------|
57
+ | US-01 | | |
58
+ | US-02 | | |
59
+
60
+ <!-- LLM-ONLY: Cada user story do PRD deve ter pelo menos uma definicao tecnica correspondente. Isso garante rastreabilidade completa entre o PRD e a especificacao tecnica. -->
61
+
62
+ ---
63
+
64
+ ## 6. Fluxos Técnicos
65
+
66
+ ### 6.1 Fluxo Principal (técnico)
67
+ (Sequência de chamadas, processamento e respostas do fluxo principal. Descreva camada por camada.)
68
+
69
+ ### 6.2 Fluxos Alternativos
70
+ (Variações do fluxo principal: dados opcionais, caminhos condicionais, etc.)
71
+
72
+ ### 6.3 Tratamento de Erros
73
+ (Como erros serão tratados em cada camada. Mapeamento de erros de negócio para códigos de status.)
74
+
75
+ | Erro de Negócio | Código de Status | Mensagem | Camada de Origem |
76
+ |----------------|-----------------|----------|-----------------|
77
+ | | | | |
78
+
79
+ ---
80
+
81
+ ## 7. APIs / Endpoints
82
+
83
+ ### 7.1 Endpoints Backend
84
+
85
+ | Ação | Método | Rota | Payload | Resposta Esperada |
86
+ |------|--------|------|---------|-------------------|
87
+ | | | | | |
88
+
89
+ ### 7.2 Erros e Códigos de Status
90
+
91
+ | Código | Situação | Mensagem |
92
+ |--------|----------|----------|
93
+ | | | |
94
+
95
+ ---
96
+
97
+ ## 8. Frontend / Mobile
98
+
99
+ ### 8.1 Telas
100
+ (Telas envolvidas, layouts e componentes visuais.)
101
+
102
+ ### 8.2 Estados e Gerência de Estado
103
+ (Gerenciamento de estado: loading, success, error, empty. Solução de state management.)
104
+
105
+ ### 8.3 Navegação
106
+ (Fluxo de navegação entre telas. Rotas e parâmetros.)
107
+
108
+ ### 8.4 Validações
109
+ (Validações de formulário, campos obrigatórios, máscaras, limites.)
110
+
111
+ ### 8.5 Comportamentos específicos
112
+ (Animações, transições, comportamentos offline, responsividade.)
113
+
114
+ ---
115
+
116
+ ## 9. Banco Local / Cache
117
+
118
+ ### 9.1 Estrutura de Tabelas
119
+ (Tabelas locais, colunas, tipos. Diferentes do banco remoto se aplicável.)
120
+
121
+ ### 9.2 Estratégia de Sincronização
122
+ (Como dados locais sincronizam com o backend. Conflitos, prioridade, frequência.)
123
+
124
+ ### 9.3 Estratégia de Versionamento
125
+ (Como lidar com mudanças de schema local. Migrações locais, rollback.)
126
+
127
+ ---
128
+
129
+ ## 10. Dependências Técnicas
130
+
131
+ | Tipo | Nome | Versão | Motivo |
132
+ |------|------|--------|--------|
133
+ | Pacote | | | |
134
+ | Biblioteca | | | |
135
+ | Ferramenta | | | |
136
+ | SDK | | | |
137
+
138
+ ---
139
+
140
+ ## 11. Requisitos Não Funcionais (COMO serão atendidos)
141
+
142
+ ### Segurança
143
+ (Autenticação, autorização, criptografia, validação de input, sanitização.)
144
+
145
+ ### Performance
146
+ (Metas de tempo de resposta, paginação, índices, cache, otimizações.)
147
+
148
+ ### Escalabilidade
149
+ (Limites conhecidos, estratégia de crescimento, gargalos potenciais.)
150
+
151
+ ### Observabilidade
152
+ (Logs estruturados, métricas, alertas, tracing distribuído.)
153
+
154
+ ### Resiliência
155
+ (Tratamento de falhas, retry, circuit breaker, graceful degradation.)
156
+
157
+ ---
158
+
159
+ ## 12. Critérios Técnicos de Aceite
160
+
161
+ - [ ] Implementação cobre todas as regras do PRD
162
+ - [ ] Estruturas de dados criadas e funcionais
163
+ - [ ] Fluxos técnicos implementados e testados
164
+ - [ ] API funcionando conforme especificado
165
+ - [ ] Erros tratados em todas as camadas
166
+ - [ ] Logs/monitoramento implementados
167
+ - [ ] Validações aplicadas (input, negócio, dados)
168
+ - [ ] Código segue padrões e convenções do projeto
169
+
170
+ ---
171
+
172
+ ## 13. Riscos Técnicos
173
+
174
+ | Risco | Probabilidade | Impacto | Mitigação |
175
+ |-------|--------------|---------|-----------|
176
+ | | | | |
177
+
178
+ ---
179
+
180
+ ## 14. Estratégia de Testes
181
+
182
+ > **Resumo**: X casos de teste | Unitários: Y | Integração: Z | E2E: W
183
+ > **Padrão**: [framework de teste, padrão de mock, convenção de nomes]
184
+
185
+ ### Rastreabilidade: Critérios de Aceite → Testes
186
+
187
+ | CA (PRD) | Descrição Resumida | Testes |
188
+ |----------|-------------------|--------|
189
+ | CA-01 | (descrição curta do CA no PRD) | CT-01, CT-10, CT-20, CT-30 |
190
+ | CA-02 | (descrição curta do CA no PRD) | CT-02, CT-22 |
191
+
192
+ <!-- LLM-ONLY: Cada CA-XX do PRD deve ter pelo menos um teste correspondente. Esta tabela deve ser preenchida PRIMEIRO — guia toda a estrategia. -->
193
+
194
+ ---
195
+
196
+ ### 14.1 Testes Unitários
197
+
198
+ <!-- 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 — o objetivo deve dar contexto que o nome sozinho nao da. -->
199
+
200
+ #### Service: [NomeService] (`arquivo_test.go`)
201
+
202
+ Mock: [interfaces mockadas]
203
+
204
+ | CT | Teste | CA | Objetivo | Input | Expected | Mock |
205
+ |----|-------|----|----------|-------|----------|------|
206
+ | CT-01 | TestMetodo_Sucesso | CA-01 | Verificar que [comportamento esperado] quando [condição do cenário] | dados válidos | resultado esperado | repo retorna dados |
207
+ | CT-02 | TestMetodo_ErroValidacao | CA-03 | Verificar que [erro específico] é retornado quando [condição inválida] | dados inválidos | ErrEspecifico | — |
208
+
209
+ #### Apresentação: [NomeHandler] (`arquivo_test.go`)
210
+
211
+ Mock: [interfaces mockadas]
212
+
213
+ | CT | Teste | CA | Objetivo | Input | Expected | Mock |
214
+ |----|-------|----|----------|-------|----------|------|
215
+ | CT-10 | TestHandler_Sucesso | CA-01 | Verificar que handler converte [modelo domínio] para [formato response] corretamente | request válido | response proto | service retorna sucesso |
216
+
217
+ ### 14.2 Testes de Integração
218
+
219
+ #### [CamadaA + CamadaB] (`arquivo_test.go`)
220
+
221
+ Setup: [banco in-memory, migrações, fixtures]
222
+
223
+ | CT | Teste | CA | Objetivo | Fluxo | Validação |
224
+ |----|-------|----|----------|-------|-----------|
225
+ | CT-20 | TestIntegracao_CRUD | CA-01 | Verificar que dados persistidos são recuperados integralmente via [camada] | Create → Get | dados consistentes |
226
+ | CT-22 | TestIntegracao_Unique | CA-02 | Verificar que constraint unique impede duplicação de [campo] | Insert duplicado | erro constraint |
227
+
228
+ ### 14.3 Testes End-to-End (E2E)
229
+
230
+ #### Fluxo: [Nome do Fluxo Crítico] (CT-30)
231
+ - **CA**: CA-01, CA-03, CA-06
232
+ - **Objetivo**: (1 frase descrevendo o que este fluxo E2E valida de ponta a ponta)
233
+ - **Pré-condições**: (estado inicial do sistema)
234
+ - **Passos**:
235
+ 1. Cliente envia request X
236
+ 2. Sistema processa e retorna Y
237
+ 3. Verificar estado do banco
238
+ - **Validações**: (assertions sobre dados e estado final)
239
+
240
+ ### 14.4 Cenários de Erro
241
+
242
+ | Cenário | CA | Objetivo | Trigger | Código/Status | Log Esperado |
243
+ |---------|----|----------|---------|---------------|-------------|
244
+ | Dados duplicados | CA-02 | Verificar que [constraint] impede [operação] e retorna erro adequado | Insert duplicado | [erro conflito] | "registro já existe..." |
245
+ | Recurso inexistente | CA-05 | Verificar que acesso a [recurso] inexistente retorna [código] sem expor dados internos | ID não encontrado | [erro not found] | "não encontrado..." |
246
+
247
+ ---
248
+
249
+ ## 15. Arquivos Envolvidos e Ações
250
+
251
+ ### 15.1 Arquivos a Criar
252
+
253
+ | Arquivo | Descrição | Camada |
254
+ |---------|-----------|--------|
255
+ | | | |
256
+
257
+ ### 15.2 Arquivos a Modificar
258
+
259
+ | Arquivo | Modificação | Motivo |
260
+ |---------|------------|--------|
261
+ | | | |
262
+
263
+ ### 15.3 Arquivos de Referência (somente leitura)
264
+
265
+ | Arquivo | Motivo da Consulta |
266
+ |---------|-------------------|
267
+ | | |
268
+
269
+ <!-- LLM-ONLY: Esta secao economiza tokens e scans durante a implementacao, pois lista exatamente quais arquivos serao impactados. -->
270
+
271
+ ---
272
+
273
+ ## 16. Checklist Final
274
+
275
+ - [ ] SPEC_TECH cobre todo o PRD
276
+ - [ ] Resumo técnico claro e objetivo (seção 2)
277
+ - [ ] Arquitetura definida com componentes e interações (seção 3)
278
+ - [ ] Estruturas de dados definidas (seção 4)
279
+ - [ ] User Stories mapeadas para definições técnicas (seção 5.1)
280
+ - [ ] Fluxos técnicos descritos com tratamento de erros (seção 6)
281
+ - [ ] Endpoints mapeados com payloads e respostas (seção 7)
282
+ - [ ] Telas e fluxos de frontend/mobile definidos (seção 8)
283
+ - [ ] Banco local/cache especificado se aplicável (seção 9)
284
+ - [ ] Dependências técnicas listadas (seção 10)
285
+ - [ ] Requisitos não funcionais endereçados (seção 11)
286
+ - [ ] Critérios técnicos de aceite definidos (seção 12)
287
+ - [ ] Riscos técnicos identificados com mitigações (seção 13)
288
+ - [ ] Estratégia de testes definida com rastreabilidade CA→testes no topo (seção 14)
289
+ - [ ] Arquivos envolvidos listados — criar, modificar, referência (seção 15)
290
+ - [ ] Pronto para geração das TASKS
@@ -0,0 +1,23 @@
1
+ # TECH DIRECTION (Opcional)
2
+
3
+ > Direcionamento técnico inicial para a feature. Serve como ponto de partida para o SPEC_TECH, não como decisão final.
4
+ > O Arquiteto (tech-spec-expert) pode complementar, ajustar ou questionar qualquer item aqui.
5
+
6
+ ## Decisões técnicas já tomadas
7
+ - (ex: Usar JWT com refresh token para autenticação)
8
+ - (ex: Criar gateway separado para integração externa)
9
+
10
+ ## Tecnologias/Libs sugeridas
11
+ - (ex: biblioteca X para integração com serviço Y)
12
+ - (ex: framework Z para testes)
13
+
14
+ ## Padrões ou abordagens preferidas
15
+ - (ex: Seguir o pattern Gateway já usado no projeto)
16
+ - (ex: Implementar como CQRS)
17
+
18
+ ## Restrições técnicas
19
+ - (ex: Precisa ser stateless para rodar em k8s)
20
+ - (ex: Não temos message broker disponível)
21
+
22
+ ## Observações
23
+ - (qualquer contexto técnico relevante que o arquiteto deve considerar)
@@ -38,17 +38,17 @@ O template completo esta em: [template.md](templates/template.md)
38
38
 
39
39
  ---
40
40
 
41
+ ## Perfil do Projeto (pre-carregado)
42
+
43
+ O `CLAUDE.md`, `.claude/rules/` e `project-profile.md` ja estao no contexto — NAO releia.
44
+ Use essas informacoes para adaptar a TaskCard ao perfil do projeto.
45
+ Se `project-profile.md` NAO existir, execute `/generate-project-profile` antes de prosseguir.
46
+
41
47
  ## PONTO CRITICO: Analise Obrigatoria do Projeto
42
48
 
43
49
  **ANTES de planejar ou escrever qualquer TaskCard**, voce DEVE:
44
50
 
45
- 1. **Ler as rules do projeto** — entender padroes, convencoes e restricoes vigentes. Procure em todos os locais conhecidos:
46
- - `.claude/rules/` (Claude Code)
47
- - `.cursor/rules/` (Cursor)
48
- - `.github/copilot-instructions.md` (GitHub Copilot)
49
- - `.gemini/` (Google Gemini)
50
- - `.antigravity/` (Antigravity)
51
- - `CLAUDE.md`, `.cursorrules`, ou arquivos equivalentes na raiz
51
+ 1. **Consultar regras e perfil do projeto** (ja no contexto) — padroes, convencoes e restricoes vigentes
52
52
  2. **Explorar o codebase** — buscar implementacoes existentes, padroes ja estabelecidos e codigo reutilizavel
53
53
  3. **Identificar o que ja existe** — funcoes, tipos, classes, interfaces e componentes existentes em cada camada do projeto que podem ser reaproveitados
54
54
  4. **Mapear dependencias reais** — verificar o que ja esta implementado e o que realmente precisa ser criado do zero
@@ -60,74 +60,15 @@ O template completo esta em: [template.md](templates/template.md)
60
60
 
61
61
  ---
62
62
 
63
- ## PASSO ZERO: Deteccao de Linguagem e Arquitetura
64
-
65
- **ANTES DE QUALQUER COISA**, voce DEVE identificar a stack tecnica do projeto:
66
-
67
- ### 1. Ler CLAUDE.md e rules do projeto
68
- - `CLAUDE.md` na raiz do projeto
69
- - `.claude/rules/` (todas as regras do Claude Code)
70
- - Qualquer arquivo de regras/convencoes existente
71
-
72
- ### 2. Detectar linguagem e framework
73
- A partir do CLAUDE.md, rules e exploracao do projeto, identifique:
74
-
75
- | O que detectar | Como descobrir | Exemplo |
76
- |---------------|----------------|---------|
77
- | **Linguagem** | `go.mod`, `package.json`, `pubspec.yaml`, `requirements.txt`, `Cargo.toml` | Go, TypeScript, Dart, Python, Rust |
78
- | **Framework** | Imports, estrutura de pastas, CLAUDE.md | gRPC, Express, FastAPI, Gin, Flutter, React |
79
- | **Banco de dados** | Migracoes, config, ORM | SQLite, PostgreSQL, MongoDB |
80
- | **ORM / Query builder** | Imports, arquivos gerados | SQLC, GORM, Prisma, TypeORM, Drift |
81
- | **Framework de teste** | Arquivos de teste, dependencias | testify, jest, pytest, flutter_test |
82
- | **Padrao de mock** | Imports, arquivos mock | gomock, mockito, jest.mock, mocktail |
83
- | **Arquitetura** | Estrutura de pastas, CLAUDE.md | Clean Arch, MVC, Hexagonal, BLoC, Layered |
84
-
85
- ### 3. Construir o Perfil do Projeto
86
-
87
- Com base na deteccao, monte mentalmente (e aplique) o perfil:
88
-
89
- ```
90
- Perfil do Projeto:
91
- - Linguagem: [detectada]
92
- - Framework: [detectado]
93
- - Arquitetura: [detectada] (camadas: [lista])
94
- - Framework de teste: [detectado]
95
- - Padrao de mock: [detectado]
96
- - Extensao de teste: [detectada] (ex: _test.go, .test.ts, _test.dart)
97
- - Padrao de arquivos de teste: [detectado] (ex: mesmo dir, pasta __tests__, pasta test/)
98
- ```
99
-
100
- > **Toda a TaskCard DEVE ser adaptada ao perfil detectado.**
101
- > NAO assuma Go, gRPC, testify ou qualquer stack especifica sem antes confirmar.
102
-
103
- ---
104
-
105
- ## PONTO CRITICO: Analise Obrigatoria de Testes
106
-
107
- > **Nota**: Para uma analise aprofundada de testes com rigor de QA Senior, use o **taskcard-qa-expert** via `/taskcard:generate-tests`. Ele gera a secao 10 completa (10.1 a 10.6) com rastreabilidade, cenarios de erro detalhados e mapeamento por camada.
108
-
109
- **ANTES de preencher a secao 10 (Testes) de qualquer TaskCard**, voce DEVE:
110
-
111
- 1. **Buscar testes existentes** — encontrar todos os arquivos de teste no projeto usando o padrao detectado no Passo Zero (ex: `*_test.go`, `*.test.ts`, `*_test.dart`, `test_*.py`, etc.) relacionados as camadas impactadas pela task
112
- 2. **Ler os testes encontrados** — entender quais cenarios ja estao cobertos, quais mocks existem, e como os testes estao estruturados
113
- 3. **Identificar testes a modificar** — se a task altera interfaces, assinaturas de funcoes, modelos de dominio ou comportamento de negocio, os testes existentes dessas camadas precisam ser atualizados
114
- 4. **Identificar testes a criar** — se a task cria novos endpoints, services, repositories, componentes ou funcoes de negocio, testes correspondentes DEVEM ser criados
115
- 5. **Mapear padroes de teste do projeto** — identificar framework de teste, convencao de nomes, padroes de mock, fixtures e helpers reutilizaveis a partir do Passo Zero
116
-
117
- ### Regras para a secao 10
63
+ ## Secao 10 (Testes): Delegacao ao qa-staff-engineer
118
64
 
119
- | Situacao | Acao obrigatoria |
120
- |----------|-----------------|
121
- | Task cria componente de **apresentacao** (handler, controller, widget, page) | Criar testes de validacao de entrada, mapeamento de dados e codigos de resposta. Mock da camada de negocio |
122
- | Task cria componente de **negocio** (service, use case, cubit, bloc) | Criar testes unitarios com mocks da camada de dados, cobrindo regras de negocio e erros de dominio |
123
- | Task cria componente de **dados** (repository, DAO, data source) | Criar testes de integracao cobrindo CRUD, queries e casos de borda |
124
- | Task modifica **interface/contrato** existente | Atualizar mocks e testes de todas as camadas que dependem do contrato |
125
- | Task adiciona **campo em modelo/entidade** | Atualizar fixtures, factory functions e assertions nos testes existentes |
126
- | Task altera **regra de negocio** | Atualizar cenarios de teste na camada de negocio e adicionar novos cenarios |
127
- | Task cria **migracao/schema** de banco | Testar migracao up e down, verificar schema resultante |
65
+ A secao 10 (Testes) NAO e preenchida pelo gerador da TaskCard. Ela e delegada ao agente `qa-staff-engineer` (modo GERAR_TESTES) que:
66
+ - Analisa o codebase, testes existentes e padroes do projeto
67
+ - Mapeia criterios de aceite (secao 9) para testes
68
+ - Preenche as subsecoes 10.1 a 10.6 diretamente no arquivo da TaskCard
128
69
 
129
- > **Nunca gere uma TaskCard sem a secao 10 preenchida.**
130
- > Se nao ha testes a modificar nem a criar (raro), justifique explicitamente em 10.1/10.2.
70
+ > **Nunca gere uma TaskCard sem disparar o qa-staff-engineer para preencher a secao 10.**
71
+ > Salve o arquivo com secoes 1-9 e 11 primeiro, depois delegue a secao 10 ao agente.
131
72
 
132
73
  ---
133
74
 
@@ -139,7 +80,7 @@ Perfil do Projeto:
139
80
  2. **Sem vagueza** — proibido termos como "ajustar conforme necessario", "melhorar se possivel"
140
81
  3. **Sem invencao** — se faltar informacao, pergunte ao usuario
141
82
  4. **Escopo fechado** — toda TaskCard deve ser executavel sem novas decisoes
142
- 5. **Template completo** — todas as 11 secoes devem ser preenchidas
83
+ 5. **Template completo** — secoes 1-9 e 11 preenchidas pelo gerador; secao 10 (Testes) delegada ao agente `qa-staff-engineer`
143
84
  6. **Processo interativo** — faca uma pergunta por vez para preencher lacunas
144
85
  7. **Gerar sem pedir aprovacao** — NUNCA peca aprovacao para gerar os arquivos. Gere os arquivos da TaskCard imediatamente e apresente apenas um resumo curto do que foi criado (IDs, nomes, arquivos gerados)
145
86
 
@@ -234,12 +175,14 @@ docs/
234
175
  ```
235
176
  Contexto do usuario
236
177
  -> Identificar lacunas (perguntar 1 a 1)
237
- -> Analisar testes existentes no projeto (buscar arquivos de teste usando o padrao detectado no Passo Zero nas camadas impactadas)
238
- -> Preencher template (todas as 11 secoes, incluindo secao 10 de Testes)
178
+ -> Preencher template (secoes 1-9 e 11)
179
+ -> Remover todos os comentarios <!-- LLM-ONLY: ... --> do conteudo antes de salvar
239
180
  -> Salvar em docs/<feature>/vN/ (GERAR ARQUIVOS IMEDIATAMENTE, SEM PEDIR APROVACAO)
181
+ -> Delegar secao 10 (Testes) ao agente qa-staff-engineer (modo GERAR_TESTES)
182
+ O agente analisa o codebase, testes existentes e criterios de aceite (secao 9)
183
+ e preenche as subsecoes 10.1 a 10.6 diretamente no arquivo da TaskCard
240
184
  -> Se multiplas: gerar task-plan.md
241
185
  -> Apresentar resumo curto do que foi criado (arquivos gerados, IDs, nomes)
242
- -> (Opcional) Usar /taskcard:generate-tests para enriquecer a secao 10 com rigor de QA Senior
243
186
  ```
244
187
 
245
188
  ### Executar TaskCard
@@ -252,7 +195,12 @@ Ler TaskCard completa
252
195
  -> Validar guardrails (secao 6) a cada passo
253
196
  -> Rodar testes (make test) e garantir que passam
254
197
  -> Validar aceite tecnico (secao 9)
255
- -> Produzir relatorio final
198
+ -> Gate 1: qa-staff-engineer (VALIDAR_IMPLEMENTACAO)
199
+ APROVADO → Gate 2 | REJEITADO → loop correcao
200
+ -> Gate 2: tech-review-conformance
201
+ approved → concluido | rejected → loop → volta Gate 1
202
+ -> Loop correcao (max 3 tentativas → Blocked + escalar)
203
+ -> Produzir relatorio final com vereditos QA + Tech Review
256
204
  ```
257
205
 
258
206
  ### Relatorio de Execucao (formato padrao)
@@ -126,8 +126,6 @@ Mapeamento entre criterios de aceite (secao 9) e testes que os validam:
126
126
  |---|------------------------------|---------------------------|------|
127
127
  | 1 | [criterio] | [TestNome] | [Unitario/Integracao/E2E] |
128
128
 
129
- > Para analise aprofundada com rigor de QA Senior, use `/taskcard:generate-tests`.
130
-
131
129
  ---
132
130
 
133
131
  ## 11. Notas / Observacoes