Avilla Driven Development
Fluxo completo de desenvolvimento orientado a documentação com seis fases sequenciais:
PRD → Tech Spec → Tasks → Executar Task → Revisar Task → QA
Cada fase possui um command dedicado que ativa este skill automaticamente. Execute as fases em ordem; cada uma depende da anterior.
Fase 1: Criar PRD
Pré-condição: Solicitação de funcionalidade recebida do usuário.
Passo 1 — Esclarecer (obrigatório)
Use a ferramenta Ask User Question para levantar:
- Qual problema será resolvido e qual o objetivo mensurável
- Quem são os usuários principais e suas histórias
- O que está fora de escopo
- Restrições conhecidas (performance, conformidade, integrações)
Não avance para o Passo 2 sem respostas completas.
Passo 2 — Planejar
- Esboce a abordagem seção por seção antes de redigir.
- Execute Web Search para buscar regras de negócio relevantes ao domínio.
- Liste premissas e dependências identificadas.
Passo 3 — Redigir o PRD
- Leia
assets/prd-template.mde use-o como estrutura exata — não desvie do template. - Foque no O QUÊ e POR QUÊ, nunca no COMO.
- Inclua requisitos funcionais numerados.
- Mantenha o documento em no máximo 2.000 palavras.
Passo 4 — Salvar
- Crie o diretório:
./tasks/prd-[nome-funcionalidade]/(kebab-case). - Salve em:
./tasks/prd-[nome-funcionalidade]/prd.md. - Confirme o caminho ao usuário com um resumo breve.
Restrições críticas da Fase 1:
- Nunca gere o PRD sem antes executar o Passo 1 com o Ask User Question tool.
- Nunca inclua detalhes de implementação no PRD.
- Nunca desvie do template em
assets/prd-template.md.
Fase 2: Criar Tech Spec
Pré-condição: ./tasks/prd-[nome-funcionalidade]/prd.md deve existir.
Passo 1 — Ler o PRD
Leia o arquivo ./tasks/prd-[nome-funcionalidade]/prd.md por completo. Não pule esta etapa.
Passo 2 — Analisar o projeto
- Descubra arquivos, módulos e pontos de integração relevantes ao escopo.
- Mapeie dependências, configurações e padrões existentes.
- Use o MCP Context7 para documentação técnica de bibliotecas.
- Execute pelo menos 3 buscas com Web Search para regras de negócio e referências externas.
Passo 3 — Esclarecer (obrigatório)
Use o Ask User Question tool para perguntas técnicas sobre:
- Posicionamento de domínio e limites de módulo
- Fluxo de dados, contratos e transformações
- Dependências externas e modos de falha
- Cenários de teste críticos
- Reusar vs construir (bibliotecas existentes têm preferência)
Passo 4 — Redigir a Tech Spec
- Leia
assets/techspec-template.mde use-o como estrutura exata — não desvie do template. - Foque no COMO, não no O QUÊ (o PRD já define o quê).
- Prefira arquitetura simples e evolutiva com interfaces claras.
- Mantenha até ~2.000 palavras; evite repetir requisitos funcionais do PRD.
- Evite mostrar código extenso; prefira interfaces e contratos.
Passo 5 — Salvar
- Salve em:
./tasks/prd-[nome-funcionalidade]/techspec.md. - Confirme o caminho ao usuário.
Restrições críticas da Fase 2:
- Nunca gere a Tech Spec sem antes executar os Passos 1, 2 e 3.
- Nunca desvie do template em
assets/techspec-template.md.
Fase 3: Criar Tasks
Pré-condição: ./tasks/prd-[nome-funcionalidade]/prd.md e ./tasks/prd-[nome-funcionalidade]/techspec.md devem existir.
Passo 1 — Analisar PRD e Tech Spec
- Leia
./tasks/prd-[nome-funcionalidade]/prd.md. - Leia
./tasks/prd-[nome-funcionalidade]/techspec.md. - Extraia requisitos, decisões técnicas e componentes principais.
Passo 2 — Propor estrutura high-level (obrigatório)
- Liste as tarefas principais (máximo 15) com título e objetivo.
- Exiba a lista ao usuário e aguarde aprovação antes de gerar qualquer arquivo.
Passo 3 — Gerar lista de tarefas
- Leia
assets/tasks-template.mdcomo estrutura exata. - Salve em:
./tasks/prd-[nome-funcionalidade]/tasks.md.
Passo 4 — Gerar tarefas individuais
Para cada tarefa aprovada:
- Leia
assets/task-template.mdcomo estrutura exata. - Detalhe subtarefas, critérios de sucesso e testes (unidade, integração, E2E).
- Referencie a techspec em vez de repetir detalhes de implementação.
- Salve em:
./tasks/prd-[nome-funcionalidade]/[num]_task.md.
Passo 5 — Confirmar
Apresente os caminhos dos arquivos gerados e aguarde confirmação para prosseguir com implementação.
Diretrizes de tarefas:
- Cada tarefa deve ser um entregável funcional e independentemente completável.
- Toda tarefa deve ter testes (unidade + integração no mínimo).
- Ordenar por dependência: backend antes do frontend; ambos antes dos testes E2E.
- Usar formato X.0 para tarefas principais e X.Y para subtarefas.
- Escrever para leitores júniors — seja explícito e claro.
Restrições críticas da Fase 3:
- Nunca gere arquivos sem aprovação da lista high-level.
- Nunca implemente código nesta fase.
Fase 4: Executar Task
Pré-condição: O arquivo da task ./tasks/prd-[nome-funcionalidade]/[num]_task.md deve existir.
Passo 1 — Identificar a task
- Se o usuário não especificou qual task, leia
./tasks/prd-[nome-funcionalidade]/tasks.mde liste as tasks pendentes (marcadas com- [ ]). - Use o Ask User Question tool para confirmar qual task será executada.
Passo 2 — Carregar contexto completo
Leia obrigatoriamente, nesta ordem:
./tasks/prd-[nome-funcionalidade]/prd.md./tasks/prd-[nome-funcionalidade]/techspec.md./tasks/prd-[nome-funcionalidade]/[num]_task.md
Não inicie a implementação sem ter lido os três arquivos.
Passo 3 — Perguntar sobre execução automática de Review + QA
Antes de implementar, use o Ask User Question tool para perguntar:
"Deseja que, após a implementação, eu execute automaticamente a Revisão (Fase 5) e o QA (Fase 6) como subagentes em sequência, sem interrupção?"
- Se sim: após o Passo 5, execute a Fase 5 e depois a Fase 6 automaticamente em sequência.
- Se não: finalize a Fase 4 e aguarde o próximo command do usuário.
Passo 4 — Implementar
- Siga estritamente as subtarefas e critérios de sucesso definidos no arquivo da task.
- Implemente de forma incremental — complete cada subtarefa antes de avançar.
- Não implemente nada além do escopo da task atual.
- Referencie a techspec para decisões de arquitetura; não reinterprete os requisitos.
Passo 5 — Executar testes da task
- Execute os testes listados na seção "Testes da Tarefa" do arquivo da task.
- Todos os testes devem passar antes de considerar a implementação concluída.
- Se algum teste falhar, corrija a implementação e reexecute antes de avançar.
Passo 6 — Reportar
Apresente ao usuário:
- Resumo do que foi implementado por subtarefa
- Status de todos os testes executados
- Arquivos criados ou modificados
Se a execução automática foi solicitada, prossiga diretamente para a Fase 5.
Restrições críticas da Fase 4:
- Nunca implemente sem ter lido o prd.md, techspec.md e o arquivo da task.
- Nunca implemente além do escopo da task definida.
- Nunca avance para a próxima fase sem que todos os testes da task passem.
Fase 5: Revisar Task
Pré-condição: A Fase 4 deve ter sido concluída para a task em questão.
Passo 1 — Carregar contexto
Leia obrigatoriamente:
./tasks/prd-[nome-funcionalidade]/prd.md./tasks/prd-[nome-funcionalidade]/techspec.md./tasks/prd-[nome-funcionalidade]/[num]_task.md- Todos os arquivos implementados ou modificados durante a Fase 4.
Passo 2 — Revisar conformidade com a task
Verifique cada item da seção "Critérios de Sucesso" do arquivo da task:
- A implementação cobre todos os critérios? Marque cada um como ✅ ou ❌.
- As subtarefas foram completadas integralmente?
- Há código ou lógica fora do escopo da task?
Passo 3 — Revisar conformidade com a Tech Spec
Verifique:
- As interfaces e contratos definidos na techspec foram respeitados?
- Os padrões arquiteturais foram seguidos?
- Há desvios justificados? Registre-os explicitamente.
Passo 4 — Revisar conformidade com o PRD
Verifique:
- Os requisitos funcionais numerados no PRD foram atendidos pela task?
- Há impacto em requisitos de outras tasks? Se sim, sinalize.
Passo 5 — Emitir relatório de revisão
Produza um relatório estruturado com:
## Relatório de Revisão — Task [num]: [título]
### Critérios de Sucesso
- ✅/❌ [critério 1]
- ✅/❌ [critério 2]
### Conformidade com Tech Spec
[observações]
### Conformidade com PRD
[observações]
### Problemas Encontrados
[lista de problemas ou "Nenhum"]
### Recomendação
[ ] Aprovado para QA
[ ] Requer correções antes do QA
Passo 6 — Decisão
- Se aprovado: prossiga para a Fase 6 (automaticamente se solicitado, ou aguarde command).
- Se requer correções: liste os pontos a corrigir, interrompa e retorne para Fase 4.
Restrições críticas da Fase 5:
- Nunca aprove uma revisão com critérios de sucesso não atendidos.
- Nunca pule a leitura dos três documentos de contexto.
Fase 6: QA Executar
Pré-condição: A Fase 5 deve ter emitido "Aprovado para QA".
Passo 1 — Carregar contexto de testes
Leia:
./tasks/prd-[nome-funcionalidade]/[num]_task.md— seção "Testes da Tarefa"./tasks/prd-[nome-funcionalidade]/techspec.md— seção "Abordagem de Testes"- Arquivos de teste existentes relacionados à implementação.
Passo 2 — Executar testes de unidade
- Execute todos os testes de unidade listados na task e na techspec.
- Registre: nome do teste, status (PASS/FAIL), mensagem de erro se falhou.
Passo 3 — Executar testes de integração
- Execute todos os testes de integração definidos.
- Registre resultados no mesmo formato.
Passo 4 — Executar testes E2E (se aplicável)
- Se a task define testes E2E, execute-os (preferencialmente com Playwright).
- Se não há testes E2E definidos, registre "N/A" e continue.
Passo 5 — Emitir relatório de QA
Produza um relatório estruturado:
## Relatório de QA — Task [num]: [título]
### Testes de Unidade
| Teste | Status | Observação |
|-------|--------|------------|
| [nome] | PASS/FAIL | [mensagem] |
### Testes de Integração
| Teste | Status | Observação |
|-------|--------|------------|
### Testes E2E
| Teste | Status | Observação |
|-------|--------|------------|
### Resultado Geral
[ ] APROVADO — todos os testes passaram
[ ] REPROVADO — [N] teste(s) falharam
Passo 6 — Marcar task como concluída (somente se aprovado)
Se o resultado geral for APROVADO:
- Abra
./tasks/prd-[nome-funcionalidade]/tasks.md. - Localize a linha correspondente à task executada no formato
- [ ] X.0 [título]. - Substitua
- [ ]por- [x]. - Salve o arquivo e confirme a atualização ao usuário.
Se o resultado for REPROVADO:
- Liste os testes que falharam com detalhes.
- Não marque a task como concluída.
- Retorne para a Fase 4 para correção.
Restrições críticas da Fase 6:
- Nunca marque a task como concluída sem que todos os testes passem.
- Nunca pule testes definidos na task — registre todos, mesmo os que passaram.
Error Handling
- Se o PRD não existir ao iniciar a Fase 2 ou 3, informar o usuário e solicitar execução da Fase 1 primeiro.
- Se a Tech Spec não existir ao iniciar a Fase 3, 4 ou 5, informar o usuário e solicitar execução da Fase 2 primeiro.
- Se o arquivo da task não existir ao iniciar as Fases 4, 5 ou 6, informar o usuário e solicitar execução da Fase 3 primeiro.
- Se a Fase 5 retornar "Requer correções", interromper o fluxo automático e aguardar o usuário.
- Se a Fase 6 reprovar, interromper o fluxo automático e aguardar o usuário.
- Se o usuário não responder às perguntas de clarificação, reiterar a importância antes de prosseguir.
- Se um template em
assets/não for encontrado, informar o usuário imediatamente — nunca improvisar a estrutura do documento.