Escrever especificação
Entrada: work/<feature>/intent.md. Saída: work/<feature>/spec.md a partir de factory/templates/spec.md.
- Leia
intent.md,CLAUDE.mde as partes do código que a alteração afetará. Uma especificação escrita sem ler o código ignora restrições; essa é a falha mais comum. - Escreva histórias de usuário em ordem de prioridade (P1, P2, P3). Cada história P1 deve ser independentemente entregável e testável.
- Atribua a cada requisito funcional um ID estável (
FR-001) e a cada critério de sucesso um também (SC-001). Revisões e testes referenciam esses IDs. - Sinalize inline, nunca resolva silenciosamente:
[NEEDS CLARIFICATION: ...]para qualquer decisão que a intenção não resolva[POLICY: privacidade | segurança | legal | dinheiro | marca]sempre que uma regra se aplicar, informando a regra
- Escreva a seção de design apenas na profundidade que o plano necessitar: alterações de dados, interfaces, estados, casos de erro.
- Liste o que está explicitamente fora do escopo.
- Apresente a especificação, resolva cada
[NEEDS CLARIFICATION]com o humano e, em seguida, salve. Fazer commit despec.mdé o gatilho para o modo de plano.