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