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.
- package/bin/index.js +8 -8
- package/frameworks/agents/qa-staff-engineer.md +311 -311
- package/frameworks/agents/qa-validation-expert.md +458 -458
- package/frameworks/agents/tech-review-conformance.md +200 -200
- package/frameworks/commands/ministack/README.md +2 -0
- package/frameworks/commands/ministack/code-review.md +2 -0
- package/frameworks/commands/ministack/generate-intent.md +2 -0
- package/frameworks/commands/ministack/generate-scope.md +2 -0
- package/frameworks/commands/ministack/generate-tasks.md +2 -0
- package/frameworks/commands/ministack/generate-tech-direction.md +2 -0
- package/frameworks/commands/ministack/run-ministack-tasks.md +3 -0
- package/frameworks/commands/ministack/run-ministack-withlinear.md +2 -0
- package/frameworks/commands/ministack/status.md +2 -0
- package/frameworks/commands/sdd/code-review.md +2 -0
- package/frameworks/commands/sdd/generate-prd.md +2 -0
- package/frameworks/commands/sdd/generate-task-plan.md +2 -0
- package/frameworks/commands/sdd/generate-tech-direction.md +2 -0
- package/frameworks/commands/sdd/generate-tech-spec.md +2 -0
- package/frameworks/commands/sdd/generate-tests.md +2 -0
- package/frameworks/commands/sdd/run_tasks.md +3 -0
- package/frameworks/commands/sdd/run_tasks_withlinear.md +2 -0
- package/frameworks/commands/sdd/status.md +2 -0
- package/frameworks/commands/sdd/validate-sdd.md +2 -0
- package/frameworks/commands/sync-tasks-to-linear.md +2 -0
- package/frameworks/commands/taskcard/generate-taskcard.md +2 -0
- package/frameworks/commands/taskcard/run-taskcard.md +2 -0
- package/frameworks/config/ai-framework-config.yaml +112 -0
- package/frameworks/skills/ministack-intent-expert/SKILL.md +2 -0
- package/frameworks/skills/ministack-scope-expert/SKILL.md +4 -0
- package/frameworks/skills/sdd-prd-expert/SKILL.md +2 -0
- package/frameworks/skills/sdd-task-plan-expert/SKILL.md +2 -0
- package/frameworks/skills/taskcard-expert/SKILL.md +4 -0
- package/package.json +28 -28
- package/src/cli.js +121 -121
- package/src/installer.js +155 -136
- package/src/transformer.js +86 -86
- package/frameworks/skills/ministack-tasks-expert/SKILL.md +0 -204
- package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +0 -78
- package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +0 -103
- package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +0 -230
- package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +0 -1
- package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +0 -17
- package/frameworks/skills/prompt-engineer-expert/SKILL.md +0 -232
- package/frameworks/skills/prompt-engineer-expert/templates/prompt_template.md +0 -139
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +0 -99
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +0 -64
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +0 -12
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +0 -134
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +0 -68
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +0 -5
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +0 -525
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +0 -30
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +0 -5
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +0 -12
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +0 -1126
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -131
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +0 -5
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +0 -452
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -78
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +0 -5
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +0 -12
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -101
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -133
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +0 -5
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -248
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -49
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +0 -5
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +0 -1325
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +0 -94
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +0 -67
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +0 -12
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +0 -117
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +0 -91
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +0 -1
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +0 -694
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +0 -45
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +0 -1
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +0 -12
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +0 -1087
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +0 -124
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +0 -1
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +0 -458
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +0 -84
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +0 -1
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +0 -12
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +0 -70
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +0 -148
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +0 -1
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +0 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +0 -249
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +0 -80
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +0 -1
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +0 -1325
- package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +0 -235
- package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +0 -1
- package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +0 -23
- package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +0 -317
- package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +0 -199
- package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +0 -290
- 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 +0,0 @@
|
|
|
1
|
-
[]
|
package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md
DELETED
|
@@ -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
|