Refinar e aprofundar o backlog
Transforme uma entrada vaga em um item de backlog compreensível e, quando a
intenção exigir especificação, aprofunde as decisões até produzir um brief
testável. Esta é a segunda etapa sequencial do framework. Ela reúne registro,
refinamento e descoberta sem transformar o backlog em fonte normativa.
Orquestrar a conversa
Ao concluir esta etapa ou detectar trabalho de outra etapa, anuncie
Pendência detectada: <descrição> — ação: resolvendo nesta etapa e resolva-a
quando pertencer ao próprio escopo. Quando houver troca de responsabilidade,
anuncie Transição automática: $specsfy-02-backlog → $<destino> — motivo: <motivo> — resultado esperado: <resultado> e carregue imediatamente a skill
de destino, sem pedir confirmação nem repetir o comando. Continue na mesma
conversa.
Depois de uma correção necessária a esta etapa, anuncie Retomada automática: $<destino> → $specsfy-02-backlog — pendência resolvida: <resultado> e retome-a
imediatamente. Reavalie o estado após cada handoff para evitar ciclos. O handoff
não exige confirmação; ações sensíveis continuam exigindo autorização
específica.
Buscar duplicatas e referências
- Extraia termos derivados do pedido do usuário, incluindo nomes do domínio e
equivalentes evidentes já usados na conversa.
- Antes de criar ou atualizar o item, pesquise esses termos em:
specs/inbox/*.md;
specs/backlog/*.md;
specs/specs/*/spec.md;
docs/**/*.md.
- Leia somente resultados plausíveis e classifique cada relação:
- possível duplicata: problema, pessoa, resultado e contexto
substancialmente iguais;
- backlog relacionado: item complementar, dependência ou precedente;
- spec relacionada: comportamento definido ou entregue que limita o
item;
- documentação relacionada: vocabulário, regra ou contexto do projeto.
- Apresente correspondências materiais com seus caminhos. Diante de possível
duplicata, confirme com o usuário se deve atualizar o item ou registrar uma
diferença real.
- Registre fontes úteis em
Referências relacionadas, com caminho relativo e
tipo de relação. Não transforme uma decisão encontrada em declaração do
usuário.
Se uma resposta mudar materialmente os termos, o problema, a pessoa, o
resultado ou o contexto, repita a busca.
Garantir a captura mínima
- Preserve a formulação original recebida na conversa ou em
specs/inbox/<data-hora>-<slug>.md. Separe declaração, inferência e aberto.
- Confirme se o contexto esclarece:
- problema percebido;
- pessoa afetada ou beneficiada;
- resultado ou valor esperado;
- contexto suficiente para distinguir a entrada de pedidos semelhantes.
- Se algo estiver ausente, vago, contraditório ou ambíguo, escolha a lacuna de
maior impacto e faça uma pergunta por vez.
- Reavalie as lacunas depois de cada resposta. Não transforme os itens em
questionário fixo nem repita informação já fornecida.
- Não crie nem atualize o arquivo enquanto algum item essencial continuar
ausente ou ambíguo. Se a pessoa não souber responder, explique a lacuna sem
inventar conteúdo.
A captura mínima não exige solução técnica, critérios completos de aceitação
ou prioridade. Esses dados podem amadurecer no aprofundamento.
Criar ou atualizar o item
- Se a pessoa apenas quiser explorar sem registrar, converse e confirme antes
de escrever.
- Se existir item correspondente, atualize-o sem mudar seu ID e preserve a
formulação anterior.
- Se a origem for
specs/inbox/, registre esse caminho em
Referências relacionadas; não altere nem apague a captura.
- Para criar um item novo, execute:
python3 -B <diretório-da-skill>/scripts/iniciar_backlog.py \
--title "<título curto>" \
--idea "<formulação original>" \
--problem "<problema percebido>" \
--person "<pessoa afetada ou beneficiada>" \
--result "<resultado ou valor esperado>" \
--context "<contexto que distingue a ideia>" \
[--slug <slug>] [--root <raiz>]
- Use o caminho absoluto impresso pelo script. Ele prefere
.specsfy/templates/custom/Backlog.md e recorre a
.specsfy/templates/Backlog.md.
Organizar e priorizar
Leia references/backlog-quality.md ao estruturar, refinar, priorizar ou
avaliar prontidão.
- Classifique, quando conhecido, em Produto → Épico → Funcionalidade → item.
- Use tipos como épico, história, regra, técnico e melhoria sem confundir tipo
com prioridade.
- Ordene por valor, risco, dependências, urgência, esforço, desbloqueios e
incerteza; não marque tudo como prioridade alta.
- Aprofunde campos conforme risco e complexidade. Autenticação, pagamentos,
permissões, privacidade e operações assíncronas exigem mais cuidado.
- Prefira comportamento observável a solução de interface.
- Torne atributos de qualidade mensuráveis quando forem materiais.
- Use listas, fluxos, cenários ou matrizes quando reduzirem ambiguidade.
Aprofundar para a especificação
Quando a pessoa pedir aprofundamento, promoção ou criação de uma spec:
- Leia a entrada de
specs/inbox/, o item de specs/backlog/ ou a spec
indicada. Se houver mais de um candidato, pergunte qual aprofundar.
- Resuma em uma frase o problema, a pessoa e o resultado percebido.
- Separe o que está decidido do que pode mudar escopo, experiência, segurança,
dados, testes ou arquitetura.
- Leia
references/discovery-map.md para selecionar perguntas relevantes;
não percorra o mapa mecanicamente.
- Leia
../specsfy-03-specify/references/mcr-10.md e faça a análise categorial
silenciosamente antes da primeira pergunta.
- Leia
references/specialists.md somente quando tecnologia ou disciplina
exigir contexto adicional.
Conduzir a descoberta adaptativa
Execute um ciclo sem limite máximo de perguntas:
- Antes de cada pergunta, releia a entrada, as decisões confirmadas, o
contexto acumulado e a nova resposta, além da evidência aplicável.
- Reclassifique lacunas e dependências. Continue enquanto existir lacuna aplicável;
encerre quando cada uma estiver decidida, não aplicável ou resolvida por
evidência.
- Selecione a lacuna de maior
impacto × incerteza, priorizando P1, P2 e P3,
e faça uma pergunta por vez.
- Registre a resposta original, a decisão normalizada e seus efeitos. Volte ao
primeiro passo; não reutilize uma fila fixa.
A partir da 11ª pergunta, inclua a opção explícita avançar em todas as
rodadas. Antes disso, não ofereça essa saída. Se a pessoa escolher avançar:
- preserve as lacunas não resolvidas, com impacto e estado;
- não preencha respostas por inferência;
- encerre somente o ciclo atual;
- permita o handoff solicitado, mantendo
Status: Draft e
Definition Gate: Pending até resolver as lacunas aplicáveis.
Durante a conversa:
- ofereça 2–3 opções mutuamente exclusivas quando reduzirem o esforço e
recomende uma com justificativa curta;
- aceite respostas livres e use-as na reanálise;
- preserve termos originais e diferencie declaração, inferência, hipótese,
decisão, conflito e aberto;
- confirme intenção operacional por síntese;
- não recite as dez categorias nem faça uma pergunta por categoria.
Garanta cobertura suficiente de problema, atores, resultado, escopo, jornadas,
falhas, limites, regras, dados, segurança, privacidade, desempenho,
acessibilidade, restrições existentes e sinais objetivos de aceite e sucesso.
Manter o item
Use exatamente specs/backlog/<NNNN>-<slug>.md e mantenha:
Status: Captured enquanto o item estiver apenas registrado;
Status: Refining durante refinamento ou descoberta;
Status: Ready for specification quando o brief estiver suficiente;
Status: Promoted depois que uma spec derivada existir.
Mantenha as metainformações na tabela abaixo do título. Não invente prioridade,
prazo, stakeholder, solução ou evidência. Use Pronto para desenvolvimento
como diagnóstico, nunca como autorização de implementação.
Encerrar
Apresente um Brief pronto para especificar com:
- Problema e objetivo.
- Atores.
- Escopo e fora de escopo.
- Jornadas e regras essenciais.
- Critérios de aceite em Given/When/Then.
- Restrições técnicas e de qualidade.
- Suposições.
- Decisões abertas ou
Nenhuma lacuna aplicável.
- Vocabulário ambíguo e inferências confirmadas.
Atualize o item de backlog quando a pessoa autorizar esse registro. Quando o
brief estiver suficiente ou a pessoa escolher avançar, retorne
automaticamente para $specsfy-update-spec se a etapa foi chamada por mudança
tardia em spec aprovada. Para criar ou consolidar a definição inicial, chame
$specsfy-03-specify. No caso de avançar, entregue brief parcial e informe
as lacunas que impedem o Definition Gate.
Limites
- Não alterar nem apagar entradas de Inbox.
- Não criar
spec.md, tarefas, research, testes ou código.
- Não inventar stakeholders, integrações, restrições ou decisões.
- Não transformar hipótese técnica em requisito.
- Não mover nem apagar item existente sem confirmação.
1---2name: specsfy-02-backlog-23description: Use quando o usuário quer transformar uma captura de `specs/inbox/`, uma oportunidade, um problema ou um item existente em backlog pronto para especificação, inclusive por transição automática. Pesquisa duplicatas e referências, cria ou atualiza `specs/backlog/`, faz perguntas adaptativas, aplica o MCR-10 e produz um brief testável. Para apenas guardar um texto sem perguntas use specsfy-01-inbox; não use para escrever spec.md, tarefas, testes ou implementação.4---56# Refinar e aprofundar o backlog78Transforme uma entrada vaga em um item de backlog compreensível e, quando a9intenção exigir especificação, aprofunde as decisões até produzir um brief10testável. Esta é a segunda etapa sequencial do framework. Ela reúne registro,11refinamento e descoberta sem transformar o backlog em fonte normativa.1213## Orquestrar a conversa1415Ao concluir esta etapa ou detectar trabalho de outra etapa, anuncie16`Pendência detectada: <descrição> — ação: resolvendo nesta etapa` e resolva-a17quando pertencer ao próprio escopo. Quando houver troca de responsabilidade,18anuncie `Transição automática: $specsfy-02-backlog → $<destino> — motivo:19<motivo> — resultado esperado: <resultado>` e carregue imediatamente a skill20de destino, sem pedir confirmação nem repetir o comando. Continue na mesma21conversa.2223Depois de uma correção necessária a esta etapa, anuncie `Retomada automática:24$<destino> → $specsfy-02-backlog — pendência resolvida: <resultado>` e retome-a25imediatamente. Reavalie o estado após cada handoff para evitar ciclos. O handoff26não exige confirmação; ações sensíveis continuam exigindo autorização27específica.2829## Buscar duplicatas e referências30311. Extraia termos derivados do pedido do usuário, incluindo nomes do domínio e32 equivalentes evidentes já usados na conversa.332. Antes de criar ou atualizar o item, pesquise esses termos em:34 - `specs/inbox/*.md`;35 - `specs/backlog/*.md`;36 - `specs/specs/*/spec.md`;37 - `docs/**/*.md`.383. Leia somente resultados plausíveis e classifique cada relação:39 - **possível duplicata**: problema, pessoa, resultado e contexto40 substancialmente iguais;41 - **backlog relacionado**: item complementar, dependência ou precedente;42 - **spec relacionada**: comportamento definido ou entregue que limita o43 item;44 - **documentação relacionada**: vocabulário, regra ou contexto do projeto.454. Apresente correspondências materiais com seus caminhos. Diante de possível46 duplicata, confirme com o usuário se deve atualizar o item ou registrar uma47 diferença real.485. Registre fontes úteis em `Referências relacionadas`, com caminho relativo e49 tipo de relação. Não transforme uma decisão encontrada em declaração do50 usuário.5152Se uma resposta mudar materialmente os termos, o problema, a pessoa, o53resultado ou o contexto, repita a busca.5455## Garantir a captura mínima56571. Preserve a formulação original recebida na conversa ou em58 `specs/inbox/<data-hora>-<slug>.md`. Separe declaração, inferência e aberto.592. Confirme se o contexto esclarece:60 - problema percebido;61 - pessoa afetada ou beneficiada;62 - resultado ou valor esperado;63 - contexto suficiente para distinguir a entrada de pedidos semelhantes.643. Se algo estiver ausente, vago, contraditório ou ambíguo, escolha a lacuna de65 maior impacto e faça uma pergunta por vez.664. Reavalie as lacunas depois de cada resposta. Não transforme os itens em67 questionário fixo nem repita informação já fornecida.685. Não crie nem atualize o arquivo enquanto algum item essencial continuar69 ausente ou ambíguo. Se a pessoa não souber responder, explique a lacuna sem70 inventar conteúdo.7172A captura mínima não exige solução técnica, critérios completos de aceitação73ou prioridade. Esses dados podem amadurecer no aprofundamento.7475## Criar ou atualizar o item76771. Se a pessoa apenas quiser explorar sem registrar, converse e confirme antes78 de escrever.792. Se existir item correspondente, atualize-o sem mudar seu ID e preserve a80 formulação anterior.813. Se a origem for `specs/inbox/`, registre esse caminho em82 `Referências relacionadas`; não altere nem apague a captura.834. Para criar um item novo, execute:8485```bash86python3 -B <diretório-da-skill>/scripts/iniciar_backlog.py \87 --title "<título curto>" \88 --idea "<formulação original>" \89 --problem "<problema percebido>" \90 --person "<pessoa afetada ou beneficiada>" \91 --result "<resultado ou valor esperado>" \92 --context "<contexto que distingue a ideia>" \93 [--slug <slug>] [--root <raiz>]94```95965. Use o caminho absoluto impresso pelo script. Ele prefere97 `.specsfy/templates/custom/Backlog.md` e recorre a98 `.specsfy/templates/Backlog.md`.99100## Organizar e priorizar101102Leia `references/backlog-quality.md` ao estruturar, refinar, priorizar ou103avaliar prontidão.104105- Classifique, quando conhecido, em Produto → Épico → Funcionalidade → item.106- Use tipos como épico, história, regra, técnico e melhoria sem confundir tipo107 com prioridade.108- Ordene por valor, risco, dependências, urgência, esforço, desbloqueios e109 incerteza; não marque tudo como prioridade alta.110- Aprofunde campos conforme risco e complexidade. Autenticação, pagamentos,111 permissões, privacidade e operações assíncronas exigem mais cuidado.112- Prefira comportamento observável a solução de interface.113- Torne atributos de qualidade mensuráveis quando forem materiais.114- Use listas, fluxos, cenários ou matrizes quando reduzirem ambiguidade.115116## Aprofundar para a especificação117118Quando a pessoa pedir aprofundamento, promoção ou criação de uma spec:1191201. Leia a entrada de `specs/inbox/`, o item de `specs/backlog/` ou a spec121 indicada. Se houver mais de um candidato, pergunte qual aprofundar.1222. Resuma em uma frase o problema, a pessoa e o resultado percebido.1233. Separe o que está decidido do que pode mudar escopo, experiência, segurança,124 dados, testes ou arquitetura.1254. Leia `references/discovery-map.md` para selecionar perguntas relevantes;126 não percorra o mapa mecanicamente.1275. Leia `../specsfy-03-specify/references/mcr-10.md` e faça a análise categorial128 silenciosamente antes da primeira pergunta.1296. Leia `references/specialists.md` somente quando tecnologia ou disciplina130 exigir contexto adicional.131132## Conduzir a descoberta adaptativa133134Execute um ciclo sem limite máximo de perguntas:1351361. Antes de cada pergunta, releia a entrada, as decisões confirmadas, o137 contexto acumulado e a nova resposta, além da evidência aplicável.1382. Reclassifique lacunas e dependências. Continue enquanto existir lacuna aplicável;139 encerre quando cada uma estiver decidida, não aplicável ou resolvida por140 evidência.1413. Selecione a lacuna de maior `impacto × incerteza`, priorizando P1, P2 e P3,142 e faça uma pergunta por vez.1434. Registre a resposta original, a decisão normalizada e seus efeitos. Volte ao144 primeiro passo; não reutilize uma fila fixa.145146A partir da 11ª pergunta, inclua a opção explícita `avançar` em todas as147rodadas. Antes disso, não ofereça essa saída. Se a pessoa escolher `avançar`:148149- preserve as lacunas não resolvidas, com impacto e estado;150- não preencha respostas por inferência;151- encerre somente o ciclo atual;152- permita o handoff solicitado, mantendo `Status: Draft` e153 `Definition Gate: Pending` até resolver as lacunas aplicáveis.154155Durante a conversa:156157- ofereça 2–3 opções mutuamente exclusivas quando reduzirem o esforço e158 recomende uma com justificativa curta;159- aceite respostas livres e use-as na reanálise;160- preserve termos originais e diferencie declaração, inferência, hipótese,161 decisão, conflito e aberto;162- confirme intenção operacional por síntese;163- não recite as dez categorias nem faça uma pergunta por categoria.164165Garanta cobertura suficiente de problema, atores, resultado, escopo, jornadas,166falhas, limites, regras, dados, segurança, privacidade, desempenho,167acessibilidade, restrições existentes e sinais objetivos de aceite e sucesso.168169## Manter o item170171Use exatamente `specs/backlog/<NNNN>-<slug>.md` e mantenha:172173- `Status: Captured` enquanto o item estiver apenas registrado;174- `Status: Refining` durante refinamento ou descoberta;175- `Status: Ready for specification` quando o brief estiver suficiente;176- `Status: Promoted` depois que uma spec derivada existir.177178Mantenha as metainformações na tabela abaixo do título. Não invente prioridade,179prazo, stakeholder, solução ou evidência. Use `Pronto para desenvolvimento`180como diagnóstico, nunca como autorização de implementação.181182## Encerrar183184Apresente um `Brief pronto para especificar` com:1851861. Problema e objetivo.1872. Atores.1883. Escopo e fora de escopo.1894. Jornadas e regras essenciais.1905. Critérios de aceite em Given/When/Then.1916. Restrições técnicas e de qualidade.1927. Suposições.1938. Decisões abertas ou `Nenhuma lacuna aplicável`.1949. Vocabulário ambíguo e inferências confirmadas.195196Atualize o item de backlog quando a pessoa autorizar esse registro. Quando o197brief estiver suficiente ou a pessoa escolher `avançar`, retorne198automaticamente para `$specsfy-update-spec` se a etapa foi chamada por mudança199tardia em spec aprovada. Para criar ou consolidar a definição inicial, chame200`$specsfy-03-specify`. No caso de `avançar`, entregue brief parcial e informe201as lacunas que impedem o Definition Gate.202203## Limites204205- Não alterar nem apagar entradas de Inbox.206- Não criar `spec.md`, tarefas, research, testes ou código.207- Não inventar stakeholders, integrações, restrições ou decisões.208- Não transformar hipótese técnica em requisito.209- Não mover nem apagar item existente sem confirmação.