adi_dev_workflow 1.1.0 → 1.2.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 (111) hide show
  1. package/bin/index.js +8 -8
  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-prompt.md +33 -100
  6. package/frameworks/commands/ministack/README.md +2 -0
  7. package/frameworks/commands/ministack/code-review.md +2 -0
  8. package/frameworks/commands/ministack/generate-intent.md +2 -0
  9. package/frameworks/commands/ministack/generate-scope.md +2 -0
  10. package/frameworks/commands/ministack/generate-tasks.md +2 -0
  11. package/frameworks/commands/ministack/generate-tech-direction.md +2 -0
  12. package/frameworks/commands/ministack/run-ministack-tasks.md +3 -0
  13. package/frameworks/commands/ministack/run-ministack-withlinear.md +2 -0
  14. package/frameworks/commands/ministack/status.md +2 -0
  15. package/frameworks/commands/sdd/code-review.md +2 -0
  16. package/frameworks/commands/sdd/generate-prd.md +2 -0
  17. package/frameworks/commands/sdd/generate-task-plan.md +2 -0
  18. package/frameworks/commands/sdd/generate-tech-direction.md +2 -0
  19. package/frameworks/commands/sdd/generate-tech-spec.md +2 -0
  20. package/frameworks/commands/sdd/generate-tests.md +2 -0
  21. package/frameworks/commands/sdd/run_tasks.md +3 -0
  22. package/frameworks/commands/sdd/run_tasks_withlinear.md +2 -0
  23. package/frameworks/commands/sdd/status.md +2 -0
  24. package/frameworks/commands/sdd/validate-sdd.md +2 -0
  25. package/frameworks/commands/sync-tasks-to-linear.md +2 -0
  26. package/frameworks/commands/taskcard/generate-taskcard.md +106 -33
  27. package/frameworks/commands/taskcard/run-taskcard.md +2 -0
  28. package/frameworks/config/ai-framework-config.yaml +112 -0
  29. package/frameworks/skills/ministack-intent-expert/SKILL.md +15 -1
  30. package/frameworks/skills/ministack-scope-expert/SKILL.md +17 -1
  31. package/frameworks/skills/sdd-prd-expert/SKILL.md +14 -0
  32. package/frameworks/skills/sdd-task-plan-expert/SKILL.md +14 -0
  33. package/frameworks/skills/taskcard-expert/SKILL.md +30 -11
  34. package/frameworks/templates/prompt_template.md +207 -0
  35. package/package.json +28 -28
  36. package/src/cli.js +121 -121
  37. package/src/installer.js +155 -136
  38. package/src/transformer.js +86 -86
  39. package/frameworks/skills/ministack-tasks-expert/SKILL.md +0 -192
  40. package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +0 -78
  41. package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +0 -103
  42. package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +0 -218
  43. package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +0 -1
  44. package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +0 -17
  45. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +0 -99
  46. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +0 -64
  47. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +0 -12
  48. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +0 -32
  49. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +0 -134
  50. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +0 -68
  51. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +0 -5
  52. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +0 -32
  53. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +0 -525
  54. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +0 -30
  55. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +0 -5
  56. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +0 -12
  57. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +0 -32
  58. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +0 -1126
  59. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -131
  60. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +0 -5
  61. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +0 -32
  62. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +0 -452
  63. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -78
  64. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +0 -5
  65. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +0 -12
  66. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +0 -32
  67. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -101
  68. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -133
  69. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +0 -5
  70. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +0 -32
  71. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -248
  72. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -49
  73. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +0 -5
  74. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +0 -1325
  75. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +0 -94
  76. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +0 -67
  77. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +0 -12
  78. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +0 -32
  79. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +0 -117
  80. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +0 -91
  81. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +0 -1
  82. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +0 -32
  83. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +0 -694
  84. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +0 -45
  85. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +0 -1
  86. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +0 -12
  87. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +0 -32
  88. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +0 -1087
  89. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -124
  90. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +0 -1
  91. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +0 -32
  92. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +0 -458
  93. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -84
  94. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +0 -1
  95. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +0 -12
  96. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +0 -32
  97. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -70
  98. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -148
  99. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +0 -1
  100. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +0 -32
  101. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -249
  102. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -80
  103. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +0 -1
  104. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +0 -1325
  105. package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +0 -223
  106. package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +0 -1
  107. package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +0 -23
  108. package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +0 -304
  109. package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +0 -199
  110. package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +0 -290
  111. package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +0 -23
