PRD Generator
Skill para criar especificacoes estruturadas atraves de dialogo iterativo.
Fluxo de Trabalho
OBJETIVO → CONTEXTO → REQUISITOS → CRITERIOS → GERACAO
FASE 1: OBJETIVO
Perguntas Obrigatorias
"O que voce quer construir?"
- Aguarde resposta antes de prosseguir
"Qual problema isso resolve?"
- Entender a dor/necessidade
"Quem vai usar isso?"
- Identificar usuarios/stakeholders
Regra
Faca UMA pergunta por vez. Nao sobrecarregue o usuario.
FASE 2: CONTEXTO (Automatica)
Acoes
Pesquisar codebase por termos relacionados:
Grep: palavras-chave mencionadas pelo usuario Glob: arquivos de modulos relacionadosMostrar descobertas:
"Encontrei esses arquivos relacionados: - app/modulo/routes.py (rotas existentes) - app/modulo/models.py (modelo X tem campo Y) Isso esta relacionado ao que voce precisa?"Confirmar entendimento antes de prosseguir
Regra
Sempre pesquise ANTES de perguntar detalhes tecnicos. Mostre o que encontrou para contextualizar.
FASE 3: REQUISITOS
Perguntas por Tipo
Feature Nova
- "Quais funcionalidades principais?"
- "Precisa de nova tela/rota?"
- "Quais dados precisa exibir/coletar?"
Bug Fix
- "Qual o comportamento atual?"
- "Qual o comportamento esperado?"
- "Como reproduzir?"
Integracao
- "Qual sistema externo?"
- "Quais dados sincronizar?"
- "Frequencia de sincronizacao?"
Refatoracao
- "O que esta ruim hoje?"
- "Como deveria ficar?"
- "Quais arquivos afetados?"
Regra
Adapte as perguntas ao tipo de tarefa identificado.
FASE 4: CRITERIOS DE ACEITE
Perguntas
"Como saber se funcionou?"
- Criterios objetivos e verificaveis
"Quais validacoes sao necessarias?"
- Campos obrigatorios, formatos, regras
"Casos de erro a tratar?"
- O que pode dar errado
Formato de Saida
Transformar respostas em checkboxes:
## Criterios de Aceite
- [ ] Rota /nova-tela acessivel
- [ ] Formulario valida campos X, Y, Z
- [ ] Dados salvos no banco corretamente
- [ ] Mensagem de sucesso exibida
- [ ] Erro tratado com mensagem amigavel
FASE 5: GERACAO
Acoes
Montar documento no formato padrao
Mostrar preview ao usuario:
"Vou gerar o seguinte documento: [PREVIEW DO CONTEUDO] Posso salvar em .claude/ralph-loop/specs/nome-feature.md?"Salvar arquivo apos confirmacao
Instruir proximo passo:
"Spec salva em .claude/ralph-loop/specs/nome-feature.md Para executar: ./ralph-loop.sh plan 3
Formato do Documento
# [Nome da Feature]
## Objetivo
[Descricao do problema e solucao]
## Requisitos
1. [Requisito 1]
2. [Requisito 2]
3. [Requisito 3]
## Criterios de Aceite
- [ ] [Criterio 1]
- [ ] [Criterio 2]
- [ ] [Criterio 3]
## Notas Tecnicas
### Arquivos Relacionados
- [arquivo1.py] - [descricao]
- [arquivo2.html] - [descricao]
### Padroes a Seguir
- Consultar CLAUDE.md para nomes de campos
- Usar filtro numero_br para formatacao
- Adicionar link no menu (base.html)
REGRAS CRITICAS
1. Uma Pergunta Por Vez
ERRADO:
"Qual o objetivo? Quem vai usar? Quais funcionalidades?"
CERTO:
"Qual o objetivo?"
[aguarda resposta]
"Quem vai usar?"
[aguarda resposta]
2. Pesquisar Antes de Perguntar
ERRADO:
"Qual modelo usar?"
CERTO:
"Encontrei o modelo CarteiraPrincipal com campos X, Y, Z.
Voce quer usar esse modelo ou criar um novo?"
3. Confirmar Antes de Gerar
ERRADO:
[gera arquivo direto]
CERTO:
"Vou gerar esse documento: [preview]
Posso salvar?"
4. Instruir Proximo Passo
ERRADO:
"Pronto, arquivo salvo."
CERTO:
"Arquivo salvo em .claude/ralph-loop/specs/nome.md
Proximo passo:
./ralph-loop.sh plan 3"
REFERENCIAS
- question-framework.md - Perguntas detalhadas por tipo
- spec-templates.md - Templates completos
EXEMPLOS DE USO
Usuario diz: "cria um PRD para dashboard de vendas"
Skill: "O que voce quer ver nesse dashboard de vendas?"
User: "Total vendido no mes, top produtos, top clientes"
Skill: [pesquisa codebase]
"Encontrei app/carteira/ com dados de pedidos.
O modelo CarteiraPrincipal tem: num_pedido, cod_produto,
preco_produto_pedido, qtd_produto_pedido.
Posso usar esses dados?"
User: "Sim"
Skill: "Quem vai acessar esse dashboard?"
User: "Gerentes comerciais"
Skill: "Como saber se o dashboard esta correto?"
User: "Os totais batem com o relatorio do Odoo"
Skill: [monta preview]
"Vou gerar:
# Dashboard de Vendas
## Objetivo
Dashboard para gerentes comerciais visualizarem...
Posso salvar em .claude/ralph-loop/specs/dashboard-vendas.md?"
User: "Sim"
Skill: [salva arquivo]
"Pronto! Arquivo salvo em .claude/ralph-loop/specs/dashboard-vendas.md
Para implementar:
./ralph-loop.sh plan 3"