@@ -1,78 +0,0 @@
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
@@ -1,103 +0,0 @@
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
@@ -1,218 +0,0 @@
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 opcoes baseadas no codebase.
20
-
21
- ---
22
-
23
- # Framework miniStack — Etapa Tech Direction
24
-
25
- ## Visao Geral
26
-
27
- 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.
28
-
29
- ### Fluxo do Framework miniStack
30
-
31
- ```
32
- Descricao da Feature
33
- |
34
- INTENT (O QUE / POR QUE)
35
- | (INTENT aprovada)
36
- TECH DIRECTION (DECISOES) <-- voce esta aqui
37
- | (Tech Direction aprovado)
38
- SCOPE (COMO)
39
- | (SCOPE aprovado)
40
- TASKS (EXECUCAO)
41
- | (Tasks aprovadas)
42
- Implementacao
43
- |
44
- Feature Entregue
45
- ```
46
-
47
- ---
48
-
49
- ## Conceitos Fundamentais
50
-
51
- | Conceito | Descricao |
52
- |---|---|
53
- | **Tech Direction** | Decisoes tecnicas pre-definidas pelo usuario que guiam o SCOPE. Nao e uma especificacao — e um direcionamento |
54
- | **INTENT** | O QUE e POR QUE — entrada obrigatoria para o Tech Direction |
55
- | **SCOPE** | COMO sera feito — consome o Tech Direction como ponto de partida |
56
- | **Project Profile** | Perfil tecnico do projeto — pre-requisito obrigatorio para contextualizar perguntas |
57
-
58
- ---
59
-
60
- ## Pre-requisito: Project Profile
61
-
62
- **ANTES de qualquer acao**, voce DEVE verificar se `.claude/rules/project-profile.md` existe.
63
-
64
- ### Se NAO existir
65
-
66
- Interrompa imediatamente e informe o usuario:
67
-
68
- > "Para gerar o tech_direction com contexto adequado, preciso do perfil do projeto. Execute `/generate-project-profile` primeiro e depois re-execute este comando."
69
-
70
- **NAO prossiga sem o project-profile.** Ele contem informacoes criticas sobre stack, padroes de teste, camadas e convencoes que contextualizam as perguntas.
71
-
72
- ### Se existir
73
-
74
- Leia o arquivo e use as informacoes para:
75
- - Entender a stack tecnologica do projeto (linguagem, frameworks, banco, libs)
76
- - Identificar padroes de teste e convencoes existentes
77
- - Mapear camadas da arquitetura
78
- - Contextualizar as perguntas com dados reais do projeto
79
-
80
- ---
81
-
82
- ## Suas Responsabilidades
83
-
84
- 1. Verificar pre-requisito: `project-profile.md` existe
85
- 2. Ler a INTENT aprovada recebida como argumento
86
- 3. Ler o `project-profile.md` para entender stack e padroes
87
- 4. Usar `CLAUDE.md` e `.claude/rules/` (ja no contexto) como complemento
88
- 5. Pesquisar o codebase quando necessario (codigo especifico da feature)
89
- 6. Guiar o usuario por **4 perguntas contextualizadas** (UMA POR VEZ)
90
- 7. Gerar e salvar o `tech_direction.md` preenchido
91
- 8. **NUNCA** deduzir ou inventar decisoes tecnicas — apenas registrar o que o usuario decidiu
92
- 9. Usar `AskUserQuestion` no Claude Code para interagir com o usuario
93
-
94
- ---
95
-
96
- ## Processo Interativo (UMA PERGUNTA POR VEZ)
97
-
98
- ### Passo 0: Leitura e Pesquisa (automatico)
99
-
100
- Antes de fazer qualquer pergunta:
101
-
102
- 1. **Verificar project-profile.md** — se nao existir, interromper (ver secao Pre-requisito)
103
- 2. **Ler a INTENT aprovada** no caminho fornecido
104
- 3. **Ler o project-profile.md** para entender stack, padroes, camadas, libs
105
- 4. **Pesquisa complementar** no codebase se necessario
106
- 5. **Apresentar resumo** ao usuario:
107
-
108
- > "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."
109
-
110
- ### Sequencia de Perguntas
111
-
112
- Faca **apenas uma pergunta por vez** e aguarde a resposta completa antes de avancar:
113
-
114
- #### 1. Decisoes tecnicas ja tomadas
115
- Baseado no escopo da INTENT, pergunte sobre decisoes firmes:
116
- > "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."
117
-
118
- Se o usuario nao souber, oferecer opcoes baseadas no project-profile:
119
- > "O projeto usa [stack identificada]. Sugestoes: [opcao A], [opcao B], [opcao C]. Ou prefere outra abordagem?"
120
-
121
- #### 2. Tecnologias/Libs sugeridas
122
- Baseado nas libs do project-profile, pergunte sobre preferencias:
123
- > "O projeto ja usa [libs identificadas no project-profile]. Quer manter essas tecnologias para esta feature ou tem preferencia por outras?"
124
-
125
- #### 3. Padroes ou abordagens preferidas
126
- Baseado nos padroes do project-profile, pergunte sobre abordagens:
127
- > "O projeto segue [padroes identificados: ex. Clean Architecture, Repository pattern]. Quer seguir os mesmos padroes para esta feature ou tem preferencia diferente?"
128
-
129
- #### 4. Observacoes
130
- Pergunta aberta para contexto adicional:
131
- > "Algum contexto tecnico adicional que o arquiteto deveria considerar ao definir o SCOPE? Ex: integracoes externas, decisoes historicas, restricoes de equipe ou infra."
132
-
133
- ### Regras do Processo Interativo
134
-
135
- - Faca **apenas uma pergunta por vez**
136
- - Aguarde a resposta completa antes de avancar
137
- - Se o usuario responder "nao", "nenhum" ou "nada", registre: "Sem direcionamento especifico — a criterio do arquiteto"
138
- - Se o usuario nao souber, ofereca **2-4 opcoes** baseadas no project-profile e codebase
139
- - Se o usuario fornecer informacoes extras, reutilize para secoes futuras
140
- - Se algo nao ficou claro, **PERGUNTE** — nunca deduza
141
- - **NUNCA invente decisoes** — registre apenas o que o usuario decidiu
142
-
143
- ---
144
-
145
- ## Template
146
-
147
- Use o template oficial em: [tech_direction-template.md](templates/tech_direction-template.md)
148
-
149
- O template contem 4 secoes que correspondem as 4 perguntas. Preencha cada secao com as respostas do usuario.
150
-
151
- ---
152
-
153
- ## Guardrails Inviolaveis
154
-
155
- Estas regras sao **absolutas** e nao podem ser violadas em nenhuma circunstancia:
156
-
157
- 1. **Project Profile obrigatorio** — se `.claude/rules/project-profile.md` nao existir, interromper e pedir geracao via `/generate-project-profile`
158
- 2. **UMA pergunta por vez** — nunca bombardeie o usuario com multiplas perguntas
159
- 3. **NUNCA avance sem resposta** — cada pergunta deve ser respondida antes de prosseguir
160
- 4. **NUNCA invente decisoes** — se faltar dado, PERGUNTE ao usuario
161
- 5. **NUNCA deduza decisoes tecnicas** — registre apenas o que o usuario decidiu explicitamente
162
- 6. **SEMPRE salvar arquivo fisico ANTES de apresentar ao usuario** — o arquivo deve existir no disco antes de pedir aprovacao
163
- 7. **NUNCA inicie automaticamente a proxima etapa (SCOPE)** — apenas encerre e aguarde
164
- 8. **NUNCA sugira proximos passos do framework** — apenas encerre
165
- 9. **Template COMPLETO** — todas as 4 secoes devem ser preenchidas (mesmo que com "Sem direcionamento especifico")
166
- 10. **AskUserQuestion** — no Claude Code, use esta ferramenta para interagir com o usuario
167
- 11. **Remover comentarios `<!-- LLM-ONLY: ... -->`** do conteudo antes de salvar
168
-
169
- ---
170
-
171
- ## Versionamento
172
-
173
- O Tech Direction e salvo **na mesma pasta** da INTENT aprovada. O versionamento ja foi definido pela INTENT:
174
-
175
- - Se a INTENT esta em `docs/feature-x/v1/intent.md`, o tech_direction vai em `docs/feature-x/v1/tech_direction.md`
176
- - **NAO crie nova versao** — use a mesma pasta da INTENT fornecida como argumento
177
-
178
- ---
179
-
180
- ## Salvar Arquivo (OBRIGATORIO)
181
-
182
- **ANTES de apresentar o Tech Direction ao usuario**, voce DEVE:
183
-
184
- 1. **Identificar o diretorio** da INTENT fornecida (ex: `docs/feature-x/v1/`)
185
- 2. **Remover todos os comentarios `<!-- LLM-ONLY: ... -->`** do conteudo antes de salvar
186
- 3. **Salvar o arquivo fisico** em: `docs/[nome-feature]/vN/tech_direction.md` (mesmo diretorio da INTENT)
187
- 4. **Confirmar** que o arquivo foi criado com sucesso
188
-
189
- ---
190
-
191
- ## Saida Esperada
192
-
193
- Apos salvar o arquivo fisico, apresente **apenas um resumo compacto**. NAO exiba o tech_direction completo no terminal.
194
-
195
- ```
196
- Arquivo salvo em: docs/[nome-feature]/vN/tech_direction.md
197
-
198
- ## Resumo do Tech Direction
199
- - **Decisoes:** [lista curta]
200
- - **Tecnologias:** [lista curta]
201
- - **Padroes:** [lista curta]
202
- - **Observacoes:** [resumo]
203
-
204
- Esse direcionamento tecnico esta correto? (sim/nao)
205
- ```
206
-
207
- **IMPORTANTE:**
208
- - NAO exiba o tech_direction completo no terminal — apenas o resumo acima
209
- - NAO inicie `/ministack:generate-scope` automaticamente
210
- - NAO sugira executar o proximo comando
211
- - NAO sugira proximos passos do framework
212
- - Apenas aguarde a confirmacao do usuario e encerre
213
-
214
- ---
215
-
216
- ## Entrada
217
-
218
- $ARGUMENTS
@@ -1,17 +0,0 @@
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)
@@ -1,99 +0,0 @@
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
- }
@@ -1,64 +0,0 @@
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.
@@ -1,12 +0,0 @@
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
- }
@@ -1,32 +0,0 @@
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
- }